Class Sqlserver
SQLServer driver.
- Cake\Database\Driver
-
Cake\Database\Driver\Sqlserver uses Cake\Database\Driver\PDODriverTrait , Cake\Database\Dialect\SqlserverDialectTrait
Properties summary
-
$_baseConfig
protectedarray
Base configuration settings for Sqlserver driver
Inherited Properties
-
_autoQuoting
,_config
_connection
_endQuote
,_startQuote
Method Summary
-
connect() public
Establishes a connection to the database server -
enabled() public
Returns whether PHP is able to use this driver for connecting to database -
prepare() public
Prepares a sql statement to be executed -
supportsDynamicConstraints() public
Returns whether the driver supports adding or dropping constraints to already created tables.
Method Detail
connect() public ¶
connect( )
Establishes a connection to the database server
Returns
true on success
enabled() public ¶
enabled( )
Returns whether PHP is able to use this driver for connecting to database
Returns
true if it is valid to use this driver
prepare() public ¶
prepare( string|Cake\Database\Query
$query )
Prepares a sql statement to be executed
Parameters
-
string|
Cake\Database\Query
$query - The query to prepare.
Returns
supportsDynamicConstraints() public ¶
supportsDynamicConstraints( )
Returns whether the driver supports adding or dropping constraints to already created tables.
Returns
true if driver supports dynamic constraints
Methods inherited from Cake\Database\Driver
__construct() public ¶
__construct( array $config = [] )
Constructor
Parameters
- array $config optional []
- The configuration for the driver.
Throws
__debugInfo() public ¶
__debugInfo( )
Returns an array that can be used to describe the internal state of this object.
Returns
autoQuoting() public ¶
autoQuoting( boolean $enable = null )
Returns whether or not this driver should automatically quote identifiers in queries
If called with a boolean argument, it will toggle the auto quoting setting to the passed value
Parameters
- boolean $enable optional null
- whether to enable auto quoting
Returns
beginTransaction() abstract public ¶
beginTransaction( )
Starts a transaction
Returns
true on success, false otherwise
commitTransaction() abstract public ¶
commitTransaction( )
Commits a transaction
Returns
true on success, false otherwise
compileQuery() public ¶
compileQuery( Cake\Database\Query
$query , Cake\Database\ValueBinder $generator )
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 $generator
- The value binder to use.
Returns
containing 2 entries. The first entity is the transformed query and the second one the compiled SQL
connection() abstract public ¶
connection( null|PDO $connection = null )
Returns correct connection resource or object that is internally used If first argument is passed,
Parameters
- null|PDO $connection optional null
- The connection object
disableForeignKeySQL() abstract public ¶
disableForeignKeySQL( )
Get the SQL for disabling foreign keys
Returns
enableForeignKeySQL() abstract public ¶
enableForeignKeySQL( )
Get the SQL for enabling foreign keys
Returns
lastInsertId() public ¶
lastInsertId( string $table = null , string $column = null )
Returns last id generated for a table or sequence in database
Parameters
- string $table optional null
- table name or sequence to get last insert value from
- string $column optional null
- the name of the column representing the primary key
Returns
newCompiler() public ¶
newCompiler( )
Returns an instance of a QueryCompiler
Returns
queryTranslator() abstract public ¶
queryTranslator( string $type )
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
quote() abstract public ¶
quote( mixed $value , string $type )
Returns a value in a safe representation to be used in a query string
Parameters
- mixed $value
- The value to quote.
- string $type
- Type to be used for determining kind of quoting to perform
Returns
quoteIdentifier() abstract public ¶
quoteIdentifier( string $identifier )
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
releaseSavePointSQL() abstract public ¶
releaseSavePointSQL( string $name )
Get the SQL for releasing a save point.
Parameters
- string $name
- The table name
Returns
rollbackSavePointSQL() abstract public ¶
rollbackSavePointSQL( string $name )
Get the SQL for rollingback a save point.
Parameters
- string $name
- The table name
Returns
rollbackTransaction() abstract public ¶
rollbackTransaction( )
Rollsback a transaction
Returns
true on success, false otherwise
savePointSQL() abstract public ¶
savePointSQL( string $name )
Get the SQL for creating a save point.
Parameters
- string $name
- The table name
Returns
schemaDialect() abstract public ¶
schemaDialect( )
Get the schema dialect.
Used by 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
schemaValue() public ¶
schemaValue( mixed $value )
Escapes values for use in schema definitions.
Parameters
- mixed $value
- The value to escape.
Returns
String for use in schema definitions.
supportsSavePoints() public ¶
supportsSavePoints( )
Returns whether this driver supports save points for nested transactions
Returns
true if save points are supported, false otherwise
Methods used from Cake\Database\Driver\PDODriverTrait
_connect() protected ¶
_connect( string $dsn , array $config )
Establishes a connection to the database server
Parameters
- string $dsn
- A Driver-specific PDO-DSN
- array $config
- configuration to be used for creating connection
Returns
true on success
beginTransaction() public ¶
beginTransaction( )
Starts a transaction
Returns
true on success, false otherwise
commitTransaction() public ¶
commitTransaction( )
Commits a transaction
Returns
true on success, false otherwise
connection() public ¶
connection( null|PDO $connection = null )
Returns correct connection resource or object that is internally used If first argument is passed, it will set internal connection object or result to the value passed
Parameters
- null|PDO $connection optional null
- The PDO connection instance.
Returns
connection object used internally
lastInsertId() public ¶
lastInsertId( string|null $table = null , string|null $column = null )
Returns last id generated for a table or sequence in database
Parameters
- string|null $table optional null
- table name or sequence to get last insert value from
- string|null $column optional null
- the name of the column representing the primary key
Returns
quote() public ¶
quote( mixed $value , string $type )
Returns a value in a safe representation to be used in a query string
Parameters
- mixed $value
- The value to quote.
- string $type
- Type to be used for determining kind of quoting to perform
Returns
rollbackTransaction() public ¶
rollbackTransaction( )
Rollsback a transaction
Returns
true on success, false otherwise
supportsQuoting() public ¶
supportsQuoting( )
Checks if the driver supports quoting, as PDO_ODBC does not support it.
Returns
Methods used from Cake\Database\Dialect\SqlserverDialectTrait
_expressionTranslators() protected ¶
_expressionTranslators( )
Returns a dictionary of expressions to be transformed when compiling a Query to SQL. Array keys are method names to be called in this class
Returns
_pagingSubquery() protected ¶
_pagingSubquery( Cake\Database\Query $original , integer $limit , integer $offset )
Generate a paging subquery for older versions of SQLserver.
Prior to SQLServer 2012 there was no equivalent to LIMIT OFFSET, so a subquery must be used.
Parameters
- Cake\Database\Query $original
- The query to wrap in a subquery.
- integer $limit
- The number of rows to fetch.
- integer $offset
- The number of rows to offset.
Returns
Modified query object.
_selectQueryTranslator() protected ¶
_selectQueryTranslator( Cake\Database\Query $query )
Modify the limit/offset to TSQL
Parameters
- Cake\Database\Query $query
- The query to translate
Returns
The modified query
_transformDistinct() protected ¶
_transformDistinct( Query $original )
Returns the passed query after rewriting the DISTINCT clause, so that drivers that do not support the "ON" part can provide the actual way it should be done
Parameters
- Query $original
- The query to be transformed
Returns
_transformFunctionExpression() protected ¶
_transformFunctionExpression( Cake\Database\Expression\FunctionExpression $expression )
Receives a FunctionExpression and changes it so that it conforms to this SQL dialect.
Parameters
- Cake\Database\Expression\FunctionExpression $expression
- The function expression to convert to TSQL.
releaseSavePointSQL() public ¶
releaseSavePointSQL( string $name )
Returns a SQL snippet for releasing a previously created save point
Parameters
- string $name
- save point name
Returns
rollbackSavePointSQL() public ¶
rollbackSavePointSQL( string $name )
Returns a SQL snippet for rollbacking a previously created save point
Parameters
- string $name
- save point name
Returns
savePointSQL() public ¶
savePointSQL( string $name )
Returns a SQL snippet for creating a new transaction savepoint
Parameters
- string $name
- save point name
Returns
schemaDialect() public ¶
schemaDialect( )
Get the schema dialect.
Used by Cake\Schema package to reflect schema and generate schema.
Returns
Properties detail
$_baseConfig ¶
Base configuration settings for Sqlserver driver
[ 'persistent' => false, 'host' => 'localhost\SQLEXPRESS', 'username' => '', 'password' => '', 'database' => 'cake', // PDO::SQLSRV_ENCODING_UTF8 'encoding' => 65001, 'flags' => [], 'init' => [], 'settings' => [], ]