Class Sqlserver

SQLServer driver.

Cake\Database\Driver
Extended by 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

__destructsource public

__destruct( )

Destructor

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

disconnectsource abstract public

disconnect( )

Disconnects from database server

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

disconnectsource public

disconnect( )

Disconnects from database server

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

$_baseConfigsource

protected array

Base configuration settings for Sqlserver driver

[
    'persistent' => false,
    'host' => 'localhost\SQLEXPRESS',
    'username' => '',
    'password' => '',
    'database' => 'cake',
    // PDO::SQLSRV_ENCODING_UTF8
    'encoding' => 65001,
    'flags' => [],
    'init' => [],
    'settings' => [],
]

Properties inherited from Cake\Database\Driver

$_autoQuotingsource

protected boolean

Indicates whether or not the driver is doing automatic identifier quoting for all queries

false

$_configsource

protected array

Configuration data.

Properties used from Cake\Database\Driver\PDODriverTrait

$_connectionsource

protected PDO

Instance of PDO.

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