Class Driver
Represents a database driver containing all specificities for a database engine including its SQL dialect.
Constants
- 
          
          
stringFEATURE_CTE ¶'cte'Common Table Expressions (with clause) support.
 - 
          
          
stringFEATURE_DISABLE_CONSTRAINT_WITHOUT_TRANSACTION ¶'disable-constraint-without-transaction'Disabling constraints without being in transaction support.
 - 
          
          
stringFEATURE_JSON ¶'json'Native JSON data type support.
 - 
          
          
stringFEATURE_QUOTE ¶'quote'PDO::quote() support.
 - 
          
          
stringFEATURE_SAVEPOINT ¶'savepoint'Transaction savepoint support.
 - 
          
          
stringFEATURE_TRUNCATE_WITH_CONSTRAINTS ¶'truncate-with-constraints'Truncate with foreign keys attached support.
 - 
          
          
stringFEATURE_WINDOW ¶'window'Window function support (all or partial clauses).
 - 
          
          
int|nullMAX_ALIAS_LENGTH ¶null - 
          
          
array<int>RETRY_ERROR_CODES ¶[] 
Property Summary
- 
        $_autoQuoting protected
boolIndicates whether the driver is doing automatic identifier quoting for all queries
 - 
        $_baseConfig protected
array<string, mixed>Base configuration that is merged into the user supplied configuration data.
 - 
        $_config protected
array<string, mixed>Configuration data.
 - 
        $_connection protected
PDOInstance of PDO.
 - 
        $_version protected
string|nullThe server version
 - 
        $connectRetries protected
intThe last number of connection retry attempts.
 
Method Summary
- 
          
__construct() public
Constructor
 - 
          
__debugInfo() public
Returns an array that can be used to describe the internal state of this object.
 - 
          
__destruct() public
Destructor
 - 
          
_connect() protected
Establishes a connection to the database server
 - 
          
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.
 - 
          
connect() abstract 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() abstract public
Returns whether php is able to use this driver for connecting to database.
 - 
          
getConnectRetries() public
Returns the number of connection retry attempts made.
 - 
          
getConnection() public
Get the internal PDO connection instance.
 - 
          
getMaxAliasLength() public
Returns the maximum alias length allowed. This can be different from the maximum identifier length for columns.
 - 
          
inTransaction() public
Returns whether a transaction is active for connection.
 - 
          
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() abstract 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() abstract 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() abstract public
Get the schema dialect.
 - 
          
schemaValue() public
Escapes values for use in schema definitions.
 - 
          
setConnection() public
Set the internal PDO connection instance.
 - 
          
supports() public
Returns whether the driver supports the feature.
 - 
          
supportsCTEs() public deprecated
Returns true if the server supports common table expressions.
 - 
          
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, as PDO_ODBC does not support it.
 - 
          
supportsSavePoints() public
Returns whether this driver supports save points for nested transactions.
 - 
          
version() public
Returns connected server version.
 
Method Detail
__construct() ¶ public
__construct(array<string, mixed> $config = [])
      Constructor
Parameters
- 
                
array<string, mixed>$config optional The configuration for the driver.
Throws
InvalidArgumentException__debugInfo() ¶ public
__debugInfo(): array<string, mixed>
      Returns an array that can be used to describe the internal state of this object.
Returns
array<string, mixed>_connect() ¶ protected
_connect(string $dsn, array<string, mixed> $config): bool
      Establishes a connection to the database server
Parameters
- 
                
string$dsn A Driver-specific PDO-DSN
- 
                
array<string, mixed>$config configuration to be used for creating connection
Returns
booltrue on success
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 - 
                
Cake\Database\ValueBinder$binder 
Returns
arrayconnect() ¶ abstract public
connect(): bool
      Establishes a connection to the database server.
Returns
booldisableAutoQuoting() ¶ public
disableAutoQuoting(): $this
      Disable auto quoting of identifiers in queries.
Returns
$thisdisableForeignKeySQL() ¶ public
disableForeignKeySQL(): string
      Get the SQL for disabling foreign keys.
Returns
stringenableAutoQuoting() ¶ public
enableAutoQuoting(bool $enable = true): $this
      Sets whether this driver should automatically quote identifiers in queries.
Parameters
- 
                
bool$enable optional 
Returns
$thisenableForeignKeySQL() ¶ public
enableForeignKeySQL(): string
      Get the SQL for enabling foreign keys.
Returns
stringenabled() ¶ abstract public
enabled(): bool
      Returns whether php is able to use this driver for connecting to database.
Returns
boolgetConnectRetries() ¶ public
getConnectRetries(): int
      Returns the number of connection retry attempts made.
Returns
intgetMaxAliasLength() ¶ public
getMaxAliasLength(): int|null
      Returns the maximum alias length allowed. This can be different from the maximum identifier length for columns.
Returns
int|nullMaximum alias length or null if no limit
inTransaction() ¶ public
inTransaction(): bool
      Returns whether a transaction is active for connection.
Returns
boolisAutoQuotingEnabled() ¶ public
isAutoQuotingEnabled(): bool
      Returns whether this driver should automatically quote identifiers in queries.
Returns
boollastInsertId() ¶ 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 - 
                
string|null$column optional 
Returns
string|intnewCompiler() ¶ public
newCompiler(): Cake\Database\QueryCompiler
      Returns an instance of a QueryCompiler.
Returns
Cake\Database\QueryCompilernewTableSchema() ¶ public
newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchema
      Constructs new TableSchema.
Parameters
- 
                
string$table - 
                
array$columns optional 
Returns
Cake\Database\Schema\TableSchemaprepare() ¶ public
prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface
      Prepares a sql statement to be executed.
Parameters
- 
                
Cake\Database\Query|string$query 
Returns
Cake\Database\StatementInterfacequeryTranslator() ¶ abstract 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 
Returns
Closurequote() ¶ public
quote(mixed $value, int $type = PDO::PARAM_STR): string
      Returns a value in a safe representation to be used in a query string
Parameters
- 
                
mixed$value - 
                
int$type optional 
Returns
stringquoteIdentifier() ¶ abstract 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 
Returns
stringreleaseSavePointSQL() ¶ public
releaseSavePointSQL(string|int $name): string
      Get the SQL for releasing a save point.
Parameters
- 
                
string|int$name Save point name or id
Returns
stringrollbackSavePointSQL() ¶ public
rollbackSavePointSQL(string|int $name): string
      Get the SQL for rollingback a save point.
Parameters
- 
                
string|int$name Save point name or id
Returns
stringsavePointSQL() ¶ public
savePointSQL(string|int $name): string
      Get the SQL for creating a save point.
Parameters
- 
                
string|int$name Save point name or id
Returns
stringschemaDialect() ¶ abstract 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\SchemaDialectschemaValue() ¶ public
schemaValue(mixed $value): string
      Escapes values for use in schema definitions.
Parameters
- 
                
mixed$value 
Returns
stringsetConnection() ¶ public
setConnection(object $connection): $this
      Set the internal PDO connection instance.
Parameters
- 
                
object$connection PDO instance.
Returns
$thissupports() ¶ public
supports(string $feature): bool
      Returns whether the driver supports the feature.
Defaults to true for FEATURE_QUOTE and FEATURE_SAVEPOINT.
Parameters
- 
                
string$feature Driver feature name
Returns
boolsupportsCTEs() ¶ public
supportsCTEs(): bool
      Returns true if the server supports common table expressions.
Returns
boolsupportsDynamicConstraints() ¶ public
supportsDynamicConstraints(): bool
      Returns whether the driver supports adding or dropping constraints to already created tables.
Returns
boolTrue if driver supports dynamic constraints.
supportsQuoting() ¶ public
supportsQuoting(): bool
      Checks if the driver supports quoting, as PDO_ODBC does not support it.
Returns
boolsupportsSavePoints() ¶ public
supportsSavePoints(): bool
      Returns whether this driver supports save points for nested transactions.
Returns
bool