*/
interface DatabaseBackend extends FrameworkDatabase {
/**
- * Makes sure that the database connection is up and alive
+ * Getter for last read file
+ *
+ * @return $lastFile The last read file's name with full path
+ */
+ function getLastFile ();
+
+ /**
+ * Getter for last read file's content as an array
+ *
+ * @return $lastContent The array with elements 'header' and 'data'.
+ */
+ function getLastContents ();
+
+ /**
+ * Getter for file extension
+ *
+ * @return $fileExtension The array with elements 'header' and 'data'.
+ */
+ function getFileExtension ();
+
+ /**
+ * Getter for index key
+ *
+ * @return $indexKey Index key
+ */
+ function getIndexKey ();
+
+ /**
+ * Makes sure that the database connection is alive
*
* @return void
+ * @todo Do some checks on the database directory and files here
*/
function connectToDatabase ();
* Starts a SELECT query on the database by given return type, table name
* and search criteria
*
- * @param $tableName Name of the database table
- * @param $criteria Search criteria class
- * @return $resultData Result data of the query
+ * @param $tableName Name of the database table
+ * @param $searchInstance Local search criteria class
+ * @return $resultData Result data of the query
* @throws UnsupportedCriteriaException If the criteria is unsupported
- * @throws SqlException If an SQL error occurs
+ * @throws SqlException If an 'SQL error' occurs
*/
- function querySelect ($tableName, LocalSearchCriteria $criteriaInstance);
+ function querySelect ($tableName, LocalSearchCriteria $searchInstance);
/**
- * 'Inserts' a data set instance into a local file database folder
+ * "Inserts" a data set instance into a local file database folder
*
* @param $dataSetInstance A storeable data set
* @return void
function queryInsertDataSet (StoreableCriteria $dataSetInstance);
/**
- * 'Updates' a data set instance with a database layer
+ * "Updates" a data set instance with a database layer
*
* @param $dataSetInstance A storeable data set
* @return void
function queryUpdateDataSet (StoreableCriteria $dataSetInstance);
/**
- * Removes non-public data from given array.
+ * Getter for primary key of specified table or if not found null will be
+ * returned. This must be database-specific.
+ *
+ * @param $tableName Name of the table we need the primary key from
+ * @return $primaryKey Primary key column of the given table
+ */
+ function getPrimaryKeyOfTable ($tableName);
+
+ /**
+ * Removes non-data from given array.
*
- * @param $data An array with possible non-public data that needs to be removed.
- * @return $data A cleaned up array with only public data.
+ * @param $data An array with possible non-data that needs to be removed.
+ * @return $data A cleaned up array with only data.
+ * @todo Add more generic non-data for removal
*/
function removeNonPublicDataFromArray (array $data);
+
+ /**
+ * Counts total rows of given table
+ *
+ * @param $tableName Table name
+ * @return $count Total rows of given table
+ */
+ function countTotalRows($tableName);
}
// [EOF]