Index: branches/5.3.x/core/kernel/db/i_db_connection.php =================================================================== diff -u -N -r15919 -r15922 --- branches/5.3.x/core/kernel/db/i_db_connection.php (.../i_db_connection.php) (revision 15919) +++ branches/5.3.x/core/kernel/db/i_db_connection.php (.../i_db_connection.php) (revision 15922) @@ -21,33 +21,135 @@ interface IDBConnection { /** - * Performs sql query, that will change database content + * Checks if previous query execution raised an error. * + * @return bool + * @access public + */ + public function hasError(); + + /** + * Checks if connection to database is opened. + * + * @return bool + * @access public + */ + public function connectionOpened(); + + /** + * Setups the connection according given configuration. + * + * @param Array $config + * @return bool + * @access public + */ + public function setup($config); + + /** + * Returns first field of first line of recordset if query ok or false otherwise. + * * @param string $sql + * @param int $offset + * @return string + * @access public + */ + public function GetOne($sql, $offset = 0); + + /** + * Returns first row of recordset if query ok, false otherwise. + * + * @param string $sql + * @param int $offset + * @return Array + * @access public + */ + public function GetRow($sql, $offset = 0); + + /** + * Returns 1st column of recordset as one-dimensional array or false otherwise. + * + * Optional parameter $key_field can be used to set field name to be used as resulting array key. + * + * @param string $sql + * @param string $key_field + * @return Array + * @access public + */ + public function GetCol($sql, $key_field = null); + + /** + * Returns iterator for 1st column of a recordset or false in case of error. + * + * Optional parameter $key_field can be used to set field name to be used as resulting array key. + * + * @param string $sql + * @param string $key_field + * @return bool|kMySQLQueryCol + */ + public function GetColIterator($sql, $key_field = null); + + /** + * Queries db with $sql query supplied and returns rows selected if any, false otherwise. + * + * Optional parameter $key_field allows to set one of the query fields value as key in string array. + * + * @param string $sql + * @param string $key_field + * @param bool $no_debug + * @return Array + * @access public + */ + public function Query($sql, $key_field = null, $no_debug = false); + + /** + * Returns iterator to a recordset, produced from running $sql query. + * + * Queries db with $sql query supplied and returns kMySQLQuery iterator or false in case of error. + * Optional parameter $key_field allows to set one of the query fields value as key in string array. + * + * @param string $sql + * @param string $key_field + * @param bool $no_debug + * @param string $iterator_class + * @return kMySQLQuery|bool + * @access public + */ + public function GetIterator($sql, $key_field = null, $no_debug = false, $iterator_class = 'kMySQLQuery'); + + /** + * Free memory used to hold recordset handle. + * + * @access public + */ + public function Destroy(); + + /** + * Performs sql query, that will change database content. + * + * @param string $sql * @return bool * @access public */ public function ChangeQuery($sql); /** - * Returns auto increment field value from - * insert like operation if any, zero otherwise + * Returns auto increment field value from insert like operation if any, zero otherwise. * * @return int * @access public */ public function getInsertID(); /** - * Returns row count affected by last query + * Returns row count affected by last query. * * @return int * @access public */ public function getAffectedRows(); /** - * Returns LIMIT sql clause part for specific db + * Returns LIMIT sql clause part for specific db. * * @param int $offset * @param int $rows @@ -57,8 +159,7 @@ public function getLimitClause($offset, $rows); /** - * If it's a string, adds quotes and backslashes (only work since PHP 4.3.0) - * Otherwise returns as-is + * If it's a string, adds quotes and backslashes. Otherwise returns as-is. * * @param mixed $string * @return string @@ -67,7 +168,7 @@ public function qstr($string); /** - * Calls "qstr" function for each given array element + * Calls "qstr" function for each given array element. * * @param Array $array * @param string $function @@ -76,7 +177,7 @@ public function qstrArray($array, $function = 'qstr'); /** - * Escapes strings (only work since PHP 4.3.0) + * Escapes string. * * @param mixed $string * @return string @@ -85,15 +186,15 @@ public function escape($string); /** - * Returns last error code occurred + * Returns last error code occurred. * * @return int * @access public */ public function getErrorCode(); /** - * Returns last error message + * Returns last error message. * * @return string * @access public @@ -102,7 +203,7 @@ /** * Performs insert of given data (useful with small number of queries) - * or stores it to perform multiple insert later (useful with large number of queries) + * or stores it to perform multiple insert later (useful with large number of queries). * * @param Array $fields_hash * @param string $table @@ -114,7 +215,7 @@ public function doInsert($fields_hash, $table, $type = 'INSERT', $insert_now = true); /** - * Update given field values to given record using $key_clause + * Update given field values to given record using $key_clause. * * @param Array $fields_hash * @param string $table @@ -125,7 +226,7 @@ public function doUpdate($fields_hash, $table, $key_clause); /** - * Allows to detect table's presence in database + * Allows to detect table's presence in database. * * @param string $table_name * @param bool $force @@ -135,15 +236,15 @@ public function TableFound($table_name, $force = false); /** - * Returns query processing statistics + * Returns query processing statistics. * * @return Array * @access public */ public function getQueryStatistics(); /** - * Get status information from SHOW STATUS in an associative array + * Get status information from SHOW STATUS in an associative array. * * @param string $which * @return Array