]> source.dussan.org Git - nextcloud-server.git/commitdiff
Extend \OCP\IDBConnection to cover more use cases
authorRobin Appelman <icewind@owncloud.com>
Wed, 10 Sep 2014 11:07:51 +0000 (13:07 +0200)
committerRobin Appelman <icewind@owncloud.com>
Wed, 22 Oct 2014 10:26:43 +0000 (12:26 +0200)
lib/public/idbconnection.php

index 3e6624e07e942079f2c2d771cc4f884d5203b76d..d7cce2e818b31dad61b82f19a6c99f0c8c09e0c9 100644 (file)
@@ -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);
 }