The SybaseSQLAnywhere11Dialect type exposes the following members.
Properties
Name | Description | |
---|---|---|
![]() | AddColumnString | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | AreStringComparisonsCaseInsensitive |
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');
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | CascadeConstraintsString |
Completely optional cascading drop clause
(Inherited from Dialect.) |
![]() | CloseQuote |
SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for
quoted identifiers.
Note that quoted identifiers are controlled through
the QUOTED_IDENTIFIER connection option.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | CreateMultisetTableString |
Slight variation on CreateTableString.
The command used to create a multiset table.
(Inherited from Dialect.) |
![]() | CreateTableString | Command used to create a table. (Inherited from Dialect.) |
![]() | CreateTemporaryTablePostfix |
Assume that temporary table rows should be preserved across COMMITs.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | CreateTemporaryTableString |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | CurrentTimestampSelectString | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | CurrentTimestampSQLFunctionName | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | DefaultProperties |
Retrieve a set of default Hibernate properties for this database.
(Inherited from Dialect.) |
![]() | DisableForeignKeyConstraintsString |
Only needed if the Dialect does not have SupportsForeignKeyConstraintInAlterTable.
(Inherited from Dialect.) |
![]() | DoesReadCommittedCauseWritersToBlockReaders |
We assume that applications using this dialect are NOT using
SQL Anywhere's snapshot isolation modes.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | DoesRepeatableReadCauseReadersToBlockWriters |
We assume that applications using this dialect are NOT using
SQL Anywhere's snapshot isolation modes.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | DropConstraints |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | DropForeignKeyString | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | EnableForeignKeyConstraintsString |
Only needed if the Dialect does not have SupportsForeignKeyConstraintInAlterTable.
(Inherited from Dialect.) |
![]() | ForReadOnlyString |
Enforce the condition that this query is read-only. This ensure that certain
query rewrite optimizations, such as join elimination, can be used.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | ForUpdateByLockString |
Lock rows in the cursor explicitly using INTENT row locks.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | ForUpdateNowaitString |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | ForUpdateOfColumns |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | ForUpdateString |
Lock rows in the cursor explicitly using INTENT row locks.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | Functions |
Aggregate SQL functions as defined in general. This is
a case-insensitive hashtable!
(Inherited from Dialect.) |
![]() | GenerateTablePrimaryKeyConstraintForIdentityColumn |
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.) |
![]() | HasDataTypeInIdentityColumn |
Whether this dialect has an identity clause added to the data type or a
completely separate identity data type.
(Inherited from Dialect.) |
![]() | HasSelfReferentialForeignKeyBug | (Inherited from Dialect.) |
![]() | IdentityColumnString |
SQL Anywhere uses DEFAULT AUTOINCREMENT to identify an IDENTITY
column in a CREATE TABLE statement.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | IdentityInsertString |
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.) |
![]() | IdentitySelectString | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | IdentityStyleIdentifierGeneratorClass |
The class (which implements IIdentifierGenerator)
which acts as this dialects identity-style generation strategy.
(Inherited from Dialect.) |
![]() | InsertGeneratedIdentifierRetrievalMethod | (Inherited from Dialect.) |
![]() | IsCurrentTimestampSelectStringCallable | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | Keywords | (Inherited from Dialect.) |
![]() | LowercaseFunction |
The name of the SQL function that transforms a string to lowercase
(Inherited from Dialect.) |
![]() | MaxAliasLength | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | NativeIdentifierGeneratorClass |
The class (which implements IIdentifierGenerator)
which acts as this dialects native generation strategy.
(Inherited from Dialect.) |
![]() | NoColumnsInsertString |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | NullColumnString | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | OffsetStartsAtOne |
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.) |
![]() | OpenQuote |
SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for
quoted identifiers.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | PrimaryKeyString |
The keyword used to create a primary key constraint
(Inherited from Dialect.) |
![]() | QualifyIndexName | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | QuerySequencesString | Get the select command used retrieve the names of all sequences. (Inherited from Dialect.) |
![]() | SelectGUIDString | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsBindAsCallableArgument |
Does this dialect support using a JDBC bind parameter as an argument
to a function or procedure call?
(Inherited from Dialect.) |
![]() | SupportsCascadeDelete | (Inherited from Dialect.) |
![]() | SupportsCircularCascadeDeleteConstraints |
Does this dialect support definition of cascade delete constraints
which can cause circular chains?
(Inherited from Dialect.) |
![]() | SupportsColumnCheck | Does this dialect support column-level check constraints? (Inherited from Dialect.) |
![]() | SupportsCommentOn |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsCurrentTimestampSelection | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsEmptyInList | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsExistsInSelect | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsExpectedLobUsagePattern |
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.) |
![]() | SupportsForeignKeyConstraintInAlterTable |
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.) |
![]() | SupportsIdentityColumns | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsIfExistsAfterTableName |
Does the dialect support the syntax 'drop table NAME if exists'
(Inherited from Dialect.) |
![]() | SupportsIfExistsBeforeTableName |
Does the dialect support the syntax 'drop table if exists NAME'
(Inherited from Dialect.) |
![]() | SupportsInsertSelectIdentity | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsLimit | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsLimitOffset | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsLobValueChangePropogation | 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.) |
![]() | SupportsNotNullUnique | (Inherited from Dialect.) |
![]() | SupportsOuterJoinForUpdate |
SQL Anywhere supports FOR UPDATE over cursors containing
outer joins.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsParametersInInsertSelect |
Does this dialect support parameters within the select clause of
INSERT ... SELECT ... statements?
(Inherited from Dialect.) |
![]() | SupportsPooledSequences |
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.) |
![]() | SupportsResultSetPositionQueryMethodsOnForwardOnlyCursor |
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.
(Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsRowValueConstructorSyntax |
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.) |
![]() | SupportsRowValueConstructorSyntaxInInList |
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.) |
![]() | SupportsSequences |
Does this dialect support sequences?
(Inherited from Dialect.) |
![]() | SupportsSqlBatches |
Supports splitting batches using GO T-SQL command
(Inherited from Dialect.) |
![]() | SupportsSubqueryOnMutatingTable |
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: (Inherited from Dialect.)
|
![]() | SupportsSubselectAsInPredicateLHS |
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.) |
![]() | SupportsSubSelects |
Does this dialect support subselects?
(Inherited from Dialect.) |
![]() | SupportsTableCheck | Does this dialect support table-level check constraints? (Inherited from Dialect.) |
![]() | SupportsTemporaryTables | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsUnboundedLobLocatorMaterialization |
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.) |
![]() | SupportsUnionAll | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | SupportsUnique |
Does this dialect support the UNIQUE column syntax?
(Inherited from Dialect.) |
![]() | SupportsUniqueConstraintInCreateAlterTable | Does this dialect support adding Unique constraints via create and alter table ? (Inherited from Dialect.) |
![]() | SupportsVariableLimit | (Inherited from SybaseSQLAnywhere10Dialect.) |
![]() | TableTypeString | (Inherited from Dialect.) |
![]() | TimestampResolutionInTicks |
Gives the best resolution that the database can use for storing
date/time values, in ticks.
(Inherited from Dialect.) |
![]() | UseInputStreamToInsertBlob |
Should LOBs (both BLOB and CLOB) be bound using stream operations (i.e.
{@link java.sql.PreparedStatement#setBinaryStream}).
(Inherited from Dialect.) |
![]() | UseMaxForLimit |
Does the LIMIT clause take a "maximum" row number instead
of a total number of returned rows?
(Inherited from Dialect.) |
![]() | ViolatedConstraintNameExtracter | (Inherited from Dialect.) |