*
* @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-interface DatabaseBackend extends FrameworkDatabaseInterface {
+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
* @throws SqlException If an SQL error occurs
*/
function queryUpdateDataSet (StoreableCriteria $dataSetInstance);
+
+ /**
+ * 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-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]