Methods |
public
|
__construct()
|
#
|
public
|
setEventManager(EventManager $eventManager): void
Sets the EventManager used by the Platform.
Sets the EventManager used by the Platform.
|
#
|
public
|
getEventManager(): EventManager|null
Gets the EventManager used by the Platform.
Gets the EventManager used by the Platform.
|
#
|
abstract
public
|
getBooleanTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet that declares a boolean column.
Returns the SQL snippet that declares a boolean column.
|
#
|
abstract
public
|
getIntegerTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet that declares a 4 byte integer column.
Returns the SQL snippet that declares a 4 byte integer column.
|
#
|
abstract
public
|
getBigIntTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet that declares an 8 byte integer column.
Returns the SQL snippet that declares an 8 byte integer column.
|
#
|
abstract
public
|
getSmallIntTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet that declares a 2 byte integer column.
Returns the SQL snippet that declares a 2 byte integer column.
|
#
|
public
|
getAsciiStringTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet used to declare a column that can
store characters in the ASCII character set
Returns the SQL snippet used to declare a column that can
store characters in the ASCII character set
|
#
|
public
|
getVarcharTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet used to declare a VARCHAR column type.
Returns the SQL snippet used to declare a VARCHAR column type.
|
#
|
public
|
getBinaryTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet used to declare a BINARY/VARBINARY column type.
Returns the SQL snippet used to declare a BINARY/VARBINARY column type.
Parameters
$column |
The column definition.
|
|
#
|
public
|
getGuidTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet to declare a GUID/UUID column.
Returns the SQL snippet to declare a GUID/UUID column.
By default this maps directly to a CHAR(36) and only maps to more
special datatypes when the underlying databases support this datatype.
|
#
|
public
|
getJsonTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet to declare a JSON column.
Returns the SQL snippet to declare a JSON column.
By default this maps directly to a CLOB and only maps to more
special datatypes when the underlying databases support this datatype.
|
#
|
abstract
public
|
getClobTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet used to declare a CLOB column type.
Returns the SQL snippet used to declare a CLOB column type.
|
#
|
abstract
public
|
getBlobTypeDeclarationSQL(mixed[] $column): string
Returns the SQL Snippet used to declare a BLOB column type.
Returns the SQL Snippet used to declare a BLOB column type.
|
#
|
abstract
public
|
getName(): string
Gets the name of the platform.
Gets the name of the platform.
|
#
|
public
|
registerDoctrineTypeMapping(string $dbType, string $doctrineType): void
Registers a doctrine type to be used in conjunction with a column type of this platform.
Registers a doctrine type to be used in conjunction with a column type of this platform.
Throws
|
#
|
public
|
getDoctrineTypeMapping(string $dbType): string
Gets the Doctrine type that is mapped for the given database column type.
Gets the Doctrine type that is mapped for the given database column type.
Throws
|
#
|
public
|
hasDoctrineTypeMappingFor(string $dbType): bool
Checks if a database type is currently supported by this platform.
Checks if a database type is currently supported by this platform.
|
#
|
public
|
isCommentedDoctrineType(Type $doctrineType): bool
Is it necessary for the platform to add a parsable type comment to allow reverse engineering the given type?
Is it necessary for the platform to add a parsable type comment to allow reverse engineering the given type?
|
#
|
public
|
markDoctrineTypeCommented(string|Type $doctrineType): void
Marks this type as to be commented in ALTER TABLE and CREATE TABLE statements.
Marks this type as to be commented in ALTER TABLE and CREATE TABLE statements.
|
#
|
public
|
getDoctrineTypeComment(Type $doctrineType): string
Gets the comment to append to a column comment that helps parsing this type in reverse engineering.
Gets the comment to append to a column comment that helps parsing this type in reverse engineering.
|
#
|
public
|
getIdentifierQuoteCharacter(): string
Gets the character used for identifier quoting.
Gets the character used for identifier quoting.
|
#
|
public
|
getSqlCommentStartString(): string
Gets the string portion that starts an SQL comment.
Gets the string portion that starts an SQL comment.
|
#
|
public
|
getSqlCommentEndString(): string
Gets the string portion that ends an SQL comment.
Gets the string portion that ends an SQL comment.
|
#
|
public
|
getCharMaxLength(): int
Gets the maximum length of a char column.
Gets the maximum length of a char column.
|
#
|
public
|
getVarcharMaxLength(): int
Gets the maximum length of a varchar column.
Gets the maximum length of a varchar column.
|
#
|
public
|
getVarcharDefaultLength(): int
Gets the default length of a varchar column.
Gets the default length of a varchar column.
|
#
|
public
|
getBinaryMaxLength(): int
Gets the maximum length of a binary column.
Gets the maximum length of a binary column.
|
#
|
public
|
getBinaryDefaultLength(): int
Gets the default length of a binary column.
Gets the default length of a binary column.
|
#
|
public
|
getWildcards(): string[]
Gets all SQL wildcard characters of the platform.
Gets all SQL wildcard characters of the platform.
|
#
|
public
|
getRegexpExpression(): string
Returns the regular expression operator.
Returns the regular expression operator.
Throws
|
#
|
public
|
getGuidExpression(): string
Returns the global unique identifier expression.
Returns the global unique identifier expression.
Deprecated
Use application-generated UUIDs instead
Throws
|
#
|
public
|
getAvgExpression(string $column): string
Returns the SQL snippet to get the average value of a column.
Returns the SQL snippet to get the average value of a column.
Parameters
$column |
The column to use.
|
Returns
Generated SQL including an AVG aggregate function.
|
#
|
public
|
getCountExpression(string|int $column): string
Returns the SQL snippet to get the number of rows (without a NULL value) of a column.
Returns the SQL snippet to get the number of rows (without a NULL value) of a column.
If a '*' is used instead of a column the number of selected rows is returned.
Parameters
$column |
The column to use.
|
Returns
Generated SQL including a COUNT aggregate function.
|
#
|
public
|
getMaxExpression(string $column): string
Returns the SQL snippet to get the highest value of a column.
Returns the SQL snippet to get the highest value of a column.
Parameters
$column |
The column to use.
|
Returns
Generated SQL including a MAX aggregate function.
|
#
|
public
|
getMinExpression(string $column): string
Returns the SQL snippet to get the lowest value of a column.
Returns the SQL snippet to get the lowest value of a column.
Parameters
$column |
The column to use.
|
Returns
Generated SQL including a MIN aggregate function.
|
#
|
public
|
getSumExpression(string $column): string
Returns the SQL snippet to get the total sum of a column.
Returns the SQL snippet to get the total sum of a column.
Parameters
$column |
The column to use.
|
Returns
Generated SQL including a SUM aggregate function.
|
#
|
public
|
getMd5Expression(string $column): string
Returns the SQL snippet to get the md5 sum of a column.
Returns the SQL snippet to get the md5 sum of a column.
Note: Not SQL92, but common functionality.
|
#
|
public
|
getLengthExpression(string $column): string
Returns the SQL snippet to get the length of a text column.
Returns the SQL snippet to get the length of a text column.
|
#
|
public
|
getSqrtExpression(string $column): string
Returns the SQL snippet to get the squared value of a column.
Returns the SQL snippet to get the squared value of a column.
Parameters
$column |
The column to use.
|
Returns
Generated SQL including an SQRT aggregate function.
|
#
|
public
|
getRoundExpression(string $column, int $decimals = 0): string
Returns the SQL snippet to round a numeric column to the number of decimals specified.
Returns the SQL snippet to round a numeric column to the number of decimals specified.
|
#
|
public
|
getModExpression(string $expression1, string $expression2): string
Returns the SQL snippet to get the remainder of the division operation $expression1 / $expression2.
Returns the SQL snippet to get the remainder of the division operation $expression1 / $expression2.
|
#
|
public
|
getTrimExpression(string $str, int $mode = TrimMode::UNSPECIFIED, string|bool $char = false): string
Returns the SQL snippet to trim a string.
Returns the SQL snippet to trim a string.
Parameters
$str |
The expression to apply the trim to.
|
$mode |
The position of the trim (leading/trailing/both).
|
$char |
The char to trim, has to be quoted already. Defaults to space.
|
|
#
|
public
|
getRtrimExpression(string $str): string
Returns the SQL snippet to trim trailing space characters from the expression.
Returns the SQL snippet to trim trailing space characters from the expression.
Parameters
$str |
Literal string or column name.
|
|
#
|
public
|
getLtrimExpression(string $str): string
Returns the SQL snippet to trim leading space characters from the expression.
Returns the SQL snippet to trim leading space characters from the expression.
Parameters
$str |
Literal string or column name.
|
|
#
|
public
|
getUpperExpression(string $str): string
Returns the SQL snippet to change all characters from the expression to uppercase,
according to the current character…
Returns the SQL snippet to change all characters from the expression to uppercase,
according to the current character set mapping.
Parameters
$str |
Literal string or column name.
|
|
#
|
public
|
getLowerExpression(string $str): string
Returns the SQL snippet to change all characters from the expression to lowercase,
according to the current character…
Returns the SQL snippet to change all characters from the expression to lowercase,
according to the current character set mapping.
Parameters
$str |
Literal string or column name.
|
|
#
|
public
|
getLocateExpression(string $str, string $substr, int|false $startPos = false): string
Returns the SQL snippet to get the position of the first occurrence of substring $substr in string $str.
Returns the SQL snippet to get the position of the first occurrence of substring $substr in string $str.
Parameters
$str |
Literal string.
|
$substr |
Literal string to find.
|
$startPos |
Position to start at, beginning of string by default.
|
Throws
|
#
|
public
|
getNowExpression(): string
Returns the SQL snippet to get the current system date.
Returns the SQL snippet to get the current system date.
|
#
|
public
|
getSubstringExpression(string $string, int $start, int|null $length = null): string
Returns a SQL snippet to get a substring inside an SQL statement.
Returns a SQL snippet to get a substring inside an SQL statement.
Note: Not SQL92, but common functionality.
SQLite only supports the 2 parameter variant of this function.
Parameters
$string |
An sql string literal or column name/alias.
|
$start |
Where to start the substring portion.
|
$length |
The substring portion length.
|
|
#
|
public
|
getConcatExpression(): string
Returns a SQL snippet to concatenate the given expressions.
Returns a SQL snippet to concatenate the given expressions.
Accepts an arbitrary number of string parameters. Each parameter must contain an expression.
|
#
|
public
|
getNotExpression(string $expression): string
Returns the SQL for a logical not.
Returns the SQL for a logical not.
Example:
$q = new Doctrine_Query();
$e = $q->expr;
$q->select('*')->from('table')
->where($e->eq('id', $e->not('null'));
Returns
|
#
|
public
|
getIsNullExpression(string $expression): string
Returns the SQL that checks if an expression is null.
Returns the SQL that checks if an expression is null.
Parameters
$expression |
The expression that should be compared to null.
|
Returns
|
#
|
public
|
getIsNotNullExpression(string $expression): string
Returns the SQL that checks if an expression is not null.
Returns the SQL that checks if an expression is not null.
Parameters
$expression |
The expression that should be compared to null.
|
Returns
|
#
|
public
|
getBetweenExpression(string $expression, string $value1, string $value2): string
Returns the SQL that checks if an expression evaluates to a value between two values.
Returns the SQL that checks if an expression evaluates to a value between two values.
The parameter $expression is checked if it is between $value1 and $value2.
Note: There is a slight difference in the way BETWEEN works on some databases.
http://www.w3schools.com/sql/sql_between.asp. If you want complete database
independence you should avoid using between().
Parameters
$expression |
The value to compare to.
|
$value1 |
The lower value to compare with.
|
$value2 |
The higher value to compare with.
|
Returns
|
#
|
public
|
getAcosExpression(string $value): string
Returns the SQL to get the arccosine of a value.
Returns the SQL to get the arccosine of a value.
|
#
|
public
|
getSinExpression(string $value): string
Returns the SQL to get the sine of a value.
Returns the SQL to get the sine of a value.
|
#
|
public
|
getPiExpression(): string
Returns the SQL to get the PI value.
Returns the SQL to get the PI value.
|
#
|
public
|
getCosExpression(string $value): string
Returns the SQL to get the cosine of a value.
Returns the SQL to get the cosine of a value.
|
#
|
public
|
getDateDiffExpression(string $date1, string $date2): string
Returns the SQL to calculate the difference in days between the two passed dates.
Returns the SQL to calculate the difference in days between the two passed dates.
Computes diff = date1 - date2.
Throws
|
#
|
public
|
getDateAddSecondsExpression(string $date, int $seconds): string
Returns the SQL to add the number of given seconds to a date.
Returns the SQL to add the number of given seconds to a date.
Throws
|
#
|
public
|
getDateSubSecondsExpression(string $date, int $seconds): string
Returns the SQL to subtract the number of given seconds from a date.
Returns the SQL to subtract the number of given seconds from a date.
Throws
|
#
|
public
|
getDateAddMinutesExpression(string $date, int $minutes): string
Returns the SQL to add the number of given minutes to a date.
Returns the SQL to add the number of given minutes to a date.
Throws
|
#
|
public
|
getDateSubMinutesExpression(string $date, int $minutes): string
Returns the SQL to subtract the number of given minutes from a date.
Returns the SQL to subtract the number of given minutes from a date.
Throws
|
#
|
public
|
getDateAddHourExpression(string $date, int $hours): string
Returns the SQL to add the number of given hours to a date.
Returns the SQL to add the number of given hours to a date.
Throws
|
#
|
public
|
getDateSubHourExpression(string $date, int $hours): string
Returns the SQL to subtract the number of given hours to a date.
Returns the SQL to subtract the number of given hours to a date.
Throws
|
#
|
public
|
getDateAddDaysExpression(string $date, int $days): string
Returns the SQL to add the number of given days to a date.
Returns the SQL to add the number of given days to a date.
Throws
|
#
|
public
|
getDateSubDaysExpression(string $date, int $days): string
Returns the SQL to subtract the number of given days to a date.
Returns the SQL to subtract the number of given days to a date.
Throws
|
#
|
public
|
getDateAddWeeksExpression(string $date, int $weeks): string
Returns the SQL to add the number of given weeks to a date.
Returns the SQL to add the number of given weeks to a date.
Throws
|
#
|
public
|
getDateSubWeeksExpression(string $date, int $weeks): string
Returns the SQL to subtract the number of given weeks from a date.
Returns the SQL to subtract the number of given weeks from a date.
Throws
|
#
|
public
|
getDateAddMonthExpression(string $date, int $months): string
Returns the SQL to add the number of given months to a date.
Returns the SQL to add the number of given months to a date.
Throws
|
#
|
public
|
getDateSubMonthExpression(string $date, int $months): string
Returns the SQL to subtract the number of given months to a date.
Returns the SQL to subtract the number of given months to a date.
Throws
|
#
|
public
|
getDateAddQuartersExpression(string $date, int $quarters): string
Returns the SQL to add the number of given quarters to a date.
Returns the SQL to add the number of given quarters to a date.
Throws
|
#
|
public
|
getDateSubQuartersExpression(string $date, int $quarters): string
Returns the SQL to subtract the number of given quarters from a date.
Returns the SQL to subtract the number of given quarters from a date.
Throws
|
#
|
public
|
getDateAddYearsExpression(string $date, int $years): string
Returns the SQL to add the number of given years to a date.
Returns the SQL to add the number of given years to a date.
Throws
|
#
|
public
|
getDateSubYearsExpression(string $date, int $years): string
Returns the SQL to subtract the number of given years from a date.
Returns the SQL to subtract the number of given years from a date.
Throws
|
#
|
public
|
getBitAndComparisonExpression(string $value1, string $value2): string
Returns the SQL bit AND comparison expression.
Returns the SQL bit AND comparison expression.
|
#
|
public
|
getBitOrComparisonExpression(string $value1, string $value2): string
Returns the SQL bit OR comparison expression.
Returns the SQL bit OR comparison expression.
|
#
|
public
|
getForUpdateSQL(): string
Returns the FOR UPDATE expression.
Returns the FOR UPDATE expression.
|
#
|
public
|
appendLockHint(string $fromClause, int|null $lockMode): string
Honors that some SQL vendors such as MsSql use table hints for locking instead of the
ANSI SQL FOR UPDATE specification.
Honors that some SQL vendors such as MsSql use table hints for locking instead of the
ANSI SQL FOR UPDATE specification.
Parameters
$fromClause |
The FROM clause to append the hint for the given lock mode to.
|
$lockMode |
One of the Doctrine\DBAL\LockMode::* constants. If null is given, nothing will
be appended to the FROM clause.
|
|
#
|
public
|
getReadLockSQL(): string
Returns the SQL snippet to append to any SELECT statement which locks rows in shared read lock.
Returns the SQL snippet to append to any SELECT statement which locks rows in shared read lock.
This defaults to the ANSI SQL "FOR UPDATE", which is an exclusive lock (Write). Some database
vendors allow to lighten this constraint up to be a real read lock.
|
#
|
public
|
getWriteLockSQL(): string
Returns the SQL snippet to append to any SELECT statement which obtains an exclusive lock on the rows.
Returns the SQL snippet to append to any SELECT statement which obtains an exclusive lock on the rows.
The semantics of this lock mode should equal the SELECT .. FOR UPDATE of the ANSI SQL standard.
|
#
|
public
|
getDropDatabaseSQL(string $name): string
Returns the SQL snippet to drop an existing database.
Returns the SQL snippet to drop an existing database.
Parameters
$name |
The name of the database that should be dropped.
|
|
#
|
public
|
getDropTableSQL(Table|string $table): string
Returns the SQL snippet to drop an existing table.
Returns the SQL snippet to drop an existing table.
Throws
|
#
|
public
|
getDropTemporaryTableSQL(Table|string $table): string
Returns the SQL to safely drop a temporary table WITHOUT implicitly committing an open transaction.
Returns the SQL to safely drop a temporary table WITHOUT implicitly committing an open transaction.
|
#
|
public
|
getDropIndexSQL(Index|string $index, Table|string $table = null): string
Returns the SQL to drop an index from a table.
Returns the SQL to drop an index from a table.
Throws
|
#
|
public
|
getDropConstraintSQL(Constraint|string $constraint, Table|string $table): string
Returns the SQL to drop a constraint.
Returns the SQL to drop a constraint.
|
#
|
public
|
getDropForeignKeySQL(ForeignKeyConstraint|string $foreignKey, Table|string $table): string
Returns the SQL to drop a foreign key.
Returns the SQL to drop a foreign key.
|
#
|
public
|
getCreateTableSQL(Table $table, int $createFlags = self::CREATE_INDEXES): string[]
Returns the SQL statement(s) to create a table with the specified name, columns and constraints
on this platform.
Returns the SQL statement(s) to create a table with the specified name, columns and constraints
on this platform.
Returns
The sequence of SQL statements.
Throws
|
#
|
public
|
getCommentOnColumnSQL(string $tableName, string $columnName, string|null $comment): string
|
#
|
public
|
getInlineColumnCommentSQL(string $comment): string
Returns the SQL to create inline comment on a column.
Returns the SQL to create inline comment on a column.
Throws
|
#
|
public
|
getCreateTemporaryTableSnippetSQL(): string
|
#
|
public
|
getCreateSequenceSQL(Sequence $sequence): string
Returns the SQL to create a sequence on this platform.
Returns the SQL to create a sequence on this platform.
Throws
|
#
|
public
|
getAlterSequenceSQL(Sequence $sequence): string
Returns the SQL to change a sequence on this platform.
Returns the SQL to change a sequence on this platform.
Throws
|
#
|
public
|
getCreateConstraintSQL(Constraint $constraint, Table|string $table): string
Returns the SQL to create a constraint on a table on this platform.
Returns the SQL to create a constraint on a table on this platform.
Throws
|
#
|
public
|
getCreateIndexSQL(Index $index, Table|string $table): string
Returns the SQL to create an index on a table on this platform.
Returns the SQL to create an index on a table on this platform.
Parameters
$table |
The name of the table on which the index is to be created.
|
Throws
|
#
|
public
|
getCreatePrimaryKeySQL(Index $index, Table|string $table): string
Returns the SQL to create an unnamed primary key constraint.
Returns the SQL to create an unnamed primary key constraint.
|
#
|
public
|
getCreateSchemaSQL(string $schemaName): string
Returns the SQL to create a named schema.
Returns the SQL to create a named schema.
Throws
|
#
|
public
|
quoteIdentifier(string $str): string
Quotes a string so that it can be safely used as a table or column name,
even if it is a reserved word of the platform.…
Quotes a string so that it can be safely used as a table or column name,
even if it is a reserved word of the platform. This also detects identifier
chains separated by dot and quotes them independently.
NOTE: Just because you CAN use quoted identifiers doesn't mean
you SHOULD use them. In general, they end up causing way more
problems than they solve.
Parameters
$str |
The identifier name to be quoted.
|
Returns
The quoted identifier string.
|
#
|
public
|
quoteSingleIdentifier(string $str): string
Quotes a single identifier (no dot chain separation).
Quotes a single identifier (no dot chain separation).
Parameters
$str |
The identifier name to be quoted.
|
Returns
The quoted identifier string.
|
#
|
public
|
getCreateForeignKeySQL(ForeignKeyConstraint $foreignKey, Table|string $table): string
Returns the SQL to create a new foreign key.
Returns the SQL to create a new foreign key.
Parameters
$foreignKey |
The foreign key constraint.
|
$table |
The name of the table on which the foreign key is to be created.
|
|
#
|
public
|
getAlterTableSQL(TableDiff $diff): string[]
Gets the SQL statements for altering an existing table.
Gets the SQL statements for altering an existing table.
This method returns an array of SQL statements, since some platforms need several statements.
Throws
|
#
|
public
|
getColumnDeclarationListSQL(mixed[][] $columns): string
Gets declaration of a number of columns in bulk.
Gets declaration of a number of columns in bulk.
Parameters
$columns |
A multidimensional associative array.
The first dimension determines the column name, while the second
dimension is keyed with the name of the properties
of the column being declared as array indexes. Currently, the types
of supported column properties are as follows:
|
|
#
|
public
|
getColumnDeclarationSQL(string $name, mixed[] $column): string
Obtains DBMS specific SQL code portion needed to declare a generic type
column to be used in statements like CREATE…
Obtains DBMS specific SQL code portion needed to declare a generic type
column to be used in statements like CREATE TABLE.
Parameters
$name |
The name the column to be declared.
|
$column |
An associative array with the name of the properties
of the column being declared as array indexes. Currently, the types
of supported column properties are as follows:
|
Returns
DBMS specific SQL code portion that should be used to declare the column.
|
#
|
public
|
getDecimalTypeDeclarationSQL(mixed[] $column): string
Returns the SQL snippet that declares a floating point column of arbitrary precision.
Returns the SQL snippet that declares a floating point column of arbitrary precision.
|
#
|
public
|
getDefaultValueDeclarationSQL(mixed[] $column): string
Obtains DBMS specific SQL code portion needed to set a default value
declaration to be used in statements like CREATE…
Obtains DBMS specific SQL code portion needed to set a default value
declaration to be used in statements like CREATE TABLE.
Parameters
$column |
The column definition array.
|
Returns
DBMS specific SQL code portion needed to set a default value.
|
#
|
public
|
getCheckDeclarationSQL(string[]|mixed[][] $definition): string
Obtains DBMS specific SQL code portion needed to set a CHECK constraint
declaration to be used in statements like…
Obtains DBMS specific SQL code portion needed to set a CHECK constraint
declaration to be used in statements like CREATE TABLE.
Parameters
$definition |
The check definition.
|
Returns
DBMS specific SQL code portion needed to set a CHECK constraint.
|
#
|
public
|
getUniqueConstraintDeclarationSQL(string $name, Index $index): string
Obtains DBMS specific SQL code portion needed to set a unique
constraint declaration to be used in statements like…
Obtains DBMS specific SQL code portion needed to set a unique
constraint declaration to be used in statements like CREATE TABLE.
Parameters
$name |
The name of the unique constraint.
|
$index |
The index definition.
|
Returns
DBMS specific SQL code portion needed to set a constraint.
Throws
|
#
|
public
|
getIndexDeclarationSQL(string $name, Index $index): string
Obtains DBMS specific SQL code portion needed to set an index
declaration to be used in statements like CREATE TABLE.
Obtains DBMS specific SQL code portion needed to set an index
declaration to be used in statements like CREATE TABLE.
Parameters
$name |
The name of the index.
|
$index |
The index definition.
|
Returns
DBMS specific SQL code portion needed to set an index.
Throws
|
#
|
public
|
getCustomTypeDeclarationSQL(mixed[] $column): string
Obtains SQL code portion needed to create a custom column,
e.g. when a column has the "columnDefinition" keyword.
Only …
Obtains SQL code portion needed to create a custom column,
e.g. when a column has the "columnDefinition" keyword.
Only "AUTOINCREMENT" and "PRIMARY KEY" are added if appropriate.
|
#
|
public
|
getIndexFieldDeclarationListSQL(mixed[]|Index $columnsOrIndex): string
Obtains DBMS specific SQL code portion needed to set an index
declaration to be used in statements like CREATE TABLE.
Obtains DBMS specific SQL code portion needed to set an index
declaration to be used in statements like CREATE TABLE.
Parameters
$columnsOrIndex |
array declaration is deprecated, prefer passing Index to this method
|
|
#
|
public
|
getTemporaryTableSQL(): string
Returns the required SQL string that fits between CREATE ... TABLE
to create the table as a temporary table.
Returns the required SQL string that fits between CREATE ... TABLE
to create the table as a temporary table.
Should be overridden in driver classes to return the correct string for the
specific database type.
The default is to return the string "TEMPORARY" - this will result in a
SQL error for any database that does not support temporary tables, or that
requires a different SQL command from "CREATE TEMPORARY TABLE".
Returns
The string required to be placed between "CREATE" and "TABLE"
to generate a temporary table, if possible.
|
#
|
public
|
getTemporaryTableName(string $tableName): string
Some vendors require temporary table names to be qualified specially.
Some vendors require temporary table names to be qualified specially.
|
#
|
public
|
getForeignKeyDeclarationSQL(ForeignKeyConstraint $foreignKey): string
Obtain DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
of a column declaration to be used in…
Obtain DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
of a column declaration to be used in statements like CREATE TABLE.
Returns
DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
of a column declaration.
|
#
|
public
|
getAdvancedForeignKeyOptionsSQL(ForeignKeyConstraint $foreignKey): string
Returns the FOREIGN KEY query section dealing with non-standard options
as MATCH, INITIALLY DEFERRED, ON UPDATE, ...
Returns the FOREIGN KEY query section dealing with non-standard options
as MATCH, INITIALLY DEFERRED, ON UPDATE, ...
Parameters
$foreignKey |
The foreign key definition.
|
|
#
|
public
|
getForeignKeyReferentialActionSQL(string $action): string
Returns the given referential action in uppercase if valid, otherwise throws an exception.
Returns the given referential action in uppercase if valid, otherwise throws an exception.
Parameters
$action |
The foreign key referential action.
|
Throws
|
#
|
public
|
getForeignKeyBaseDeclarationSQL(ForeignKeyConstraint $foreignKey): string
Obtains DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
of a column declaration to be used in…
Obtains DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
of a column declaration to be used in statements like CREATE TABLE.
Throws
|
#
|
public
|
getUniqueFieldDeclarationSQL(): string
Obtains DBMS specific SQL code portion needed to set the UNIQUE constraint
of a column declaration to be used in…
Obtains DBMS specific SQL code portion needed to set the UNIQUE constraint
of a column declaration to be used in statements like CREATE TABLE.
Returns
DBMS specific SQL code portion needed to set the UNIQUE constraint
of a column declaration.
|
#
|
public
|
getColumnCharsetDeclarationSQL(string $charset): string
Obtains DBMS specific SQL code portion needed to set the CHARACTER SET
of a column declaration to be used in statements…
Obtains DBMS specific SQL code portion needed to set the CHARACTER SET
of a column declaration to be used in statements like CREATE TABLE.
Parameters
$charset |
The name of the charset.
|
Returns
DBMS specific SQL code portion needed to set the CHARACTER SET
of a column declaration.
|
#
|
public
|
getColumnCollationDeclarationSQL(string $collation): string
Obtains DBMS specific SQL code portion needed to set the COLLATION
of a column declaration to be used in statements…
Obtains DBMS specific SQL code portion needed to set the COLLATION
of a column declaration to be used in statements like CREATE TABLE.
Parameters
$collation |
The name of the collation.
|
Returns
DBMS specific SQL code portion needed to set the COLLATION
of a column declaration.
|
#
|
public
|
prefersSequences(): bool
Whether the platform prefers sequences for ID generation.
Subclasses should override this method to return TRUE if they…
Whether the platform prefers sequences for ID generation.
Subclasses should override this method to return TRUE if they prefer sequences.
|
#
|
public
|
prefersIdentityColumns(): bool
Whether the platform prefers identity columns (eg. autoincrement) for ID generation.
Subclasses should override this…
Whether the platform prefers identity columns (eg. autoincrement) for ID generation.
Subclasses should override this method to return TRUE if they prefer identity columns.
|
#
|
public
|
convertBooleans(mixed $item): mixed
Some platforms need the boolean values to be converted.
Some platforms need the boolean values to be converted.
The default conversion in this implementation converts to integers (false => 0, true => 1).
Note: if the input is not a boolean the original input might be returned.
There are two contexts when converting booleans: Literals and Prepared Statements.
This method should handle the literal case
Parameters
$item |
A boolean or an array of them.
|
Returns
A boolean database value or an array of them.
|
#
|
public
|
convertFromBoolean(mixed $item): bool|null
Some platforms have boolean literals that needs to be correctly converted
Some platforms have boolean literals that needs to be correctly converted
The default conversion tries to convert value into bool "(bool)$item"
|
#
|
public
|
convertBooleansToDatabaseValue(mixed $item): mixed
This method should handle the prepared statements case. When there is no
distinction, it's OK to use the same method.
This method should handle the prepared statements case. When there is no
distinction, it's OK to use the same method.
Note: if the input is not a boolean the original input might be returned.
Parameters
$item |
A boolean or an array of them.
|
Returns
A boolean database value or an array of them.
|
#
|
public
|
getCurrentDateSQL(): string
Returns the SQL specific for the platform to get the current date.
Returns the SQL specific for the platform to get the current date.
|
#
|
public
|
getCurrentTimeSQL(): string
Returns the SQL specific for the platform to get the current time.
Returns the SQL specific for the platform to get the current time.
|
#
|
public
|
getCurrentTimestampSQL(): string
Returns the SQL specific for the platform to get the current timestamp
Returns the SQL specific for the platform to get the current timestamp
|
#
|
public
|
getListDatabasesSQL(): string
|
#
|
public
|
getListNamespacesSQL(): string
Returns the SQL statement for retrieving the namespaces defined in the database.
Returns the SQL statement for retrieving the namespaces defined in the database.
Throws
|
#
|
public
|
getListSequencesSQL(string $database): string
|
#
|
public
|
getListTableConstraintsSQL(string $table): string
|
#
|
public
|
getListTableColumnsSQL(string $table, string $database = null): string
|
#
|
public
|
getListTablesSQL(): string
|
#
|
public
|
getListUsersSQL(): string
|
#
|
public
|
getListViewsSQL(string $database): string
Returns the SQL to list all views of a database or user.
Returns the SQL to list all views of a database or user.
Throws
|
#
|
public
|
getListTableIndexesSQL(string $table, string $database = null): string
Returns the list of indexes for the current database.
Returns the list of indexes for the current database.
The current database parameter is optional but will always be passed
when using the SchemaManager API and is the database the given table is in.
Attention: Some platforms only support currentDatabase when they
are connected with that database. Cross-database information schema
requests may be impossible.
Throws
|
#
|
public
|
getListTableForeignKeysSQL(string $table): string
|
#
|
public
|
getCreateViewSQL(string $name, string $sql): string
|
#
|
public
|
getDropViewSQL(string $name): string
|
#
|
public
|
getDropSequenceSQL(Sequence|string $sequence): string
Returns the SQL snippet to drop an existing sequence.
Returns the SQL snippet to drop an existing sequence.
Throws
|
#
|
public
|
getSequenceNextValSQL(string $sequence): string
|
#
|
public
|
getCreateDatabaseSQL(string $name): string
Returns the SQL to create a new database.
Returns the SQL to create a new database.
Parameters
$name |
The name of the database that should be created.
|
Throws
|
#
|
public
|
getSetTransactionIsolationSQL(int $level): string
Returns the SQL to set the transaction isolation level.
Returns the SQL to set the transaction isolation level.
Throws
|
#
|
public
|
getDateTimeTypeDeclarationSQL(mixed[] $column): string
Obtains DBMS specific SQL to be used to create datetime columns in
statements like CREATE TABLE.
Obtains DBMS specific SQL to be used to create datetime columns in
statements like CREATE TABLE.
Throws
|
#
|
public
|
getDateTimeTzTypeDeclarationSQL(mixed[] $column): string
Obtains DBMS specific SQL to be used to create datetime with timezone offset columns.
Obtains DBMS specific SQL to be used to create datetime with timezone offset columns.
|
#
|
public
|
getDateTypeDeclarationSQL(mixed[] $column): string
Obtains DBMS specific SQL to be used to create date columns in statements
like CREATE TABLE.
Obtains DBMS specific SQL to be used to create date columns in statements
like CREATE TABLE.
Throws
|
#
|
public
|
getTimeTypeDeclarationSQL(mixed[] $column): string
Obtains DBMS specific SQL to be used to create time columns in statements
like CREATE TABLE.
Obtains DBMS specific SQL to be used to create time columns in statements
like CREATE TABLE.
Throws
|
#
|
public
|
getFloatDeclarationSQL(mixed[] $column): string
|
#
|
public
|
getDefaultTransactionIsolationLevel(): int
Gets the default transaction isolation level of the platform.
Gets the default transaction isolation level of the platform.
Returns
The default isolation level.
|
#
|
public
|
supportsSequences(): bool
Whether the platform supports sequences.
Whether the platform supports sequences.
|
#
|
public
|
supportsIdentityColumns(): bool
Whether the platform supports identity columns.
Whether the platform supports identity columns.
Identity columns are columns that receive an auto-generated value from the
database on insert of a row.
|
#
|
public
|
usesSequenceEmulatedIdentityColumns(): bool
Whether the platform emulates identity columns through sequences.
Whether the platform emulates identity columns through sequences.
Some platforms that do not support identity columns natively
but support sequences can emulate identity columns by using
sequences.
|
#
|
public
|
getIdentitySequenceName(string $tableName, string $columnName): string
Returns the name of the sequence for a particular identity column in a particular table.
Returns the name of the sequence for a particular identity column in a particular table.
Parameters
$tableName |
The name of the table to return the sequence name for.
|
$columnName |
The name of the identity column in the table to return the sequence name for.
|
Throws
|
#
|
public
|
supportsIndexes(): bool
Whether the platform supports indexes.
Whether the platform supports indexes.
|
#
|
public
|
supportsPartialIndexes(): bool
Whether the platform supports partial indexes.
Whether the platform supports partial indexes.
|
#
|
public
|
supportsColumnLengthIndexes(): bool
Whether the platform supports indexes with column length definitions.
Whether the platform supports indexes with column length definitions.
|
#
|
public
|
supportsAlterTable(): bool
Whether the platform supports altering tables.
Whether the platform supports altering tables.
|
#
|
public
|
supportsTransactions(): bool
Whether the platform supports transactions.
Whether the platform supports transactions.
|
#
|
public
|
supportsSavepoints(): bool
Whether the platform supports savepoints.
Whether the platform supports savepoints.
|
#
|
public
|
supportsReleaseSavepoints(): bool
Whether the platform supports releasing savepoints.
Whether the platform supports releasing savepoints.
|
#
|
public
|
supportsPrimaryConstraints(): bool
Whether the platform supports primary key constraints.
Whether the platform supports primary key constraints.
|
#
|
public
|
supportsForeignKeyConstraints(): bool
Whether the platform supports foreign key constraints.
Whether the platform supports foreign key constraints.
|
#
|
public
|
supportsForeignKeyOnUpdate(): bool
Whether this platform supports onUpdate in foreign key constraints.
Whether this platform supports onUpdate in foreign key constraints.
|
#
|
public
|
supportsSchemas(): bool
Whether the platform supports database schemas.
Whether the platform supports database schemas.
|
#
|
public
|
canEmulateSchemas(): bool
Whether this platform can emulate schemas.
Whether this platform can emulate schemas.
Platforms that either support or emulate schemas don't automatically
filter a schema for the namespaced elements in {@link AbstractManager::createSchema()}.
|
#
|
public
|
getDefaultSchemaName(): string
Returns the default schema name.
Returns the default schema name.
Throws
|
#
|
public
|
supportsCreateDropDatabase(): bool
Whether this platform supports create database.
Whether this platform supports create database.
Some databases don't allow to create and drop databases at all or only with certain tools.
|
#
|
public
|
supportsGettingAffectedRows(): bool
Whether the platform supports getting the affected rows of a recent update/delete type query.
Whether the platform supports getting the affected rows of a recent update/delete type query.
|
#
|
public
|
supportsInlineColumnComments(): bool
Whether this platform support to add inline column comments as postfix.
Whether this platform support to add inline column comments as postfix.
|
#
|
public
|
supportsCommentOnStatement(): bool
Whether this platform support the proprietary syntax "COMMENT ON asset".
Whether this platform support the proprietary syntax "COMMENT ON asset".
|
#
|
public
|
hasNativeGuidType(): bool
Does this platform have native guid type.
Does this platform have native guid type.
|
#
|
public
|
hasNativeJsonType(): bool
Does this platform have native JSON type.
Does this platform have native JSON type.
|
#
|
public
|
getIdentityColumnNullInsertSQL(): string
|
#
|
public
|
supportsViews(): bool
Whether this platform supports views.
Whether this platform supports views.
|
#
|
public
|
supportsColumnCollation(): bool
Does this platform support column collation?
Does this platform support column collation?
|
#
|
public
|
getDateTimeFormatString(): string
Gets the format string, as accepted by the date() function, that describes
the format of a stored datetime value of…
Gets the format string, as accepted by the date() function, that describes
the format of a stored datetime value of this platform.
Returns
|
#
|
public
|
getDateTimeTzFormatString(): string
Gets the format string, as accepted by the date() function, that describes
the format of a stored datetime with…
Gets the format string, as accepted by the date() function, that describes
the format of a stored datetime with timezone value of this platform.
Returns
|
#
|
public
|
getDateFormatString(): string
Gets the format string, as accepted by the date() function, that describes
the format of a stored date value of this…
Gets the format string, as accepted by the date() function, that describes
the format of a stored date value of this platform.
Returns
|
#
|
public
|
getTimeFormatString(): string
Gets the format string, as accepted by the date() function, that describes
the format of a stored time value of this…
Gets the format string, as accepted by the date() function, that describes
the format of a stored time value of this platform.
Returns
|
#
|
final
public
|
modifyLimitQuery(string $query, int|null $limit, int|null $offset = null): string
Adds an driver-specific LIMIT clause to the query.
Adds an driver-specific LIMIT clause to the query.
Throws
|
#
|
public
|
supportsLimitOffset(): bool
Whether the database platform support offsets in modify limit clauses.
Whether the database platform support offsets in modify limit clauses.
|
#
|
public
|
getSQLResultCasing(string $column): string
Gets the character casing of a column in an SQL result set of this platform.
Gets the character casing of a column in an SQL result set of this platform.
Parameters
$column |
The column name for which to get the correct character casing.
|
Returns
The column name in the character casing used in SQL result sets.
|
#
|
public
|
fixSchemaElementName(string $schemaElementName): string
Makes any fixes to a name of a schema element (table, sequence, ...) that are required
by restrictions of the platform,…
Makes any fixes to a name of a schema element (table, sequence, ...) that are required
by restrictions of the platform, like a maximum length.
|
#
|
public
|
getMaxIdentifierLength(): int
Maximum length of any given database identifier, like tables or column names.
Maximum length of any given database identifier, like tables or column names.
|
#
|
public
|
getEmptyIdentityInsertSQL(string $quotedTableName, string $quotedIdentifierColumnName): string
Returns the insert SQL for an empty insert statement.
Returns the insert SQL for an empty insert statement.
|
#
|
public
|
getTruncateTableSQL(string $tableName, bool $cascade = false): string
Generates a Truncate Table SQL statement for a given table.
Generates a Truncate Table SQL statement for a given table.
Cascade is not supported on many platforms but would optionally cascade the truncate by
following the foreign keys.
|
#
|
public
|
getDummySelectSQL(): string
This is for test reasons, many vendors have special requirements for dummy statements.
This is for test reasons, many vendors have special requirements for dummy statements.
|
#
|
public
|
createSavePoint(string $savepoint): string
Returns the SQL to create a new savepoint.
Returns the SQL to create a new savepoint.
|
#
|
public
|
releaseSavePoint(string $savepoint): string
Returns the SQL to release a savepoint.
Returns the SQL to release a savepoint.
|
#
|
public
|
rollbackSavePoint(string $savepoint): string
Returns the SQL to rollback a savepoint.
Returns the SQL to rollback a savepoint.
|
#
|
final
public
|
getReservedKeywordsList(): KeywordList
Returns the keyword list instance of this platform.
Returns the keyword list instance of this platform.
Throws
|
#
|
public
|
quoteStringLiteral(string $str): string
Quotes a literal string.
This method is NOT meant to fix SQL injections!
It is only meant to escape this platform's…
Quotes a literal string.
This method is NOT meant to fix SQL injections!
It is only meant to escape this platform's string literal
quote character inside the given literal string.
Parameters
$str |
The literal string to be quoted.
|
Returns
The quoted literal string.
|
#
|
public
|
getStringLiteralQuoteCharacter(): string
Gets the character used for string literal quoting.
Gets the character used for string literal quoting.
|
#
|
final
public
|
escapeStringForLike(string $inputString, string $escapeChar): string
Escapes metacharacters in a string intended to be used with a LIKE
operator.
Escapes metacharacters in a string intended to be used with a LIKE
operator.
Parameters
$inputString |
a literal, unquoted string
|
$escapeChar |
should be reused by the caller in the LIKE
expression.
|
|
#
|