From 97a6f5c46b508cca2c6b55c062945fee5da7f834 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 10 Sep 2014 13:07:51 +0200 Subject: Extend \OCP\IDBConnection to cover more use cases --- lib/public/idbconnection.php | 64 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 61 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/public/idbconnection.php b/lib/public/idbconnection.php index 3e6624e07e9..d7cce2e818b 100644 --- a/lib/public/idbconnection.php +++ b/lib/public/idbconnection.php @@ -43,6 +43,32 @@ interface IDBConnection { */ public function prepare($sql, $limit=null, $offset=null); + /** + * Executes an, optionally parameterized, SQL query. + * + * If the query is parameterized, a prepared statement is used. + * If an SQLLogger is configured, the execution is logged. + * + * @param string $query The SQL query to execute. + * @param string[] $params The parameters to bind to the query, if any. + * @param array $types The types the previous parameters are in. + * @return \Doctrine\DBAL\Driver\Statement The executed statement. + */ + public function executeQuery($query, array $params = array(), $types = array()); + + /** + * Executes an SQL INSERT/UPDATE/DELETE query with the given parameters + * and returns the number of affected rows. + * + * This method supports PDO binding types as well as DBAL mapping types. + * + * @param string $query The SQL query. + * @param array $params The query parameters. + * @param array $types The parameter types. + * @return integer The number of affected rows. + */ + public function executeUpdate($query, array $params = array(), array $types = array()); + /** * Used to get the id of the just inserted element * @param string $table the name of the table where we inserted the item @@ -71,19 +97,16 @@ interface IDBConnection { /** * Start a transaction - * @return bool TRUE on success or FALSE on failure */ public function beginTransaction(); /** * Commit the database changes done during a transaction that is in progress - * @return bool TRUE on success or FALSE on failure */ public function commit(); /** * Rollback the database changes done during a transaction that is in progress - * @return bool TRUE on success or FALSE on failure */ public function rollBack(); @@ -92,4 +115,39 @@ interface IDBConnection { * @return string */ public function getError(); + + /** + * Fetch the SQLSTATE associated with the last database operation. + * + * @return integer The last error code. + */ + public function errorCode(); + + /** + * Fetch extended error information associated with the last database operation. + * + * @return array The last error information. + */ + public function errorInfo(); + + /** + * Establishes the connection with the database. + * + * @return bool + */ + public function connect(); + + /** + * Close the database connection + */ + public function close(); + + /** + * Quotes a given input parameter. + * + * @param mixed $input Parameter to be quoted. + * @param int $type Type of the parameter. + * @return string The quoted parameter. + */ + public function quote($input, $type = \PDO::PARAM_STR); } -- cgit v1.2.3