Class Sqlserver
SQLServer driver.
- Cake\Database\Driver
- Cake\Database\Driver\Sqlserver uses Cake\Database\Driver\PDODriverTrait, Cake\Database\Dialect\SqlserverDialectTrait
Method Detail
connectsource public
connect( )
Establishes a connection to the database server
Returns
boolean
true on success
enabledsource public
enabled( )
Returns whether PHP is able to use this driver for connecting to database
Returns
boolean
true if it is valid to use this driver
preparesource 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
Cake\Database\StatementInterface
\Cake\Database\StatementInterface
supportsDynamicConstraintssource public
supportsDynamicConstraints( )
Returns whether the driver supports adding or dropping constraints to already created tables.
Returns
boolean
true if driver supports dynamic constraints
Methods inherited from Cake\Database\Driver
__constructsource public
__construct( array $config [] )
Constructor
Parameters
- array
$config
optional [] - The configuration for the driver.
Throws
InvalidArgumentException
InvalidArgumentException
__debugInfosource public
__debugInfo( )
Returns an array that can be used to describe the internal state of this object.
Returns
array
array
autoQuotingsource 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
boolean
bool
beginTransactionsource abstract public
beginTransaction( )
Starts a transaction
Returns
boolean
true on success, false otherwise
commitTransactionsource abstract public
commitTransaction( )
Commits a transaction
Returns
boolean
true on success, false otherwise
compileQuerysource 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
array
containing 2 entries. The first entity is the transformed query and the second one the compiled SQL
connectionsource 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
disableForeignKeySQLsource abstract public
disableForeignKeySQL( )
Get the SQL for disabling foreign keys
Returns
string
string
enableForeignKeySQLsource abstract public
enableForeignKeySQL( )
Get the SQL for enabling foreign keys
Returns
string
string
isConnectedsource public
isConnected( )
Check whether or not the driver is connected.
Returns
boolean
bool
lastInsertIdsource 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
string|integer
string|int
newCompilersource public
newCompiler( )
Returns an instance of a QueryCompiler
Returns
Cake\Database\QueryCompiler
\Cake\Database\QueryCompiler
queryTranslatorsource 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
callable
callable
quotesource 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
string
string
quoteIdentifiersource 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
string
string
releaseSavePointSQLsource abstract public
releaseSavePointSQL( string $name )
Get the SQL for releasing a save point.
Parameters
- string
$name
- The table name
Returns
string
string
rollbackSavePointSQLsource abstract public
rollbackSavePointSQL( string $name )
Get the SQL for rollingback a save point.
Parameters
- string
$name
- The table name
Returns
string
string
rollbackTransactionsource abstract public
rollbackTransaction( )
Rollsback a transaction
Returns
boolean
true on success, false otherwise
savePointSQLsource abstract public
savePointSQL( string $name )
Get the SQL for creating a save point.
Parameters
- string
$name
- The table name
Returns
string
string
schemaDialectsource 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
Cake\Database\Schema\BaseSchema
\Cake\Database\Schema\BaseSchema
schemaValuesource public
schemaValue( mixed $value )
Escapes values for use in schema definitions.
Parameters
- mixed
$value
- The value to escape.
Returns
string
String for use in schema definitions.
supportsQuotingsource public
supportsQuoting( )
Checks if the driver supports quoting
Returns
boolean
bool
supportsSavePointssource public
supportsSavePoints( )
Returns whether this driver supports save points for nested transactions
Returns
boolean
true if save points are supported, false otherwise
Methods used from Cake\Database\Driver\PDODriverTrait
_connectsource 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
boolean
true on success
beginTransactionsource public
beginTransaction( )
Starts a transaction
Returns
boolean
true on success, false otherwise
commitTransactionsource public
commitTransaction( )
Commits a transaction
Returns
boolean
true on success, false otherwise
connectionsource 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
PDO
connection object used internally
isConnectedsource public
isConnected( )
Check whether or not the driver is connected.
Returns
boolean
bool
Overrides
Cake\Database\Driver::isConnected()
lastInsertIdsource 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
string|integer
string|int
Overrides
Cake\Database\Driver::lastInsertId()
quotesource 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
string
string
rollbackTransactionsource public
rollbackTransaction( )
Rollsback a transaction
Returns
boolean
true on success, false otherwise
supportsQuotingsource public
supportsQuoting( )
Checks if the driver supports quoting, as PDO_ODBC does not support it.
Returns
boolean
bool
Overrides
Cake\Database\Driver::supportsQuoting()
Methods used from Cake\Database\Dialect\SqlserverDialectTrait
_expressionTranslatorssource 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
array
array
_pagingSubquerysource 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
Cake\Database\Query
Modified query object.
_selectQueryTranslatorsource protected
_selectQueryTranslator( Cake\Database\Query $query )
Modify the limit/offset to TSQL
Parameters
-
Cake\Database\Query
$query
- The query to translate
Returns
Cake\Database\Query
The modified query
_transformDistinctsource protected
_transformDistinct( Cake\Database\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
-
Cake\Database\Query
$original
- The query to be transformed
Returns
Cake\Database\Query
Query
_transformFunctionExpressionsource protected
_transformFunctionExpression( Cake\Database\Driver\FunctionExpression $expression )
Receives a FunctionExpression and changes it so that it conforms to this SQL dialect.
Parameters
- Cake\Database\Driver\FunctionExpression
$expression
- The function expression to convert to TSQL.
_versionsource public
_version( )
Get the version of SQLserver we are connected to.
Returns
integer
int
disableForeignKeySQLsource public
disableForeignKeySQL( )
enableForeignKeySQLsource public
enableForeignKeySQL( )
newCompilersource public
newCompiler( )
Returns
Cake\Database\SqlserverCompiler
\Cake\Database\SqlserverCompiler
Overrides
Cake\Database\Driver::newCompiler()
releaseSavePointSQLsource public
releaseSavePointSQL( string $name )
Returns a SQL snippet for releasing a previously created save point
Parameters
- string
$name
- save point name
Returns
string
string
rollbackSavePointSQLsource public
rollbackSavePointSQL( string $name )
Returns a SQL snippet for rollbacking a previously created save point
Parameters
- string
$name
- save point name
Returns
string
string
savePointSQLsource public
savePointSQL( string $name )
Returns a SQL snippet for creating a new transaction savepoint
Parameters
- string
$name
- save point name
Returns
string
string
schemaDialectsource public
schemaDialect( )
Get the schema dialect.
Used by Cake\Schema package to reflect schema and generate schema.
Returns
Cake\Database\Schema\MysqlSchema
\Cake\Database\Schema\MysqlSchema
Methods used from Cake\Database\SqlDialectTrait
_deleteQueryTranslatorsource protected
_deleteQueryTranslator( Cake\Database\Query $query )
Apply translation steps to delete queries.
Chops out aliases on delete query conditions as most database dialects do not support aliases in delete queries. This also removes aliases in table names as they frequently don't work either.
We are intentionally not supporting deletes with joins as they have even poorer support.
Parameters
-
Cake\Database\Query
$query
- The query to translate
Returns
Cake\Database\Query
The modified query
_insertQueryTranslatorsource protected
_insertQueryTranslator( Cake\Database\Query $query )
Apply translation steps to insert queries.
Parameters
-
Cake\Database\Query
$query
- The query to translate
Returns
Cake\Database\Query
The modified query
_updateQueryTranslatorsource protected
_updateQueryTranslator( Cake\Database\Query $query )
Apply translation steps to update queries.
Parameters
-
Cake\Database\Query
$query
- The query to translate
Returns
Cake\Database\Query
The modified query
queryTranslatorsource 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
callable
callable
quoteIdentifiersource 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 to quote.
Returns
string
string
Methods used from Cake\Database\Dialect\TupleComparisonTranslatorTrait
_transformTupleComparisonsource protected
_transformTupleComparison( Cake\Database\Driver\TupleComparison $expression , Cake\Database\Query $query )
Receives a TupleExpression and changes it so that it conforms to this SQL dialect.
It transforms expressions looking like '(a, b) IN ((c, d), (e, f)' into an equivalent expression of the form '((a = c) AND (b = d)) OR ((a = e) AND (b = f))'.
It can also transform transform expressions where the right hand side is a query selecting the same amount of columns as the elements in the left hand side of the expression:
(a, b) IN (SELECT c, d FROM a_table) is transformed into
1 = (SELECT 1 FROM a_table WHERE (a = c) AND (b = d))
Parameters
- Cake\Database\Driver\TupleComparison
$expression
- The expression to transform
-
Cake\Database\Query
$query
- The query to update.
Properties summary
Properties inherited from Cake\Database\Driver
$_autoQuotingsource
protected boolean
Indicates whether or not the driver is doing automatic identifier quoting for all queries
false
Properties used from Cake\Database\Driver\PDODriverTrait
Properties used from Cake\Database\Dialect\SqlserverDialectTrait
$_endQuotesource
protected string
String used to end a database identifier quoting to make it safe
']'
$_startQuotesource
protected string
String used to start a database identifier quoting to make it safe
'['
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.Database.Driver.Sqlserver.html