Interface DriverInterface
Interface for database driver.
Constants
-
string
FEATURE_CTE ¶'cte'
Common Table Expressions (with clause) support.
-
string
FEATURE_DISABLE_CONSTRAINT_WITHOUT_TRANSACTION ¶'disable-constraint-without-transaction'
Disabling constraints without being in transaction support.
-
string
FEATURE_JSON ¶'json'
Native JSON data type support.
-
string
FEATURE_QUOTE ¶'quote'
PDO::quote() support.
-
string
FEATURE_SAVEPOINT ¶'savepoint'
Transaction savepoint support.
-
string
FEATURE_TRUNCATE_WITH_CONSTRAINTS ¶'truncate-with-constraints'
Truncate with foreign keys attached support.
-
string
FEATURE_WINDOW ¶'window'
Window function support (all or partial clauses).
Method Summary
-
beginTransaction() public
Starts a transaction.
-
commitTransaction() public
Commits a transaction.
-
compileQuery() public
Transforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string.
-
config() public @method
Get the configuration data used to create the driver.
-
connect() public
Establishes a connection to the database server.
-
disableAutoQuoting() public
Disable auto quoting of identifiers in queries.
-
disableForeignKeySQL() public
Get the SQL for disabling foreign keys.
-
disconnect() public
Disconnects from database server.
-
enableAutoQuoting() public
Sets whether this driver should automatically quote identifiers in queries.
-
enableForeignKeySQL() public
Get the SQL for enabling foreign keys.
-
enabled() public
Returns whether php is able to use this driver for connecting to database.
-
getConnectRetries() public @method
Returns the number of connection retry attempts made.
-
getConnection() public
Returns correct connection resource or object that is internally used.
-
getMaxAliasLength() public @method
Returns the maximum alias length allowed.
-
getRole() public @method
Returns the connection role this driver prforms.
-
inTransaction() public @method
Returns whether a transaction is active.
-
isAutoQuotingEnabled() public
Returns whether this driver should automatically quote identifiers in queries.
-
isConnected() public
Checks whether the driver is connected.
-
lastInsertId() public
Returns last id generated for a table or sequence in database.
-
newCompiler() public
Returns an instance of a QueryCompiler.
-
newTableSchema() public
Constructs new TableSchema.
-
prepare() public
Prepares a sql statement to be executed.
-
queryTranslator() public
Returns a callable function that will be used to transform a passed Query object. This function, in turn, will return an instance of a Query object that has been transformed to accommodate any specificities of the SQL dialect in use.
-
quote() public
Returns a value in a safe representation to be used in a query string
-
quoteIdentifier() public
Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words.
-
releaseSavePointSQL() public
Get the SQL for releasing a save point.
-
rollbackSavePointSQL() public
Get the SQL for rollingback a save point.
-
rollbackTransaction() public
Rollbacks a transaction.
-
savePointSQL() public
Get the SQL for creating a save point.
-
schema() public
Returns the schema name that's being used.
-
schemaDialect() public
Get the schema dialect.
-
schemaValue() public
Escapes values for use in schema definitions.
-
setConnection() public
Set the internal connection object.
-
supports() public @method
Checks whether a feature is supported by the driver.
-
supportsDynamicConstraints() public deprecated
Returns whether the driver supports adding or dropping constraints to already created tables.
-
supportsQuoting() public deprecated
Checks if the driver supports quoting.
-
supportsSavePoints() public deprecated
Returns whether this driver supports save points for nested transactions.
Method Detail
compileQuery() ¶ public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): array
Transforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string.
Parameters
-
Cake\Database\Query
$query The query to compile.
-
Cake\Database\ValueBinder
$binder The value binder to use.
Returns
array
config() ¶ public @method
config(): array
Get the configuration data used to create the driver.
Returns
array
connect() ¶ public
connect(): bool
Establishes a connection to the database server.
Returns
bool
Throws
Cake\Database\Exception\MissingConnectionException
If database connection could not be established.
disableAutoQuoting() ¶ public
disableAutoQuoting(): $this
Disable auto quoting of identifiers in queries.
Returns
$this
disableForeignKeySQL() ¶ public
disableForeignKeySQL(): string
Get the SQL for disabling foreign keys.
Returns
string
enableAutoQuoting() ¶ public
enableAutoQuoting(bool $enable = true): $this
Sets whether this driver should automatically quote identifiers in queries.
Parameters
-
bool
$enable optional Whether to enable auto quoting
Returns
$this
enableForeignKeySQL() ¶ public
enableForeignKeySQL(): string
Get the SQL for enabling foreign keys.
Returns
string
enabled() ¶ public
enabled(): bool
Returns whether php is able to use this driver for connecting to database.
Returns
bool
getConnectRetries() ¶ public @method
getConnectRetries(): int
Returns the number of connection retry attempts made.
Returns
int
getConnection() ¶ public
getConnection(): object
Returns correct connection resource or object that is internally used.
Returns
object
getMaxAliasLength() ¶ public @method
getMaxAliasLength(): int|null
Returns the maximum alias length allowed.
Returns
int|null
getRole() ¶ public @method
getRole(): string
Returns the connection role this driver prforms.
Returns
string
inTransaction() ¶ public @method
inTransaction(): bool
Returns whether a transaction is active.
Returns
bool
isAutoQuotingEnabled() ¶ public
isAutoQuotingEnabled(): bool
Returns whether this driver should automatically quote identifiers in queries.
Returns
bool
lastInsertId() ¶ public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Returns last id generated for a table or sequence in database.
Parameters
-
string|null
$table optional table name or sequence to get last insert value from.
-
string|null
$column optional the name of the column representing the primary key.
Returns
string|int
newCompiler() ¶ public
newCompiler(): Cake\Database\QueryCompiler
Returns an instance of a QueryCompiler.
Returns
Cake\Database\QueryCompiler
newTableSchema() ¶ public
newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchema
Constructs new TableSchema.
Parameters
-
string
$table The table name.
-
array
$columns optional The list of columns for the schema.
Returns
Cake\Database\Schema\TableSchema
prepare() ¶ public
prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface
Prepares a sql statement to be executed.
Parameters
-
Cake\Database\Query|string
$query The query to turn into a prepared statement.
Returns
Cake\Database\StatementInterface
queryTranslator() ¶ public
queryTranslator(string $type): Closure
Returns a callable function that will be used to transform a passed Query object. This function, in turn, will return an instance of a Query object that has been transformed to accommodate any specificities of the SQL dialect in use.
Parameters
-
string
$type The type of query to be transformed (select, insert, update, delete).
Returns
Closure
quote() ¶ public
quote(mixed $value, int $type): string
Returns a value in a safe representation to be used in a query string
Parameters
-
mixed
$value The value to quote.
-
int
$type Must be one of the \PDO::PARAM_* constants
Returns
string
quoteIdentifier() ¶ public
quoteIdentifier(string $identifier): string
Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words.
Parameters
-
string
$identifier The identifier expression to quote.
Returns
string
releaseSavePointSQL() ¶ public
releaseSavePointSQL(string|int $name): string
Get the SQL for releasing a save point.
Parameters
-
string|int
$name Save point name or id
Returns
string
rollbackSavePointSQL() ¶ public
rollbackSavePointSQL(string|int $name): string
Get the SQL for rollingback a save point.
Parameters
-
string|int
$name Save point name or id
Returns
string
savePointSQL() ¶ public
savePointSQL(string|int $name): string
Get the SQL for creating a save point.
Parameters
-
string|int
$name Save point name or id
Returns
string
schemaDialect() ¶ public
schemaDialect(): Cake\Database\Schema\SchemaDialect
Get the schema dialect.
Used by {@link \Cake\Database\Schema} package to reflect schema and generate schema.
If all the tables that use this Driver specify their own schemas, then this may return null.
Returns
Cake\Database\Schema\SchemaDialect
schemaValue() ¶ public
schemaValue(mixed $value): string
Escapes values for use in schema definitions.
Parameters
-
mixed
$value The value to escape.
Returns
string
setConnection() ¶ public
setConnection(object $connection): $this
Set the internal connection object.
Parameters
-
object
$connection The connection instance.
Returns
$this
supports() ¶ public @method
supports(string $feature): bool
Checks whether a feature is supported by the driver.
Parameters
-
string
$feature
Returns
bool
supportsDynamicConstraints() ¶ public
supportsDynamicConstraints(): bool
Returns whether the driver supports adding or dropping constraints to already created tables.
Returns
bool
supportsQuoting() ¶ public
supportsQuoting(): bool
Checks if the driver supports quoting.
Returns
bool
supportsSavePoints() ¶ public
supportsSavePoints(): bool
Returns whether this driver supports save points for nested transactions.
Returns
bool