1 | <?php declare(strict_types=1); |
||
27 | abstract class AbstractPdo extends PDO implements DriverInterface |
||
28 | { |
||
29 | use RedisCacheTrait; |
||
30 | use LoggerAwareTrait; |
||
31 | |||
32 | /** @var array */ |
||
33 | protected $_config = []; |
||
34 | |||
35 | /** @var int */ |
||
36 | protected $_transactionCount = 0; |
||
37 | |||
38 | /** @var bool */ |
||
39 | protected $_supportsColumnMeta = false; |
||
40 | |||
41 | /** |
||
42 | * @return LoggerInterface |
||
43 | */ |
||
44 | public function getLogger() : LoggerInterface |
||
48 | |||
49 | /** |
||
50 | * @param array $config |
||
51 | * @param string $dsn |
||
52 | * @return AbstractPdo |
||
53 | */ |
||
54 | public function setConfig(array $config=[], string $dsn='') : AbstractPdo |
||
73 | |||
74 | /** |
||
75 | * @param string $key |
||
76 | * @return mixed |
||
77 | */ |
||
78 | public function getConfig(string $key) |
||
82 | |||
83 | /** |
||
84 | * @return array |
||
85 | */ |
||
86 | public function getAllConfig() : array |
||
90 | |||
91 | /** |
||
92 | * @return bool |
||
93 | */ |
||
94 | public function logQueries() : bool |
||
98 | |||
99 | /** |
||
100 | * @return int |
||
101 | */ |
||
102 | public function getTransactionDepth() : int |
||
106 | |||
107 | /** |
||
108 | * @return bool |
||
109 | */ |
||
110 | public function beginTransaction() : bool |
||
120 | |||
121 | /** |
||
122 | * @return bool |
||
123 | */ |
||
124 | public function commit() : bool |
||
135 | |||
136 | /** |
||
137 | * @return bool |
||
138 | */ |
||
139 | public function rollback() : bool |
||
150 | |||
151 | /** |
||
152 | * @param string $query |
||
153 | * @param integer $limit |
||
154 | * @param integer $offset |
||
155 | * @return string |
||
156 | */ |
||
157 | public function setLimit(string $query, int $limit=0, int $offset=0) : string |
||
173 | |||
174 | /** |
||
175 | * @return bool |
||
176 | */ |
||
177 | public function supportsColumnMeta() : bool |
||
181 | |||
182 | /** |
||
183 | * @param string $table |
||
184 | * @param string $column |
||
185 | * @return string |
||
186 | */ |
||
187 | abstract public function getFieldComment(string $table, string $column) : string; |
||
188 | |||
189 | /** |
||
190 | * @param bool $include_views |
||
191 | * @return array |
||
192 | */ |
||
193 | abstract public function getTables(bool $include_views=false) : array; |
||
194 | |||
195 | /** |
||
196 | * @param bool $include_views |
||
197 | * @param string $table |
||
198 | * @return Column[][] |
||
199 | */ |
||
200 | abstract public function getColumns(bool $include_views=false, string $table='') : array; |
||
201 | |||
202 | /** |
||
203 | * @param string $table |
||
204 | * @return ForeignKey[][] |
||
205 | */ |
||
206 | abstract public function getForeignKeys(string $table='') : array; |
||
207 | |||
208 | |||
209 | /** |
||
210 | * @param bool $include_views |
||
211 | * @param string $table |
||
212 | * @return array |
||
213 | */ |
||
214 | abstract public function getTableCounts(bool $include_views=false, string $table='') : array; |
||
215 | } |