<?php namespace Xentral\Components\Database\Adapter; use Generator; interface AdapterInterface { /** * @return void */ public function connect(); /** * @return void */ public function disconnect(); /** * @return bool */ public function inTransaction(); /** * @return void */ public function beginTransaction(); /** * @return void */ public function rollback(); /** * @return void */ public function commit(); /** * @return int */ public function lastInsertId(); /** * @param array $values * @param string $statement * * @return void */ public function perform($statement, array $values = []); /** * @param string $statement * @param array $values * * @return int */ public function fetchAffected($statement, array $values = []); /** * @param string $statement * @param array $values * * @return array */ public function fetchAll($statement, array $values = []); /** * @param string $statement * @param array $values * * @return array */ public function fetchAssoc($statement, array $values = []); /** * @param string $statement * @param array $values * @param bool $includeGroupColumn * * @return array */ public function fetchGroup($statement, array $values = [], $includeGroupColumn = false); /** * @param string $statement * @param array $values * * @return int|float|string|false false on empty result */ public function fetchValue($statement, array $values = []); /** * @param string $statement * @param array $values * * @return array */ public function fetchRow($statement, array $values = []); /** * @param string $statement * @param array $values * * @return array */ public function fetchCol($statement, array $values = []); /** * @param string $statement * @param array $values * * @return array */ public function fetchPairs($statement, array $values = []); /** * @param string $statement * @param array $values * * @return Generator */ public function yieldCol($statement, array $values = []); /** * @param string $statement * @param array $values * * @return Generator */ public function yieldAssoc($statement, array $values = []); /** * @param string $statement * @param array $values * * @return Generator */ public function yieldAll($statement, array $values = []); /** * @param string $statement * @param array $values * * @return Generator */ public function yieldPairs($statement, array $values = []); /** * Escapes values for "BOOLEAN" and (TINY)INT columns * * @param bool|null $value * @param bool $isNullable * * @return string */ public function escapeBool($value, $isNullable = false); /** * Escapes values for INT columns * * @param mixed $value * @param bool $isNullable * * @return string */ public function escapeInt($value, $isNullable = false); /** * Escapes values for FLOAT, DOUBLE and REAL columns * * @param mixed $value * @param bool $isNullable * * @return string */ public function escapeDecimal($value, $isNullable = false); /** * Escapes values for CHAR, VARCHAR, TEXT and BLOB columns * * @param mixed $value * @param bool $isNullable * * @return string */ public function escapeString($value, $isNullable = false); /** * Escapes and quotes an identifier (column or table name) * * @param string $value * * @return string */ public function escapeIdentifier($value); }