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 protectedboolIndicates whether the driver is doing automatic identifier quoting for all queries 
- 
        $_baseConfig protectedarray<string, mixed>Base configuration that is merged into the user supplied configuration data. 
- 
        $_config protectedarray<string, mixed>Configuration data. 
- 
        $_connection protectedPDOInstance of PDO. 
- 
        $_version protectedstring|nullThe server version 
- 
        $connectRetries protectedintThe last number of connection retry attempts. 
Method Summary
- 
          __construct() publicConstructor 
- 
          __debugInfo() publicReturns an array that can be used to describe the internal state of this object. 
- 
          __destruct() publicDestructor 
- 
          _connect() protectedEstablishes a connection to the database server 
- 
          beginTransaction() publicStarts a transaction. 
- 
          commitTransaction() publicCommits a transaction. 
- 
          compileQuery() publicTransforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string. 
- 
          connect() abstract publicEstablishes a connection to the database server. 
- 
          disableAutoQuoting() publicDisable auto quoting of identifiers in queries. 
- 
          disableForeignKeySQL() publicGet the SQL for disabling foreign keys. 
- 
          disconnect() publicDisconnects from database server. 
- 
          enableAutoQuoting() publicSets whether this driver should automatically quote identifiers in queries. 
- 
          enableForeignKeySQL() publicGet the SQL for enabling foreign keys. 
- 
          enabled() abstract publicReturns whether php is able to use this driver for connecting to database. 
- 
          getConnectRetries() publicReturns the number of connection retry attempts made. 
- 
          getConnection() publicGet the internal PDO connection instance. 
- 
          getMaxAliasLength() publicReturns the maximum alias length allowed. This can be different from the maximum identifier length for columns. 
- 
          inTransaction() publicReturns whether a transaction is active for connection. 
- 
          isAutoQuotingEnabled() publicReturns whether this driver should automatically quote identifiers in queries. 
- 
          isConnected() publicChecks whether the driver is connected. 
- 
          lastInsertId() publicReturns last id generated for a table or sequence in database. 
- 
          newCompiler() publicReturns an instance of a QueryCompiler. 
- 
          newTableSchema() publicConstructs new TableSchema. 
- 
          prepare() publicPrepares a sql statement to be executed. 
- 
          queryTranslator() abstract publicReturns 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() publicReturns a value in a safe representation to be used in a query string 
- 
          quoteIdentifier() abstract publicQuotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words. 
- 
          releaseSavePointSQL() publicGet the SQL for releasing a save point. 
- 
          rollbackSavePointSQL() publicGet the SQL for rollingback a save point. 
- 
          rollbackTransaction() publicRollbacks a transaction. 
- 
          savePointSQL() publicGet the SQL for creating a save point. 
- 
          schema() publicReturns the schema name that's being used. 
- 
          schemaDialect() abstract publicGet the schema dialect. 
- 
          schemaValue() publicEscapes values for use in schema definitions. 
- 
          setConnection() publicSet the internal PDO connection instance. 
- 
          supports() publicReturns whether the driver supports the feature. 
- 
          supportsCTEs() public deprecatedReturns true if the server supports common table expressions. 
- 
          supportsDynamicConstraints() public deprecatedReturns whether the driver supports adding or dropping constraints to already created tables. 
- 
          supportsQuoting() public deprecatedChecks if the driver supports quoting, as PDO_ODBC does not support it. 
- 
          supportsSavePoints() publicReturns whether this driver supports save points for nested transactions. 
- 
          version() publicReturns 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): boolEstablishes 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): arrayTransforms 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(): boolEstablishes a connection to the database server.
Returns
booldisableAutoQuoting() ¶ public
disableAutoQuoting(): $thisDisable auto quoting of identifiers in queries.
Returns
$thisdisableForeignKeySQL() ¶ public
disableForeignKeySQL(): stringGet the SQL for disabling foreign keys.
Returns
stringenableAutoQuoting() ¶ public
enableAutoQuoting(bool $enable = true): $thisSets whether this driver should automatically quote identifiers in queries.
Parameters
- 
                bool$enable optional
Returns
$thisenableForeignKeySQL() ¶ public
enableForeignKeySQL(): stringGet the SQL for enabling foreign keys.
Returns
stringenabled() ¶ abstract public
enabled(): boolReturns whether php is able to use this driver for connecting to database.
Returns
boolgetConnectRetries() ¶ public
getConnectRetries(): intReturns the number of connection retry attempts made.
Returns
intgetMaxAliasLength() ¶ public
getMaxAliasLength(): int|nullReturns 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(): boolReturns whether a transaction is active for connection.
Returns
boolisAutoQuotingEnabled() ¶ public
isAutoQuotingEnabled(): boolReturns whether this driver should automatically quote identifiers in queries.
Returns
boollastInsertId() ¶ public
lastInsertId(string|null $table = null, string|null $column = null): string|intReturns 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\QueryCompilerReturns an instance of a QueryCompiler.
Returns
Cake\Database\QueryCompilernewTableSchema() ¶ public
newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchemaConstructs new TableSchema.
Parameters
- 
                string$table
- 
                array$columns optional
Returns
Cake\Database\Schema\TableSchemaprepare() ¶ public
prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterfacePrepares a sql statement to be executed.
Parameters
- 
                Cake\Database\Query|string$query
Returns
Cake\Database\StatementInterfacequeryTranslator() ¶ abstract public
queryTranslator(string $type): ClosureReturns 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): stringReturns 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): stringQuotes 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): stringGet the SQL for releasing a save point.
Parameters
- 
                string|int$name
- Save point name or id 
Returns
stringrollbackSavePointSQL() ¶ public
rollbackSavePointSQL(string|int $name): stringGet the SQL for rollingback a save point.
Parameters
- 
                string|int$name
- Save point name or id 
Returns
stringsavePointSQL() ¶ public
savePointSQL(string|int $name): stringGet the SQL for creating a save point.
Parameters
- 
                string|int$name
- Save point name or id 
Returns
stringschemaDialect() ¶ abstract public
schemaDialect(): Cake\Database\Schema\SchemaDialectGet 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): stringEscapes values for use in schema definitions.
Parameters
- 
                mixed$value
Returns
stringsetConnection() ¶ public
setConnection(object $connection): $thisSet the internal PDO connection instance.
Parameters
- 
                object$connection
- PDO instance. 
Returns
$thissupports() ¶ public
supports(string $feature): boolReturns 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(): boolReturns true if the server supports common table expressions.
Returns
boolsupportsDynamicConstraints() ¶ public
supportsDynamicConstraints(): boolReturns whether the driver supports adding or dropping constraints to already created tables.
Returns
boolTrue if driver supports dynamic constraints.
supportsQuoting() ¶ public
supportsQuoting(): boolChecks if the driver supports quoting, as PDO_ODBC does not support it.
Returns
boolsupportsSavePoints() ¶ public
supportsSavePoints(): boolReturns whether this driver supports save points for nested transactions.
Returns
bool