Version 1
[yaffs-website] / vendor / gabordemooij / redbean / RedBeanPHP / Adapter.php
diff --git a/vendor/gabordemooij/redbean/RedBeanPHP/Adapter.php b/vendor/gabordemooij/redbean/RedBeanPHP/Adapter.php
new file mode 100755 (executable)
index 0000000..5d91a90
--- /dev/null
@@ -0,0 +1,190 @@
+<?php
+
+namespace RedBeanPHP;
+
+/**
+ * Adapter Interface.
+ * Describes the API for a RedBeanPHP Database Adapter.
+ * This interface defines the API contract for
+ * a RedBeanPHP Database Adapter.
+ *
+ * @file    RedBeanPHP/Adapter.php
+ * @author  Gabor de Mooij and the RedBeanPHP Community
+ * @license BSD/GPLv2
+ *
+ * @copyright
+ * (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community.
+ * This source file is subject to the BSD/GPLv2 License that is bundled
+ * with this source code in the file license.txt.
+ */
+interface Adapter
+{
+       /**
+        * Should returns a string containing the most recent SQL query
+        * that has been processed by the adapter.
+        *
+        * @return string
+        */
+       public function getSQL();
+
+       /**
+        * Executes an SQL Statement using an array of values to bind
+        * If $noevent is TRUE then this function will not signal its
+        * observers to notify about the SQL execution; this to prevent
+        * infinite recursion when using observers.
+        *
+        * @param string  $sql      string containing SQL code for database
+        * @param array   $bindings array of values to bind to parameters in query string
+        * @param boolean $noevent  no event firing
+        *
+        * @return void
+        */
+       public function exec( $sql, $bindings = array(), $noevent = FALSE );
+
+       /**
+        * Executes an SQL Query and returns a resultset.
+        * This method returns a multi dimensional resultset similar to getAll
+        * The values array can be used to bind values to the place holders in the
+        * SQL query.
+        *
+        * @param string $sql      string containing SQL code for database
+        * @param array  $bindings array of values to bind to parameters in query string
+        *
+        * @return array
+        */
+       public function get( $sql, $bindings = array() );
+
+       /**
+        * Executes an SQL Query and returns a resultset.
+        * This method returns a single row (one array) resultset.
+        * The values array can be used to bind values to the place holders in the
+        * SQL query.
+        *
+        * @param string $sql      string containing SQL code for database
+        * @param array  $bindings array of values to bind to parameters in query string
+        *
+        * @return array
+        */
+       public function getRow( $sql, $bindings = array() );
+
+       /**
+        * Executes an SQL Query and returns a resultset.
+        * This method returns a single column (one array) resultset.
+        * The values array can be used to bind values to the place holders in the
+        * SQL query.
+        *
+        * @param string $sql      string containing SQL code for database
+        * @param array  $bindings array of values to bind to parameters in query string
+        *
+        * @return array
+        */
+       public function getCol( $sql, $bindings = array() );
+
+       /**
+        * Executes an SQL Query and returns a resultset.
+        * This method returns a single cell, a scalar value as the resultset.
+        * The values array can be used to bind values to the place holders in the
+        * SQL query.
+        *
+        * @param string $sql      string containing SQL code for database
+        * @param array  $bindings array of values to bind to parameters in query string
+        *
+        * @return string
+        */
+       public function getCell( $sql, $bindings = array() );
+
+       /**
+        * Executes the SQL query specified in $sql and takes
+        * the first two columns of the resultset. This function transforms the
+        * resultset into an associative array. Values from the the first column will
+        * serve as keys while the values of the second column will be used as values.
+        * The values array can be used to bind values to the place holders in the
+        * SQL query.
+        *
+        * @param string $sql      string containing SQL code for database
+        * @param array  $bindings array of values to bind to parameters in query string
+        *
+        * @return array
+        */
+       public function getAssoc( $sql, $bindings = array() );
+
+       /**
+        * Executes the SQL query specified in $sql and indexes
+        * the row by the first column.
+        *
+        * @param string $sql      Sstring containing SQL code for databaseQL
+        * @param array  $bindings values to bind
+        *
+        * @return array
+        */
+       public function getAssocRow( $sql, $bindings = array() );
+
+       /**
+        * Returns the latest insert ID.
+        *
+        * @return integer
+        */
+       public function getInsertID();
+
+       /**
+        * Returns the number of rows that have been
+        * affected by the last update statement.
+        *
+        * @return integer
+        */
+       public function getAffectedRows();
+
+       /**
+        * Returns a database agnostic Cursor object.
+        *
+        * @param string $sql      string containing SQL code for database
+        * @param array  $bindings array of values to bind to parameters in query string
+        *
+        * @return Cursor
+        */
+       public function getCursor( $sql, $bindings = array() );
+
+       /**
+        * Returns the original database resource. This is useful if you want to
+        * perform operations on the driver directly instead of working with the
+        * adapter. RedBean will only access the adapter and never to talk
+        * directly to the driver though.
+        *
+        * @return mixed
+        */
+       public function getDatabase();
+
+       /**
+        * This method is part of the RedBean Transaction Management
+        * mechanisms.
+        * Starts a transaction.
+        *
+        * @return void
+        */
+       public function startTransaction();
+
+       /**
+        * This method is part of the RedBean Transaction Management
+        * mechanisms.
+        * Commits the transaction.
+        *
+        * @return void
+        */
+       public function commit();
+
+       /**
+        * This method is part of the RedBean Transaction Management
+        * mechanisms.
+        * Rolls back the transaction.
+        *
+        * @return void
+        */
+       public function rollback();
+
+       /**
+        * Closes database connection.
+        *
+        * @return void
+        */
+       public function close();
+}