* added the transaction stuff in the sql driver abstract and mysqli implementation
[vsc.git] / _res / _libs / models / sqldrivers / foosqldrivera.class.php
blobc3d5bd02233adaea75560c486a9ab43d635d872b
1 <?php
2 /**
3 * Pseudo interface to be implemented (ehm, inherited) by the rest
4 * of the DB classes.
5 */
6 abstract class fooSqlDriverA {
7 public $conn,
8 $error,
9 $link;
11 /**
12 * just a function to trigger an error in the eventuality of using
13 * an unsupported DB_TYPE connection (usually because of a config error)
15 * TODO: this can be done more elegantly using an exception in the
16 * sqlFactory class
18 * @param string $dbHost
19 * @param string $dbUser
20 * @param string $dbPass
22 public function __construct( $dbHost = null, $dbUser = null, $dbPass = null ) {}
24 public function __destruct() {}
26 private function connect() {}
28 abstract public function getType ();
30 public function selectDatabase($incData) {}
32 public function escape ($incData) {}
34 public function query($query) {}
36 public function getRow () {}
38 public function getAssoc () {}
40 public function getArray () {}
42 public function getFirst () {}
44 public function close () {}
46 abstract public function startTransaction ($bAutoCommit = false);
48 abstract public function rollBackTransaction ();
50 abstract public function commitTransaction ();
52 abstract public function _SELECT($incObj);
54 abstract public function _CREATE($sName);
56 abstract public function _SET();
58 abstract public function _INSERT($incOb);
60 abstract public function _VALUES ($incData);
62 abstract public function _UPDATE($incOb);
64 abstract public function _FROM($incData);
66 abstract public function _AND();
68 abstract public function _OR();
70 abstract public function _JOIN ($type);
72 abstract public function _AS($str);
74 abstract public function _LIMIT($start, $end = 0);
76 abstract public function _GROUP($incObj = null);
78 abstract public function _ORDER($orderBys = null);
80 abstract public function _WHERE ($clause);
83 abstract class interfaceSqlField {
84 static public $validTypes = array ('INT');
85 public $name;
86 private $type;
88 public function __construct () {}
89 public function __destruct () {}
92 abstract class interfaceSqlJoin {
93 private $type,
94 $state,
95 $leftTable,
96 $leftField,
97 $rightTable,
98 $rightField;
100 public function __construct () {}
101 public function __destruct () {}
104 abstract class interfaceSqlResource {
105 public $instance;
107 public function __construct () {}
108 public function __destruct () {}
111 class interfaceSqlOrder {
112 public function __construct () {}
113 public function __destruct () {}