The SybaseSQLAnywhere10Dialect type exposes the following members.

Constructors

  NameDescription
Public methodSybaseSQLAnywhere10Dialect
Initializes a new instance of the SybaseSQLAnywhere10Dialect class

Methods

  NameDescription
Public methodAddIdentifierOutParameterToInsert (Inherited from Dialect.)
Public methodAppendIdentitySelectToInsert (Overrides Dialect..::..AppendIdentitySelectToInsert(SqlString).)
Public methodAppendLockHint
Some dialects support an alternative means to SELECT FOR UPDATE, whereby a "lock hint" is appends to the table name in the from clause.
(Inherited from Dialect.)
Public methodApplyLocksToSql
Modifies the given SQL by applying the appropriate updates for the specified lock modes and key columns.
(Inherited from Dialect.)
Public methodBuildSQLExceptionConverter
Build an instance of the ISQLExceptionConverter preferred by this dialect for converting DbException into NHibernate's ADOException hierarchy.
(Inherited from Dialect.)
Public methodCreateCaseFragment
Create a CaseFragment strategy responsible for handling this dialect's variations in how CASE statements are handled.
(Inherited from Dialect.)
Public methodCreateOuterJoinFragment
Create a JoinFragment strategy responsible for handling this dialect's variations in how joins are handled.
(Inherited from Dialect.)
Public methodDropTemporaryTableAfterUse
Do we need to drop the temporary table after use?
(Inherited from Dialect.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGenerateTemporaryTableName
Generate a temporary table name given the bas table.
(Inherited from Dialect.)
Public methodGetAddForeignKeyConstraintString
The syntax used to add a foreign key constraint to a table. If SupportsForeignKeyConstraintInAlterTable is false, the returned string will be added to the create table statement instead. In this case, extra strings, like "add", that apply when using alter table should be omitted.
(Inherited from Dialect.)
Public methodGetAddPrimaryKeyConstraintString
The syntax used to add a primary key constraint to a table
(Inherited from Dialect.)
Public methodGetCastTypeName
Get the name of the database type appropriate for casting operations (via the CAST() SQL function) for the given SqlType typecode.
(Inherited from Dialect.)
Public methodGetColumnComment (Inherited from Dialect.)
Public methodGetCreateSequenceString(String)
Typically dialects which support sequences can create a sequence with a single command.
(Inherited from Dialect.)
Protected methodGetCreateSequenceString(String, Int32, Int32)
Overloaded form of GetCreateSequenceString(String), additionally taking the initial value and increment size to be applied to the sequence definition.
(Inherited from Dialect.)
Public methodGetCreateSequenceStrings
An optional multi-line form for databases which SupportsPooledSequences.
(Inherited from Dialect.)
Public methodGetDataBaseSchema (Overrides Dialect..::..GetDataBaseSchema(DbConnection).)
Public methodGetDropForeignKeyConstraintString
The syntax used to drop a foreign key constraint from a table.
(Inherited from Dialect.)
Public methodGetDropIndexConstraintString
The syntax used to drop an index constraint from a table.
(Inherited from Dialect.)
Public methodGetDropPrimaryKeyConstraintString
The syntax used to drop a primary key constraint from a table.
(Inherited from Dialect.)
Public methodGetDropSequenceString
Typically dialects which support sequences can drop a sequence with a single command.
(Inherited from Dialect.)
Public methodGetDropSequenceStrings
The multiline script used to drop a sequence.
(Inherited from Dialect.)
Public methodGetDropTableString
Return SQL needed to drop the named table. May (and should) use some form of "if exists" clause, and cascade constraints.
(Inherited from Dialect.)
Public methodGetForUpdateNowaitString
Get the FOR UPDATE OF column_list NOWAIT fragment appropriate for this dialect given the aliases of the columns to be write locked.
(Inherited from Dialect.)
Public methodGetForUpdateString(String)
Get the FOR UPDATE OF column_list fragment appropriate for this dialect given the aliases of the columns to be write locked.
(Inherited from Dialect.)
Public methodGetForUpdateString(LockMode)
SQL Anywhere 10 supports READ, WRITE, and INTENT row locks. INTENT locks are sufficient to ensure that other concurrent connections cannot modify a row (though other connections can still read that row). SQL Anywhere also supports 3 modes of snapshot isolation (multi-version concurrency control (MVCC). SQL Anywhere's FOR UPDATE clause supports FOR UPDATE BY [ LOCK | VALUES ]FOR UPDATE OF ( COLUMN LIST ) though they cannot be specified at the same time. BY LOCK is the syntax that acquires INTENT locks. FOR UPDATE BY VALUES forces the use of the KEYSET cursor, which returns a warning to the application when a row in the cursor has been subsequently modified by another connection, and an error if the row has been deleted. SQL Anywhere does not support the FOR UPDATE NOWAIT syntax of Oracle on a statement-by-statement basis. However, the identical functionality is provided by setting the connection option BLOCKING to "OFF", or setting an appropriate timeout period through the connection option BLOCKING_TIMEOUT.
(Overrides Dialect..::..GetForUpdateString(LockMode).)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetHibernateTypeName(DbType)
Get the name of the Hibernate IType associated with th given DbType typecode.
(Inherited from Dialect.)
Public methodGetHibernateTypeName(DbType, Int32, Int32, Int32)
Get the name of the Hibernate IType associated with the given DbType typecode with the given storage specification parameters.
(Inherited from Dialect.)
Public methodGetIdentityColumnString
The syntax used during DDL to define a column as being an IDENTITY of a particular type.
(Inherited from Dialect.)
Public methodGetIdentitySelectString
Get the select command to use to retrieve the last generated IDENTITY value for a particular table
(Inherited from Dialect.)
Public methodGetIfExistsDropConstraint
The syntax that is used to check if a constraint exists before dropping it
(Inherited from Dialect.)
Public methodGetIfExistsDropConstraintEnd
The syntax that is used to close the if for a constraint exists check, used for dialects that requires begin/end for ifs
(Inherited from Dialect.)
Public methodGetIfNotExistsCreateConstraint
The syntax that is used to check if a constraint does not exists before creating it
(Inherited from Dialect.)
Public methodGetIfNotExistsCreateConstraintEnd
The syntax that is used to close the if for a constraint exists check, used for dialects that requires begin/end for ifs
(Inherited from Dialect.)
Public methodGetLimitString(SqlString, SqlString, SqlString) (Overrides Dialect..::..GetLimitString(SqlString, SqlString, SqlString).)
Public methodGetLimitString(SqlString, Nullable<(Of <<'(Int32>)>>), Nullable<(Of <<'(Int32>)>>), Parameter, Parameter)
Generates a string to limit the result set to a number of maximum results with a specified offset into the results. Expects any database-specific offset and limit adjustments to have already been performed (ex. UseMaxForLimit, OffsetStartsAtOne). Performs error checking based on the various dialect limit support options. If both parameters and fixed valeus are specified, this will use the parameter option if possible. Otherwise, it will fall back to a fixed string.
(Inherited from Dialect.)
Public methodGetLimitValue
Some databases require that a limit statement contain the maximum row number instead of the number of rows to retrieve. This method adjusts source limit and offset values to account for this.
(Inherited from Dialect.)
Public methodGetLockingStrategy
Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.
(Inherited from Dialect.)
Public methodGetLongestTypeName
Gets the name of the longest registered type for a particular DbType.
(Inherited from Dialect.)
Public methodGetOffsetValue
Some databases use limit row offsets that start at one instead of zero. This method adjusts a desired offset using the OffsetStartsAtOne flag.
(Inherited from Dialect.)
Public methodGetResultSet (Overrides Dialect..::..GetResultSet(DbCommand).)
Public methodGetSelectClauseNullString
Given a DbType type code, determine an appropriate null value to use in a select clause.
(Inherited from Dialect.)
Public methodGetSelectSequenceNextValString
Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.
(Inherited from Dialect.)
Public methodGetSequenceNextValString
Generate the appropriate select statement to to retreive the next value of a sequence.
(Inherited from Dialect.)
Public methodGetTableComment (Inherited from Dialect.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetTypeName(SqlType)
Get the name of the database type associated with the given SqlType,
(Inherited from Dialect.)
Public methodGetTypeName(SqlType, Int32, Int32, Int32)
Get the name of the database type associated with the given SqlType.
(Inherited from Dialect.)
Public methodIsKnownToken (Inherited from Dialect.)
Public methodIsQuoted
Checks to see if the name has been quoted.
(Inherited from Dialect.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPerformTemporaryTableDDLInIsolation
SQL Anywhere 10 does not perform a COMMIT upon creation of a temporary table. However, it does perform an implicit COMMIT when creating an index over a temporary table, or upon ALTERing the definition of temporary table.
(Overrides Dialect..::..PerformTemporaryTableDDLInIsolation()()()().)
Public methodQualify (Inherited from Dialect.)
Protected methodQuote
Quotes a name.
(Inherited from Dialect.)
Public methodQuoteForAliasName
Quotes a name for being used as a aliasname
(Inherited from Dialect.)
Public methodQuoteForColumnName
Quotes a name for being used as a columnname
(Inherited from Dialect.)
Public methodQuoteForSchemaName
Quotes a name for being used as a schemaname
(Inherited from Dialect.)
Public methodQuoteForTableName
Quotes a name for being used as a tablename
(Inherited from Dialect.)
Protected methodRegisterAggregationFunctions
Protected methodRegisterBitFunctions
Protected methodRegisterCharacterTypeMappings
Protected methodRegisterColumnType(DbType, String)
Suclasses register a typename for the given type code. $l in the typename will be replaced by the column length (if appropriate).
(Inherited from Dialect.)
Protected methodRegisterColumnType(DbType, Int32, String)
Subclasses register a typename for the given type code and maximum column length. $l in the type name will be replaced by the column length (if appropriate)
(Inherited from Dialect.)
Protected methodRegisterDateFunctions
Protected methodRegisterDateTimeTypeMappings
Protected methodRegisterFunction
(Inherited from Dialect.)
Protected methodRegisterFunctions
Protected methodRegisterHibernateType(DbType, String)
Registers a Hibernate IType name for the given DbType type code.
(Inherited from Dialect.)
Protected methodRegisterHibernateType(DbType, Int32, String)
Registers a Hibernate IType name for the given DbType type code and maximum column length.
(Inherited from Dialect.)
Protected methodRegisterKeyword (Inherited from Dialect.)
Protected methodRegisterKeywords
Protected methodRegisterMathFunctions
Protected methodRegisterMiscellaneousFunctions
Protected methodRegisterNumericTypeMappings
Public methodRegisterResultSetOutParameter
SQL Anywhere does support OUT parameters with callable stored procedures.
(Overrides Dialect..::..RegisterResultSetOutParameter(DbCommand, Int32).)
Protected methodRegisterReverseNHibernateTypeMappings
Protected methodRegisterSoapFunctions
Protected methodRegisterStringFunctions
Protected methodRegisterXmlFunctions
Public methodToBooleanValueString
The SQL literal value to which this database maps boolean values.
(Inherited from Dialect.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUnQuote(String)
Unquotes and unescapes an already quoted name
(Inherited from Dialect.)
Public methodUnQuote(array<String>[]()[][])
Unquotes an array of Quoted Names.
(Inherited from Dialect.)

Extension Methods

  NameDescription
Public Extension MethodAs<(Of <<'(T>)>>) (Defined by TypeHelperExtensionMethods.)
Public Extension MethodIsBetween
Apply a "between" constraint to the named property Note: throws an exception outside of a QueryOver expression
(Defined by RestrictionExtensions.)
Public Extension MethodIsIn(array<Object>[]()[][])Overloaded.
Apply an "in" constraint to the named property Note: throws an exception outside of a QueryOver expression
(Defined by RestrictionExtensions.)
Public Extension MethodIsIn(ICollection)Overloaded.
Apply an "in" constraint to the named property Note: throws an exception outside of a QueryOver expression
(Defined by RestrictionExtensions.)
Public Extension MethodIsProxy (Defined by NHibernateProxyHelper.)
Public Extension MethodToTypeParameters (Defined by ReflectHelper.)

Properties

  NameDescription
Public propertyAddColumnString (Overrides Dialect..::..AddColumnString.)
Public propertyAreStringComparisonsCaseInsensitive
By default, the SQL Anywhere dbinit utility creates a case-insensitive database for the CHAR collation. This can be changed through the use of the -c command line switch on dbinit, and the setting may differ for the NCHAR collation for national character sets. Whether or not a database supports case-sensitive comparisons can be determined via the DB_Extended_property() function, for example SELECT DB_EXTENDED_PROPERTY( 'Collation', 'CaseSensitivity');
(Overrides Dialect..::..AreStringComparisonsCaseInsensitive.)
Public propertyCascadeConstraintsString
Completely optional cascading drop clause
(Inherited from Dialect.)
Public propertyCloseQuote
SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for quoted identifiers. Note that quoted identifiers are controlled through the QUOTED_IDENTIFIER connection option.
(Overrides Dialect..::..CloseQuote.)
Public propertyCreateMultisetTableString
Slight variation on CreateTableString. The command used to create a multiset table.
(Inherited from Dialect.)
Public propertyCreateTableString
Command used to create a table.
(Inherited from Dialect.)
Public propertyCreateTemporaryTablePostfix
Assume that temporary table rows should be preserved across COMMITs.
(Overrides Dialect..::..CreateTemporaryTablePostfix.)
Public propertyCreateTemporaryTableString
In SQL Anywhere, the syntax, DECLARE LOCAL TEMPORARY TABLE ..., can also be used, which creates a temporary table with procedure scope, which may be important for stored procedures.
(Overrides Dialect..::..CreateTemporaryTableString.)
Public propertyCurrentTimestampSelectString (Overrides Dialect..::..CurrentTimestampSelectString.)
Public propertyCurrentTimestampSQLFunctionName (Overrides Dialect..::..CurrentTimestampSQLFunctionName.)
Public propertyDefaultProperties
Retrieve a set of default Hibernate properties for this database.
(Inherited from Dialect.)
Public propertyDisableForeignKeyConstraintsString
Only needed if the Dialect does not have SupportsForeignKeyConstraintInAlterTable.
(Inherited from Dialect.)
Public propertyDoesReadCommittedCauseWritersToBlockReaders
We assume that applications using this dialect are NOT using SQL Anywhere's snapshot isolation modes.
(Overrides Dialect..::..DoesReadCommittedCauseWritersToBlockReaders.)
Public propertyDoesRepeatableReadCauseReadersToBlockWriters
We assume that applications using this dialect are NOT using SQL Anywhere's snapshot isolation modes.
(Overrides Dialect..::..DoesRepeatableReadCauseReadersToBlockWriters.)
Public propertyDropConstraints
SQL Anywhere does not require dropping a constraint before dropping a table, and the DROP statement syntax used by Hibernate to drop a constraint is not compatible with SQL Anywhere, so disable it.
(Overrides Dialect..::..DropConstraints.)
Public propertyDropForeignKeyString (Overrides Dialect..::..DropForeignKeyString.)
Public propertyEnableForeignKeyConstraintsString
Only needed if the Dialect does not have SupportsForeignKeyConstraintInAlterTable.
(Inherited from Dialect.)
Public propertyForReadOnlyString
Enforce the condition that this query is read-only. This ensure that certain query rewrite optimizations, such as join elimination, can be used.
Public propertyForUpdateByLockString
Lock rows in the cursor explicitly using INTENT row locks.
Public propertyForUpdateNowaitString
SQL Anywhere does not support FOR UPDATE NOWAIT. However, the intent is to acquire pessimistic locks on the underlying rows; with NHibernate one can accomplish this through setting the BLOCKING connection option. Hence, with this API we lock rows in the cursor explicitly using INTENT row locks.
(Overrides Dialect..::..ForUpdateNowaitString.)
Public propertyForUpdateOfColumns
SQL Anywhere does support FOR UPDATE OF syntax. However, in SQL Anywhere one cannot specify both FOR UPDATE OF syntax and FOR UPDATE BY LOCK in the same statement. To achieve INTENT locking when using FOR UPDATE OF syntax one must use a table hint in the query's FROM clause, ie. SELECT * FROM FOO WITH( UPDLOCK ) FOR UPDATE OF ( column-list ). In this dialect, we avoid this issue by supporting only FOR UPDATE BY LOCK.
(Overrides Dialect..::..ForUpdateOfColumns.)
Public propertyForUpdateString
Lock rows in the cursor explicitly using INTENT row locks.
(Overrides Dialect..::..ForUpdateString.)
Public propertyFunctions
Aggregate SQL functions as defined in general. This is a case-insensitive hashtable!
(Inherited from Dialect.)
Public propertyGenerateTablePrimaryKeyConstraintForIdentityColumn
Set this to false if no table-level primary key constraint should be generated when an identity column has been specified for the table. This is used as a work-around for SQLite so it doesn't tell us we have "more than one primary key".
(Inherited from Dialect.)
Public propertyHasDataTypeInIdentityColumn
Whether this dialect has an identity clause added to the data type or a completely separate identity data type.
(Inherited from Dialect.)
Public propertyHasSelfReferentialForeignKeyBug (Inherited from Dialect.)
Public propertyIdentityColumnString
SQL Anywhere uses DEFAULT AUTOINCREMENT to identify an IDENTITY column in a CREATE TABLE statement.
(Overrides Dialect..::..IdentityColumnString.)
Public propertyIdentityInsertString
The keyword used to insert a generated value into an identity column (or null). Need if the dialect does not support inserts that specify no column values.
(Inherited from Dialect.)
Public propertyIdentitySelectString (Overrides Dialect..::..IdentitySelectString.)
Public propertyIdentityStyleIdentifierGeneratorClass
The class (which implements IIdentifierGenerator) which acts as this dialects identity-style generation strategy.
(Inherited from Dialect.)
Public propertyInsertGeneratedIdentifierRetrievalMethod (Inherited from Dialect.)
Public propertyIsCurrentTimestampSelectStringCallable (Overrides Dialect..::..IsCurrentTimestampSelectStringCallable.)
Public propertyKeywords (Inherited from Dialect.)
Public propertyLowercaseFunction
The name of the SQL function that transforms a string to lowercase
(Inherited from Dialect.)
Public propertyMaxAliasLength (Overrides Dialect..::..MaxAliasLength.)
Public propertyNativeIdentifierGeneratorClass
The class (which implements IIdentifierGenerator) which acts as this dialects native generation strategy.
(Inherited from Dialect.)
Public propertyNoColumnsInsertString
SQL Anywhere currently supports only "VALUES (DEFAULT)", not the ANSI standard "DEFAULT VALUES". This latter syntax will be supported in the SQL Anywhere 11.0.1 release. For the moment, "VALUES (DEFAULT)" works only for a single-column table.
(Overrides Dialect..::..NoColumnsInsertString.)
Public propertyNullColumnString (Overrides Dialect..::..NullColumnString.)
Public propertyOffsetStartsAtOne
For limit clauses, indicates whether to use 0 or 1 as the offset that returns the first row. Should be true if the first row is at offset 1.
(Inherited from Dialect.)
Public propertyOpenQuote
SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for quoted identifiers.
(Overrides Dialect..::..OpenQuote.)
Public propertyPrimaryKeyString
The keyword used to create a primary key constraint
(Inherited from Dialect.)
Public propertyQualifyIndexName (Overrides Dialect..::..QualifyIndexName.)
Public propertyQuerySequencesString
Get the select command used retrieve the names of all sequences.
(Inherited from Dialect.)
Public propertySelectGUIDString (Overrides Dialect..::..SelectGUIDString.)
Public propertySupportsBindAsCallableArgument
Does this dialect support using a JDBC bind parameter as an argument to a function or procedure call?
(Inherited from Dialect.)
Public propertySupportsCascadeDelete (Inherited from Dialect.)
Public propertySupportsCircularCascadeDeleteConstraints
Does this dialect support definition of cascade delete constraints which can cause circular chains?
(Inherited from Dialect.)
Public propertySupportsColumnCheck
Does this dialect support column-level check constraints?
(Inherited from Dialect.)
Public propertySupportsCommentOn
SQL Anywhere supports COMMENT ON statements for a wide variety of database objects. When the COMMENT statement is executed an implicit COMMIT is performed. However, COMMENT syntax for CREATE TABLE, as expected by NHibernate (see Table.cs), is not supported.
(Overrides Dialect..::..SupportsCommentOn.)
Public propertySupportsCurrentTimestampSelection (Overrides Dialect..::..SupportsCurrentTimestampSelection.)
Public propertySupportsEmptyInList (Overrides Dialect..::..SupportsEmptyInList.)
Public propertySupportsExistsInSelect (Overrides Dialect..::..SupportsExistsInSelect.)
Public propertySupportsExpectedLobUsagePattern
Expected LOB usage pattern is such that I can perform an insert via prepared statement with a parameter binding for a LOB value without crazy casting to JDBC driver implementation-specific classes...

Part of the trickiness here is the fact that this is largely driver dependent. For example, Oracle (which is notoriously bad with LOB support in their drivers historically) actually does a pretty good job with LOB support as of the 10.2.x versions of their drivers...

(Inherited from Dialect.)
Public propertySupportsForeignKeyConstraintInAlterTable
Does this dialect support adding foreign key constraints via alter table? If not, it's assumed they can only be added through create table.
(Inherited from Dialect.)
Public propertySupportsIdentityColumns (Overrides Dialect..::..SupportsIdentityColumns.)
Public propertySupportsIfExistsAfterTableName
Does the dialect support the syntax 'drop table NAME if exists'
(Inherited from Dialect.)
Public propertySupportsIfExistsBeforeTableName
Does the dialect support the syntax 'drop table if exists NAME'
(Inherited from Dialect.)
Public propertySupportsInsertSelectIdentity (Overrides Dialect..::..SupportsInsertSelectIdentity.)
Public propertySupportsLimit (Overrides Dialect..::..SupportsLimit.)
Public propertySupportsLimitOffset (Overrides Dialect..::..SupportsLimitOffset.)
Public propertySupportsLobValueChangePropogation
Does the dialect support propagating changes to LOB values back to the database? Talking about mutating the internal value of the locator as opposed to supplying a new locator instance...

For BLOBs, the internal value might be changed by: {@link java.sql.Blob#setBinaryStream}, {@link java.sql.Blob#setBytes(long, byte[])}, {@link java.sql.Blob#setBytes(long, byte[], int, int)}, or {@link java.sql.Blob#truncate(long)}.

For CLOBs, the internal value might be changed by: {@link java.sql.Clob#setAsciiStream(long)}, {@link java.sql.Clob#setCharacterStream(long)}, {@link java.sql.Clob#setString(long, String)}, {@link java.sql.Clob#setString(long, String, int, int)}, or {@link java.sql.Clob#truncate(long)}.

NOTE : I do not know the correct answer currently for databases which (1) are not part of the cruise control process or (2) do not {@link #supportsExpectedLobUsagePattern}.

(Inherited from Dialect.)
Public propertySupportsNotNullUnique (Inherited from Dialect.)
Public propertySupportsOuterJoinForUpdate
SQL Anywhere supports FOR UPDATE over cursors containing outer joins.
(Overrides Dialect..::..SupportsOuterJoinForUpdate.)
Public propertySupportsParametersInInsertSelect
Does this dialect support parameters within the select clause of INSERT ... SELECT ... statements?
(Inherited from Dialect.)
Public propertySupportsPooledSequences
Does this dialect support "pooled" sequences. Not aware of a better name for this. Essentially can we specify the initial and increment values?
(Inherited from Dialect.)
Public propertySupportsResultSetPositionQueryMethodsOnForwardOnlyCursor
SQL Anywhere's implementation of KEYSET-DRIVEN cursors does not permit absolute postioning. With jConnect as the driver, this support will succeed because jConnect FETCHes the entire result set to the client first; it will fail with the iAnywhere JDBC driver. Because the server may decide to use a KEYSET cursor even if the cursor is declared as FORWARD ONLY, this support is disabled.
(Overrides Dialect..::..SupportsResultSetPositionQueryMethodsOnForwardOnlyCursor.)
Public propertySupportsRowValueConstructorSyntax
Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax.

Basically, does it support syntax like "... where (FIRST_NAME, LAST_NAME) = ('Steve', 'Ebersole') ...".

(Inherited from Dialect.)
Public propertySupportsRowValueConstructorSyntaxInInList
If the dialect supports {@link #supportsRowValueConstructorSyntax() row values}, does it offer such support in IN lists as well?

For example, "... where (FIRST_NAME, LAST_NAME) IN ( (?, ?), (?, ?) ) ..."

(Inherited from Dialect.)
Public propertySupportsSequences
Does this dialect support sequences?
(Inherited from Dialect.)
Public propertySupportsSqlBatches
Supports splitting batches using GO T-SQL command
(Inherited from Dialect.)
Public propertySupportsSubqueryOnMutatingTable
Does this dialect support referencing the table being mutated in a subquery. The "table being mutated" is the table referenced in an UPDATE or a DELETE query. And so can that table then be referenced in a subquery of said UPDATE/DELETE query.

For example, would the following two syntaxes be supported:

  • delete from TABLE_A where ID not in ( select ID from TABLE_A )
  • update TABLE_A set NON_ID = 'something' where ID in ( select ID from TABLE_A)
(Inherited from Dialect.)
Public propertySupportsSubselectAsInPredicateLHS
Are subselects supported as the left-hand-side (LHS) of IN-predicates.

In other words, is syntax like "... {subquery} IN (1, 2, 3) ..." supported?

(Inherited from Dialect.)
Public propertySupportsSubSelects
Does this dialect support subselects?
(Inherited from Dialect.)
Public propertySupportsTableCheck
Does this dialect support table-level check constraints?
(Inherited from Dialect.)
Public propertySupportsTemporaryTables (Overrides Dialect..::..SupportsTemporaryTables.)
Public propertySupportsUnboundedLobLocatorMaterialization
Is it supported to materialize a LOB locator outside the transaction in which it was created?

Again, part of the trickiness here is the fact that this is largely driver dependent.

NOTE: all database I have tested which {@link #supportsExpectedLobUsagePattern()} also support the ability to materialize a LOB outside the owning transaction...

(Inherited from Dialect.)
Public propertySupportsUnionAll (Overrides Dialect..::..SupportsUnionAll.)
Public propertySupportsUnique
Does this dialect support the UNIQUE column syntax?
(Inherited from Dialect.)
Public propertySupportsUniqueConstraintInCreateAlterTable
Does this dialect support adding Unique constraints via create and alter table ?
(Inherited from Dialect.)
Public propertySupportsVariableLimit (Overrides Dialect..::..SupportsVariableLimit.)
Public propertyTableTypeString (Inherited from Dialect.)
Public propertyTimestampResolutionInTicks
Gives the best resolution that the database can use for storing date/time values, in ticks.
(Inherited from Dialect.)
Public propertyUseInputStreamToInsertBlob
Should LOBs (both BLOB and CLOB) be bound using stream operations (i.e. {@link java.sql.PreparedStatement#setBinaryStream}).
(Inherited from Dialect.)
Public propertyUseMaxForLimit
Does the LIMIT clause take a "maximum" row number instead of a total number of returned rows?
(Inherited from Dialect.)
Public propertyViolatedConstraintNameExtracter (Inherited from Dialect.)

See Also