/
Adapter.php
executable file
·137 lines (137 loc) · 4.13 KB
/
Adapter.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/**
* Adapter Interface
*
* @file RedBean/Adapter.php
* @desc Describes the API for a RedBean Database Adapter.
* @author Gabor de Mooij and the RedBeanPHP Community
* @license BSD/GPLv2
*
* (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 RedBean_Adapter {
/**
* Returns the latest SQL statement
*
* @return string $SQLString SQLString
*/
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 SQL
* @param array $aValues values
* @param boolean $noevent no event firing
*/
public function exec($sql , $aValues = 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 SQL
* @param array $aValues values
*/
public function get($sql, $aValues = 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 SQL
* @param array $aValues values to bind
*
* @return array $aMultiDimArray row
*/
public function getRow($sql, $aValues = 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 SQL
* @param array $aValues values to bind
*
* @return array $aSingleDimArray column
*/
public function getCol($sql, $aValues = 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 SQL
* @param array $aValues values to bind
*
* @return string $sSingleValue value from cell
*/
public function getCell($sql, $aValues = 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 SQL
* @param array $values values to bind
*
* @return array $associativeArray associative array result set
*/
public function getAssoc($sql, $values = array());
/**
* Returns the latest insert ID.
*
* @return integer $id primary key ID
*/
public function getInsertID();
/**
* Returns the number of rows that have been
* affected by the last update statement.
*
* @return integer $count number of rows affected
*/
public function getAffectedRows();
/**
* 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 object $driver driver
*/
public function getDatabase();
/**
* This method is part of the RedBean Transaction Management
* mechanisms.
* Starts a transaction.
*/
public function startTransaction();
/**
* This method is part of the RedBean Transaction Management
* mechanisms.
* Commits the transaction.
*/
public function commit();
/**
* This method is part of the RedBean Transaction Management
* mechanisms.
* Rolls back the transaction.
*/
public function rollback();
/**
* Closes database connection.
*/
public function close();
}