| 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. 
 | 
									 
							 
	 
			 | 
		
			#
		 |