Fr3nch13/CakePHP Utilities

Sqlserver extends Driver
in package
uses SqlDialectTrait, TupleComparisonTranslatorTrait

SQLServer driver.

Table of Contents

Constants

MAX_ALIAS_LENGTH  = 128
RETRY_ERROR_CODES  = [40613]

Properties

$_autoQuoting  : bool
Indicates whether the driver is doing automatic identifier quoting for all queries
$_baseConfig  : array<string, mixed>
Base configuration settings for Sqlserver driver
$_config  : array<string, mixed>
Configuration data.
$_connection  : PDO
Instance of PDO.
$_endQuote  : string
String used to end a database identifier quoting to make it safe
$_schemaDialect  : SqlserverSchemaDialect|null
The schema dialect class for this driver
$_startQuote  : string
String used to start a database identifier quoting to make it safe
$_version  : string|null
The server version
$connectRetries  : int
The last number of connection retry attempts.

Methods

__construct()  : mixed
Constructor
__debugInfo()  : array<string, mixed>
Returns an array that can be used to describe the internal state of this object.
__destruct()  : mixed
Destructor
beginTransaction()  : bool
Starts a transaction.
commitTransaction()  : bool
Commits a transaction.
compileQuery()  : array<string|int, mixed>
Transforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string.
connect()  : bool
Establishes a connection to the database server.
disableAutoQuoting()  : $this
Disable auto quoting of identifiers in queries.
disableForeignKeySQL()  : string
Get the SQL for disabling foreign keys.
disconnect()  : void
Disconnects from database server.
enableAutoQuoting()  : $this
Sets whether this driver should automatically quote identifiers in queries.
enabled()  : bool
Returns whether PHP is able to use this driver for connecting to database
enableForeignKeySQL()  : string
Get the SQL for enabling foreign keys.
getConnection()  : PDO
Get the internal PDO connection instance.
getConnectRetries()  : int
Returns the number of connection retry attempts made.
getMaxAliasLength()  : int|null
Returns the maximum alias length allowed.
inTransaction()  : bool
Returns whether a transaction is active for connection.
isAutoQuotingEnabled()  : bool
Returns whether this driver should automatically quote identifiers in queries.
isConnected()  : bool
Checks whether the driver is connected.
lastInsertId()  : string|int
Returns last id generated for a table or sequence in database.
newCompiler()  : SqlserverCompiler
Returns an instance of a QueryCompiler.
newTableSchema()  : TableSchema
Constructs new TableSchema.
prepare()  : StatementInterface
Prepares a sql statement to be executed
queryTranslator()  : Closure
Returns a callable function that will be used to transform a passed Query object.
quote()  : string
Returns a value in a safe representation to be used in a query string
quoteIdentifier()  : string
Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words.
releaseSavePointSQL()  : string
Get the SQL for releasing a save point.
rollbackSavePointSQL()  : string
Get the SQL for rollingback a save point.
rollbackTransaction()  : bool
Rollbacks a transaction.
savePointSQL()  : string
Get the SQL for creating a save point.
schema()  : string
Returns the schema name that's being used.
schemaDialect()  : SchemaDialect
Get the schema dialect.
schemaValue()  : string
Escapes values for use in schema definitions.
setConnection()  : $this
Set the internal PDO connection instance.
supports()  : bool
Returns whether the driver supports the feature.
supportsCTEs()  : bool
Returns true if the server supports common table expressions.
supportsDynamicConstraints()  : bool
Returns whether the driver supports adding or dropping constraints to already created tables.
supportsQuoting()  : bool
Checks if the driver supports quoting, as PDO_ODBC does not support it.
supportsSavePoints()  : bool
Returns whether this driver supports save points for nested transactions.
version()  : string
Returns connected server version.
_connect()  : bool
Establishes a connection to the database server
_expressionTranslators()  : array<string|int, mixed>
_pagingSubquery()  : Query
Generate a paging subquery for older versions of SQLserver.
_selectQueryTranslator()  : Query
_transformDistinct()  : Query
_transformFunctionExpression()  : void
Receives a FunctionExpression and changes it so that it conforms to this SQL dialect.

Constants

MAX_ALIAS_LENGTH

protected int|null MAX_ALIAS_LENGTH = 128

Maximum alias length or null if no limit

Tags
inheritDoc

RETRY_ERROR_CODES

protected array<string|int, int> RETRY_ERROR_CODES = [40613]

DB-specific error codes that allow connect retry

Tags
inheritDoc

Properties

$_autoQuoting

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

protected bool $_autoQuoting = false

$_baseConfig

Base configuration settings for Sqlserver driver

protected array<string, mixed> $_baseConfig = [ 'host' => 'localhost\SQLEXPRESS', 'username' => '', 'password' => '', 'database' => 'cake', 'port' => '', // PDO::SQLSRV_ENCODING_UTF8 'encoding' => 65001, 'flags' => [], 'init' => [], 'settings' => [], 'attributes' => [], 'app' => null, 'connectionPooling' => null, 'failoverPartner' => null, 'loginTimeout' => null, 'multiSubnetFailover' => null, 'encrypt' => null, 'trustServerCertificate' => null, ]

$_config

Configuration data.

protected array<string, mixed> $_config

$_connection

Instance of PDO.

protected PDO $_connection

$_endQuote

String used to end a database identifier quoting to make it safe

protected string $_endQuote = ']'

$_schemaDialect

The schema dialect class for this driver

protected SqlserverSchemaDialect|null $_schemaDialect

$_startQuote

String used to start a database identifier quoting to make it safe

protected string $_startQuote = '['

$_version

The server version

protected string|null $_version

$connectRetries

The last number of connection retry attempts.

protected int $connectRetries = 0

Methods

__construct()

Constructor

public __construct([array<string, mixed> $config = [] ]) : mixed
Parameters
$config : array<string, mixed> = []

The configuration for the driver.

Tags
throws
InvalidArgumentException

__debugInfo()

Returns an array that can be used to describe the internal state of this object.

public __debugInfo() : array<string, mixed>
Return values
array<string, mixed>

__destruct()

Destructor

public __destruct() : mixed

beginTransaction()

Starts a transaction.

public beginTransaction() : bool
Tags
inheritDoc
Return values
bool —

True on success, false otherwise.

commitTransaction()

Commits a transaction.

public commitTransaction() : bool
Tags
inheritDoc
Return values
bool —

True on success, false otherwise.

compileQuery()

Transforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string.

public compileQuery(Query $query, ValueBinder $binder) : array<string|int, mixed>
Parameters
$query : Query

The query to compile.

$binder : ValueBinder

The value binder to use.

Tags
inheritDoc
Return values
array<string|int, mixed> —

containing 2 entries. The first entity is the transformed query and the second one the compiled SQL.

connect()

Establishes a connection to the database server.

public connect() : bool

Please note that the PDO::ATTR_PERSISTENT attribute is not supported by the SQL Server PHP PDO drivers. As a result you cannot use the persistent config option when connecting to a SQL Server (for more information see: https://github.com/Microsoft/msphpsql/issues/65).

Tags
throws
InvalidArgumentException

if an unsupported setting is in the driver config

Return values
bool —

true on success

disableAutoQuoting()

Disable auto quoting of identifiers in queries.

public disableAutoQuoting() : $this
Tags
inheritDoc
Return values
$this

disableForeignKeySQL()

Get the SQL for disabling foreign keys.

public disableForeignKeySQL() : string
Tags
inheritDoc
Return values
string

disconnect()

Disconnects from database server.

public disconnect() : void
Tags
inheritDoc

enableAutoQuoting()

Sets whether this driver should automatically quote identifiers in queries.

public enableAutoQuoting([bool $enable = true ]) : $this
Parameters
$enable : bool = true

Whether to enable auto quoting

Tags
inheritDoc
Return values
$this

enabled()

Returns whether PHP is able to use this driver for connecting to database

public enabled() : bool
Return values
bool —

true if it is valid to use this driver

enableForeignKeySQL()

Get the SQL for enabling foreign keys.

public enableForeignKeySQL() : string
Tags
inheritDoc
Return values
string

getConnection()

Get the internal PDO connection instance.

public getConnection() : PDO
Return values
PDO

getConnectRetries()

Returns the number of connection retry attempts made.

public getConnectRetries() : int
Return values
int

getMaxAliasLength()

Returns the maximum alias length allowed.

public getMaxAliasLength() : int|null

This can be different from the maximum identifier length for columns.

Return values
int|null —

Maximum alias length or null if no limit

inTransaction()

Returns whether a transaction is active for connection.

public inTransaction() : bool
Return values
bool

isAutoQuotingEnabled()

Returns whether this driver should automatically quote identifiers in queries.

public isAutoQuotingEnabled() : bool
Tags
inheritDoc
Return values
bool

isConnected()

Checks whether the driver is connected.

public isConnected() : bool
Tags
inheritDoc
Return values
bool

lastInsertId()

Returns last id generated for a table or sequence in database.

public lastInsertId([string|null $table = null ][, string|null $column = null ]) : string|int
Parameters
$table : string|null = null

table name or sequence to get last insert value from.

$column : string|null = null

the name of the column representing the primary key.

Tags
inheritDoc
Return values
string|int

newCompiler()

Returns an instance of a QueryCompiler.

public newCompiler() : SqlserverCompiler
Return values
SqlserverCompiler

newTableSchema()

Constructs new TableSchema.

public newTableSchema(string $table[, array<string|int, mixed> $columns = [] ]) : TableSchema
Parameters
$table : string

The table name.

$columns : array<string|int, mixed> = []

The list of columns for the schema.

Tags
inheritDoc
Return values
TableSchema

queryTranslator()

Returns a callable function that will be used to transform a passed Query object.

public abstract queryTranslator(string $type) : Closure
Parameters
$type : string

The type of query to be transformed (select, insert, update, delete).

Tags
inheritDoc
Return values
Closure

quote()

Returns a value in a safe representation to be used in a query string

public quote(mixed $value[, mixed $type = PDO::PARAM_STR ]) : string
Parameters
$value : mixed

The value to quote.

$type : mixed = PDO::PARAM_STR

Must be one of the \PDO::PARAM_* constants

Tags
inheritDoc
Return values
string

quoteIdentifier()

Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words.

public abstract quoteIdentifier(string $identifier) : string
Parameters
$identifier : string

The identifier expression to quote.

Tags
inheritDoc
Return values
string

releaseSavePointSQL()

Get the SQL for releasing a save point.

public releaseSavePointSQL(mixed $name) : string
Parameters
$name : mixed

Save point name or id

Tags
inheritDoc
Return values
string

rollbackSavePointSQL()

Get the SQL for rollingback a save point.

public rollbackSavePointSQL(mixed $name) : string
Parameters
$name : mixed

Save point name or id

Tags
inheritDoc
Return values
string

rollbackTransaction()

Rollbacks a transaction.

public rollbackTransaction() : bool
Tags
inheritDoc
Return values
bool —

True on success, false otherwise.

savePointSQL()

Get the SQL for creating a save point.

public savePointSQL(mixed $name) : string
Parameters
$name : mixed

Save point name or id

Tags
inheritDoc
Return values
string

schema()

Returns the schema name that's being used.

public schema() : string
Tags
inheritDoc
Return values
string

schemaValue()

Escapes values for use in schema definitions.

public schemaValue(mixed $value) : string
Parameters
$value : mixed

The value to escape.

Tags
inheritDoc
Return values
string —

String for use in schema definitions.

setConnection()

Set the internal PDO connection instance.

public setConnection(PDO $connection) : $this
Parameters
$connection : PDO

PDO instance.

Tags
psalm-suppress

MoreSpecificImplementedParamType

Return values
$this

supports()

Returns whether the driver supports the feature.

public supports(string $feature) : bool
Parameters
$feature : string

Driver feature name

Tags
inheritDoc
Return values
bool

supportsCTEs()

Returns true if the server supports common table expressions.

public supportsCTEs() : bool

Use supports(DriverInterface::FEATURE_QUOTE) instead

Return values
bool

supportsDynamicConstraints()

Returns whether the driver supports adding or dropping constraints to already created tables.

public supportsDynamicConstraints() : bool
Tags
inheritDoc
Return values
bool —

True if driver supports dynamic constraints.

supportsQuoting()

Checks if the driver supports quoting, as PDO_ODBC does not support it.

public supportsQuoting() : bool

Use supports(DriverInterface::FEATURE_QUOTE) instead

Return values
bool

supportsSavePoints()

Returns whether this driver supports save points for nested transactions.

public supportsSavePoints() : bool
Tags
inheritDoc
Return values
bool —

True if save points are supported, false otherwise.

version()

Returns connected server version.

public version() : string
Return values
string

_connect()

Establishes a connection to the database server

protected _connect(string $dsn, array<string, mixed> $config) : bool
Parameters
$dsn : string

A Driver-specific PDO-DSN

$config : array<string, mixed>

configuration to be used for creating connection

Return values
bool —

true on success

_expressionTranslators()

protected _expressionTranslators() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

_pagingSubquery()

Generate a paging subquery for older versions of SQLserver.

protected _pagingSubquery(Query $original, int|null $limit, int|null $offset) : Query

Prior to SQLServer 2012 there was no equivalent to LIMIT OFFSET, so a subquery must be used.

Parameters
$original : Query

The query to wrap in a subquery.

$limit : int|null

The number of rows to fetch.

$offset : int|null

The number of rows to offset.

Return values
Query —

Modified query object.

_transformFunctionExpression()

Receives a FunctionExpression and changes it so that it conforms to this SQL dialect.

protected _transformFunctionExpression(FunctionExpression $expression) : void
Parameters
$expression : FunctionExpression

The function expression to convert to TSQL.


        
On this page

Search results