Top Description Inners Fields Constructors Methods
org.hibernate.dialect

public abstract Class AbstractHANADialect

extends Dialect
Class Inheritance
Known Direct Subclasses
org.hibernate.dialect.HANAColumnStoreDialect, org.hibernate.dialect.HANARowStoreDialect
Imports
java.io.ByteArrayInputStream, .ByteArrayOutputStream, .FilterInputStream, .FilterReader, .IOException, .InputStream, .OutputStream, .Reader, .StringReader, .Writer, java.nio.charset.StandardCharsets, java.sql.Blob, .CallableStatement, .Clob, .Connection, .DatabaseMetaData, .NClob, .PreparedStatement, .ResultSet, .SQLException, .SQLFeatureNotSupportedException, .Statement, .Types, java.time.temporal.TemporalAccessor, java.util.Arrays, .Date, .HashSet, .List, .TimeZone, java.util.regex.Matcher, .Pattern, org.hibernate.LockMode, .LockOptions, .ScrollMode, org.hibernate.boot.Metadata, org.hibernate.boot.model.FunctionContributions, .TypeContributions, org.hibernate.boot.model.naming.Identifier, org.hibernate.boot.model.relational.SqlStringGenerationContext, org.hibernate.dialect.function.CommonFunctionFactory, .IntegralTimestampaddFunction, org.hibernate.dialect.identity.HANAIdentityColumnSupport, .IdentityColumnSupport, org.hibernate.dialect.pagination.LimitHandler, .LimitOffsetLimitHandler, org.hibernate.dialect.sequence.HANASequenceSupport, .SequenceSupport, org.hibernate.engine.config.spi.ConfigurationService, .StandardConverters, org.hibernate.engine.jdbc.BinaryStream, .BlobImplementer, .CharacterStream, .ClobImplementer, .NClobImplementer, org.hibernate.engine.jdbc.connections.spi.ConnectionProvider, org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo, org.hibernate.engine.jdbc.env.spi.IdentifierCaseStrategy, .IdentifierHelper, .IdentifierHelperBuilder, .NameQualifierSupport, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.exception.ConstraintViolationException, .LockAcquisitionException, .LockTimeoutException, .SQLGrammarException, org.hibernate.exception.spi.SQLExceptionConversionDelegate, org.hibernate.internal.CoreLogging, .CoreMessageLogger, org.hibernate.internal.util.JdbcExceptionHelper, org.hibernate.mapping.Table, org.hibernate.procedure.internal.StandardCallableStatementSupport, org.hibernate.procedure.spi.CallableStatementSupport, org.hibernate.query.sqm.CastType, .IntervalType, .TemporalUnit, org.hibernate.query.sqm.produce.function.FunctionParameterType, org.hibernate.service.ServiceRegistry, org.hibernate.sql.ast.SqlAstNodeRenderingMode, .SqlAstTranslator, .SqlAstTranslatorFactory, org.hibernate.sql.ast.spi.SqlAppender, .StandardSqlAstTranslatorFactory, org.hibernate.sql.exec.spi.JdbcOperation, org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorHANADatabaseImpl, org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor, org.hibernate.tool.schema.internal.StandardTableExporter, org.hibernate.tool.schema.spi.Exporter, org.hibernate.type.StandardBasicTypes, org.hibernate.type.descriptor.ValueBinder, .ValueExtractor, .WrapperOptions, org.hibernate.type.descriptor.java.DataHelper, .DoubleJavaType, .JavaType, org.hibernate.type.descriptor.jdbc.BasicBinder, .BasicExtractor, .BlobJdbcType, .ClobJdbcType, .DecimalJdbcType, .JdbcType, .NCharJdbcType, .NClobJdbcType, .NVarcharJdbcType, .NumericJdbcType, .TinyIntAsSmallIntJdbcType, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType, .DdlTypeImpl, org.hibernate.type.descriptor.sql.spi.DdlTypeRegistry, org.hibernate.type.internal.BasicTypeImpl, org.hibernate.type.spi.TypeConfiguration, jakarta.persistence.TemporalType

An abstract base class for SAP HANA dialects.

For more information on interacting with the SAP HANA database, refer to the SAP HANA SQL and System Views Reference and the SAP HANA Client Interface Programming Reference.

Note

This dialect is configured to create foreign keys with on update cascade.

Authors
Andrew Clemons, Jonathan Bregler

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
public static class
private static class
private static class
private static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
private AbstractHANADialect.HANABlobType
private AbstractHANADialect.HANAClobJdbcType
private final StandardTableExporter
private static final CoreMessageLogger
private static final int
private static final String
private AbstractHANADialect.HANANClobJdbcType
private static final Boolean
private static final String
private static final Boolean
private static final String
private static final String
private boolean
private boolean
Inherited from org.hibernate.dialect.Dialect:
CLOSED_QUOTELEGACY_LOB_MERGE_STRATEGYLOG_BASE2OF10NEW_LOCATOR_LOB_MERGE_STRATEGYQUOTESTANDARD_MULTI_KEY_LOAD_SIZING_STRATEGYSTREAM_XFER_LOB_MERGE_STRATEGY

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
appendBooleanValueString(SqlAppender
The SqlAppender to append the literal expression to
appender
,
boolean
The boolean value
bool
)

Overrides org.hibernate.dialect.Dialect.appendBooleanValueString.

Append the SQL literal expression representing the given boolean value to the given SqlAppender.
public void
appendDatetimeFormat(SqlAppender appender, String format)

Overrides org.hibernate.dialect.Dialect.appendDatetimeFormat.

Translate the given datetime format string from the pattern language defined by Java's java.time.format.DateTimeFormatter to whatever pattern language is understood by the native datetime formatting function for this database (often the to_char() function).
public void
appendDateTimeLiteral(SqlAppender appender, TemporalAccessor temporalAccessor, TemporalType precision, TimeZone jdbcTimeZone)

Overrides org.hibernate.dialect.Dialect.appendDateTimeLiteral.

Append a datetime literal representing the given java.time value to the given SqlAppender.
public void
appendDateTimeLiteral(SqlAppender appender, Date date, TemporalType precision, TimeZone jdbcTimeZone)

Overrides org.hibernate.dialect.Dialect.appendDateTimeLiteral.

Append a datetime literal representing the given Date value to the given SqlAppender.
public IdentifierHelper
buildIdentifierHelper(IdentifierHelperBuilder
A partially-configured IdentifierHelperBuilder.
builder
,
DatabaseMetaData
Access to the metadata returned from the driver if needed and if available

Warning

it may be null.

dbMetaData
)

Overrides org.hibernate.dialect.Dialect.buildIdentifierHelper.

The IdentifierHelper indicated by this dialect for handling identifier conversions.
public SQLExceptionConversionDelegate
public String
castPattern(CastType
a CastType indicating the type of the value argument
from
,
CastType
a CastType indicating the type the value argument is cast to
to
)

Overrides org.hibernate.dialect.Dialect.castPattern.

Obtain a pattern for the SQL equivalent to a cast() function call.
protected String
columnType(int
a SQL type code
sqlTypeCode
)

Overrides org.hibernate.dialect.Dialect.columnType.

The database column type name for a given JDBC type code defined in Types or SqlTypes.
public void
contributeTypes(TypeContributions
Callback to contribute the types
typeContributions
,
ServiceRegistry
The service registry
serviceRegistry
)

Overrides org.hibernate.dialect.Dialect.contributeTypes.

A callback which allows the Dialect to contribute types.
protected static DatabaseVersion
public ScrollMode
public boolean
dropConstraints()

Overrides org.hibernate.dialect.Dialect.dropConstraints.

Do we need to drop constraints before dropping tables in this dialect?
public String
extractPattern(TemporalUnit
the first argument
unit
)

Overrides org.hibernate.dialect.Dialect.extractPattern.

HANA has no extract() function, but we can emulate it using the appropriate named functions instead of extract().
public String
generatedAs(String
a SQL expression used to generate the column value
generatedAs
)

Overrides org.hibernate.dialect.Dialect.generatedAs.

The generated as clause, or similar, for generated column declarations in DDL statements.
public String
getAddColumnString()

Overrides org.hibernate.dialect.Dialect.getAddColumnString.

The subcommand of the alter table command used to add a column to a table, usually add column or add.
public String
getAddColumnSuffixString()

Overrides org.hibernate.dialect.Dialect.getAddColumnSuffixString.

The syntax for the suffix used to add a column to a table.
public JdbcType
public CallableStatementSupport
public String
getCascadeConstraintsString()

Overrides org.hibernate.dialect.Dialect.getCascadeConstraintsString.

The keyword that specifies that a drop table operation should be cascaded to its constraints, typically " cascade" where the leading space is required, or the empty string if there is no such keyword in this dialect.
public String
getColumnComment(String
The comment to apply
comment
)

Overrides org.hibernate.dialect.Dialect.getColumnComment.

Get the comment into a form supported for column definition.
public String
getCurrentSchemaCommand()

Overrides org.hibernate.dialect.Dialect.getCurrentSchemaCommand.

Get the SQL command used to retrieve the current schema name.
public String
getCurrentTimestampSelectString()

Overrides org.hibernate.dialect.Dialect.getCurrentTimestampSelectString.

The command used to retrieve the current timestamp from the database.
public int
getDefaultDecimalPrecision()

Overrides org.hibernate.dialect.Dialect.getDefaultDecimalPrecision.

This is the default precision for a generated column mapped to a java.math.BigInteger or java.math.BigDecimal.
public boolean
getDefaultNonContextualLobCreation()

Overrides org.hibernate.dialect.Dialect.getDefaultNonContextualLobCreation.

The default value to use for the configuration property hibernate.jdbc.lob.non_contextual_creation.
public boolean
getDefaultUseGetGeneratedKeys()

Overrides org.hibernate.dialect.Dialect.getDefaultUseGetGeneratedKeys.

The default value to use for the configuration property hibernate.jdbc.use_get_generated_keys.
public String
getForUpdateNowaitString()

Overrides org.hibernate.dialect.Dialect.getForUpdateNowaitString.

Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect.
public String
getForUpdateNowaitString(String
The columns to be write locked.
aliases
)

Overrides org.hibernate.dialect.Dialect.getForUpdateNowaitString.

Get the FOR UPDATE OF column_list NOWAIT fragment appropriate for this dialect, given the aliases of the columns to be write locked.
public String
getForUpdateString(final String
The columns to be write locked.
aliases
)

Overrides org.hibernate.dialect.Dialect.getForUpdateString.

Get the FOR UPDATE OF column_list fragment appropriate for this dialect, given the aliases of the columns to be write locked.
public String
getForUpdateString(final String
The columns to be locked.
aliases
,
final LockOptions
the lock options to apply
lockOptions
)

Overrides org.hibernate.dialect.Dialect.getForUpdateString.

Get the FOR UPDATE OF or FOR SHARE OF fragment appropriate for this dialect, given the aliases of the columns to be locked.
private String
getForUpdateString(String aliases, LockMode lockMode, int timeout)

public long
getFractionalSecondPrecisionInNanos()

Overrides org.hibernate.dialect.Dialect.getFractionalSecondPrecisionInNanos.

The "native" precision for arithmetic with datetimes and day-to-second durations.
public IdentityColumnSupport
public LimitHandler
public int
getMaxAliasLength()

Overrides org.hibernate.dialect.Dialect.getMaxAliasLength.

What is the maximum length Hibernate can use for generated aliases?
public int
getMaxIdentifierLength()

Overrides org.hibernate.dialect.Dialect.getMaxIdentifierLength.

What is the maximum identifier length supported by this dialect?
public int
getMaxNVarcharLength()

Overrides org.hibernate.dialect.Dialect.getMaxNVarcharLength.

The biggest size value that can be supplied as argument to a java.sql.Types#NVARCHAR-like type.
public int
getMaxVarbinaryLength()

Overrides org.hibernate.dialect.Dialect.getMaxVarbinaryLength.

The biggest size value that can be supplied as argument to a java.sql.Types#VARBINARY-like type.
public int
getMaxVarcharLength()

Overrides org.hibernate.dialect.Dialect.getMaxVarcharLength.

The biggest size value that can be supplied as argument to a java.sql.Types#VARCHAR-like type.
public NameQualifierSupport
public NullOrdering
getNullOrdering()

Overrides org.hibernate.dialect.Dialect.getNullOrdering.

Returns the default ordering of null.
public String
getQueryHintString(String
The query to which to apply the hint.
query
,
List<String>
The hints to apply
hints
)

Overrides org.hibernate.dialect.Dialect.getQueryHintString.

Apply a hint to the given SQL query.
public String
getQuerySequencesString()

Overrides org.hibernate.dialect.Dialect.getQuerySequencesString.

Get the select command used retrieve the names of all sequences.
public String
getReadLockString(int
in milliseconds, -1 for indefinite wait and 0 for no wait.
timeout
)

Overrides org.hibernate.dialect.Dialect.getReadLockString.

Get the string to append to SELECT statements to acquire READ locks for this dialect.
public String
getReadLockString(String
The columns to be read locked.
aliases
,
int
in milliseconds, -1 for indefinite wait and 0 for no wait.
timeout
)

Overrides org.hibernate.dialect.Dialect.getReadLockString.

Get the string to append to SELECT statements to acquire READ locks for this dialect, given the aliases of the columns to be read locked.
public String
getSelectGUIDString()

Overrides org.hibernate.dialect.Dialect.getSelectGUIDString.

Get the command used to select a GUID from the database.
public SequenceInformationExtractor
public SequenceSupport
public SqlAstTranslatorFactory
public String
getTableComment(String
The comment to apply
comment
)

Overrides org.hibernate.dialect.Dialect.getTableComment.

Get the comment into a form supported for table definition.
public Exporter<Table>
public String
getWriteLockString(int
in milliseconds, -1 for indefinite wait and 0 for no wait.
timeout
)

Overrides org.hibernate.dialect.Dialect.getWriteLockString.

Get the string to append to SELECT statements to acquire pessimistic WRITE locks for this dialect.
public String
getWriteLockString(String
The columns to be read locked.
aliases
,
int
in milliseconds, -1 for indefinite wait and 0 for no wait.
timeout
)

Overrides org.hibernate.dialect.Dialect.getWriteLockString.

Get the string to append to SELECT statements to acquire WRITE locks for this dialect, given the aliases of the columns to be write locked.
public RowLockStrategy
public void
initializeFunctionRegistry(FunctionContributions functionContributions)

Overrides org.hibernate.dialect.Dialect.initializeFunctionRegistry.

Initialize the given registry with any dialect-specific functions.
public boolean
public boolean
protected void
registerColumnTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry)

Overrides org.hibernate.dialect.Dialect.registerColumnTypes.

Register ANSI-standard column types using the length limits defined by getMaxVarcharLength(), getMaxNVarcharLength(), and getMaxVarbinaryLength().
protected void
registerDefaultKeywords()

Overrides org.hibernate.dialect.Dialect.registerDefaultKeywords.

Register the reserved words of ANSI-standard SQL as keywords.
public int
registerResultSetOutParameter(CallableStatement
The callable statement.
statement
,
int
The bind position at which to register the output param.
position
)

Overrides org.hibernate.dialect.Dialect.registerResultSetOutParameter.

Registers a parameter capable of returning a ResultSet by position, either an OUT parameter, or a REF_CURSOR parameter as defined in Java 8.
public int
registerResultSetOutParameter(CallableStatement
The callable statement.
statement
,
String
The parameter name (for drivers which support named parameters).
name
)

Overrides org.hibernate.dialect.Dialect.registerResultSetOutParameter.

Registers a parameter capable of returning a ResultSet by name, either an OUT parameter, or a REF_CURSOR parameter as defined in Java 8.
protected abstract boolean
public boolean
supportsColumnCheck()

Overrides org.hibernate.dialect.Dialect.supportsColumnCheck.

HANA currently does not support check constraints.
public boolean
supportsCommentOn()

Overrides org.hibernate.dialect.Dialect.supportsCommentOn.

Does this dialect support commenting on tables and columns?
public boolean
supportsCurrentTimestampSelection()

Overrides org.hibernate.dialect.Dialect.supportsCurrentTimestampSelection.

Does this dialect support some way to retrieve the current timestamp value from the database?
public boolean
supportsExistsInSelect()

Overrides org.hibernate.dialect.Dialect.supportsExistsInSelect.

Does the dialect support an exists statement in the select clause?
public boolean
supportsExpectedLobUsagePattern()

Overrides org.hibernate.dialect.Dialect.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.
public boolean
supportsFractionalTimestampArithmetic()

Overrides org.hibernate.dialect.Dialect.supportsFractionalTimestampArithmetic.

Whether the database supports adding a fractional interval to a timestamp, for example timestamp + 0.5 second.
public boolean
supportsJdbcConnectionLobCreation(DatabaseMetaData
JDBC DatabaseMetaData which can be used if LOB creation is supported only starting from a given driver version
databaseMetaData
)

Overrides org.hibernate.dialect.Dialect.supportsJdbcConnectionLobCreation.

Check whether the JDBC Connection supports creating LOBs via Connection#createBlob(), Connection#createNClob(), or Connection#createClob().
public boolean
supportsLateral()

Overrides org.hibernate.dialect.Dialect.supportsLateral.

Does this dialect support the SQL lateral keyword or a proprietary alternative?
public boolean
supportsNoColumnsInsert()

Overrides org.hibernate.dialect.Dialect.supportsNoColumnsInsert.

Is the INSERT statement is allowed to contain no columns?
public boolean
supportsNoWait()

Overrides org.hibernate.dialect.Dialect.supportsNoWait.

Does this dialect support NO_WAIT timeout.
public boolean
supportsOffsetInSubquery()

Overrides org.hibernate.dialect.Dialect.supportsOffsetInSubquery.

Does this dialect support offset in subqueries?
public boolean
supportsOrderByInSubquery()

Overrides org.hibernate.dialect.Dialect.supportsOrderByInSubquery.

Does this dialect support the order by clause in subqueries?
public boolean
supportsPartitionBy()

Overrides org.hibernate.dialect.Dialect.supportsPartitionBy.

Does is dialect support partition by?
public boolean
supportsTableCheck()

Overrides org.hibernate.dialect.Dialect.supportsTableCheck.

Does this dialect support table-level check constraints?
public boolean
supportsTupleDistinctCounts()

Overrides org.hibernate.dialect.Dialect.supportsTupleDistinctCounts.

Does this dialect support count(distinct a,b)?
public boolean
supportsUnboundedLobLocatorMaterialization()

Overrides org.hibernate.dialect.Dialect.supportsUnboundedLobLocatorMaterialization.

Is it supported to materialize a LOB locator outside the transaction in which it was created?
public boolean
supportsWindowFunctions()

Overrides org.hibernate.dialect.Dialect.supportsWindowFunctions.

Does this dialect support window functions like row_number() over (..)?
public String
timestampaddPattern(TemporalUnit
The unit to add to the temporal
unit
,
TemporalType
The type of the temporal
temporalType
,
IntervalType
The type of interval to add or null if it's not a native interval
intervalType
)

Overrides org.hibernate.dialect.Dialect.timestampaddPattern.

Obtain a pattern for the SQL equivalent to a timestampadd() function call.
public String
timestampdiffPattern(TemporalUnit
the first argument
unit
,
TemporalType
true if the first argument is a timestamp, false if a date
fromTemporalType
,
TemporalType
true if the second argument is
toTemporalType
)

Overrides org.hibernate.dialect.Dialect.timestampdiffPattern.

Obtain a pattern for the SQL equivalent to a timestampdiff() function call.
protected abstract Boolean
Inherited from org.hibernate.dialect.Dialect:
addSqlHintOrCommentappendArrayLiteralappendBinaryLiteralappendDateTimeLiteralappendIntervalLiteralappendLiteralappendLockHintappendUUIDLiteralapplyLocksToSqlaugmentPhysicalTableTypesaugmentRecognizedTableTypescanBatchTruncatecanCreateCatalogcanCreateSchemacanDisableConstraintscastTypecheckVersioncloseQuotecontributecontributeFunctionscreateOptionalTableUpdateOperationcurrentDatecurrentLocalTimecurrentLocalTimestampcurrentTimecurrentTimestampcurrentTimestampWithTimeZonedoesReadCommittedCauseWritersToBlockReadersdoesRepeatableReadCauseReadersToBlockWritersequivalentTypesescapeCommentforceLobAsLastValuegetAddForeignKeyConstraintStringgetAddForeignKeyConstraintStringgetAddPrimaryKeyConstraintStringgetAggregateSupportgetAlterColumnTypeStringgetAlterTableStringgetArrayTypeNamegetAuxiliaryDatabaseObjectExportergetBatchLoadSizingStrategygetCaseInsensitiveLikegetCheckConditiongetCheckConditiongetCheckConditiongetCheckConditiongetColumnAliasExtractorgetCreateCatalogCommandgetCreateEnumTypeCommandgetCreateEnumTypeCommandgetCreateIndexStringgetCreateIndexTailgetCreateMultisetTableStringgetCreateSchemaCommandgetCreateTableStringgetCreateTemporaryTableColumnAnnotationgetCreateUserDefinedTypeExtensionsStringgetCreateUserDefinedTypeKindStringgetDefaultIntervalSecondScalegetDefaultLobLengthgetDefaultPropertiesgetDefaultStatementBatchSizegetDefaultTimestampPrecisiongetDisableConstraintsStatementgetDisableConstraintStatementgetDmlTargetColumnQualifierSupportgetDoublePrecisiongetDropCatalogCommandgetDropEnumTypeCommandgetDropEnumTypeCommandgetDropForeignKeyStringgetDropSchemaCommandgetDropTableStringgetDropUniqueKeyStringgetEnableConstraintsStatementgetEnableConstraintStatementgetEnumTypeDeclarationgetEnumTypeDeclarationgetFallbackSchemaManagementToolgetFallbackSqmInsertStrategygetFallbackSqmMutationStrategygetFloatPrecisiongetForeignKeyExportergetForUpdateSkipLockedStringgetForUpdateSkipLockedStringgetForUpdateStringgetForUpdateStringgetForUpdateStringgetFunctionalDependencyAnalysisSupportgetGroupBySelectItemReferenceStrategygetHqlTranslatorgetIndexExportergetInExpressionCountLimitgetKeywordsgetLobMergeStrategygetLockingStrategygetLockRowIdentifiergetLowercaseFunctiongetMaxNVarcharCapacitygetMaxVarbinaryCapacitygetMaxVarcharCapacitygetMinimumSupportedVersiongetMultiKeyLoadSizingStrategygetNationalizationSupportgetNativeIdentifierGeneratorStrategygetNativeParameterMarkerStrategygetNoColumnsInsertStringgetNullColumnStringgetNullColumnStringgetParameterCountLimitgetPreferredSqlTypeCodeForArraygetPreferredSqlTypeCodeForBooleangetQueryHintStringgetReadRowLockStrategygetResultSetgetResultSetgetResultSetgetRowIdColumnStringgetSchemaNameResolvergetSelectClauseNullStringgetSequenceExportergetSizeStrategygetSqmTranslatorFactorygetSupportedTemporaryTableKindgetTableCleanergetTableMigratorgetTableTypeStringgetTemporaryTableAfterUseActiongetTemporaryTableBeforeUseActiongetTemporaryTableCreateCommandgetTemporaryTableCreateOptionsgetTemporaryTableDdlTransactionHandlinggetTemporaryTableDropCommandgetTemporaryTableExportergetTemporaryTableTruncateCommandgetTimeoutInSecondsgetTimeZoneSupportgetTruncateTableStatementgetTruncateTableStatementsgetUniqueDelegategetUniqueKeyExportergetUserDefinedTypeCommentgetUserDefinedTypeExportergetVersiongetViolatedConstraintNameExtractorhasAlterTablehasDataTypeBeforeGeneratedAshasSelfReferentialForeignKeyBuginitDefaultPropertiesinlineLiteralisAnsiNullOnisEmptyStringTreatedAsNullisJdbcLogWarningsEnabledByDefaultisLobisLockTimeoutParameterizedopenQuoteordinalprependCommentqualifyIndexNamequotequoteCollationregisterKeywordregisterKeywordsrequiresCastForConcatenatingNonStringsrequiresFloatCastingOfIntegerDivisionrequiresParensForTupleCountsrequiresParensForTupleDistinctCountsresolveSqlTypeCoderesolveSqlTypeCoderesolveSqlTypeDescriptorresolveSqlTypeLengthrowIdrowIdSqlTypesupportsAlterColumnTypesupportsBatchUpdatessupportsBindAsCallableArgumentsupportsBitTypesupportsCascadeDeletesupportsCaseInsensitiveLikesupportsCircularCascadeDeleteConstraintssupportsDistinctFromPredicatesupportsFetchClausesupportsIfExistsAfterAlterTablesupportsIfExistsAfterConstraintNamesupportsIfExistsAfterTableNamesupportsIfExistsAfterTypeNamesupportsIfExistsBeforeConstraintNamesupportsIfExistsBeforeTableNamesupportsIfExistsBeforeTypeNamesupportsInsertReturningsupportsInsertReturningGeneratedKeyssupportsIsTruesupportsLobValueChangePropagationsupportsLockTimeoutssupportsMaterializedLobAccesssupportsNamedParameterssupportsNonQueryWithCTEsupportsNullPrecedencesupportsOrdinalSelectItemReferencesupportsOuterJoinForUpdatesupportsParametersInInsertSelectsupportsPredicateAsExpressionsupportsRecursiveCTEsupportsRefCursorssupportsResultSetPositionQueryMethodsOnForwardOnlyCursorsupportsSkipLockedsupportsStandardArrayssupportsStandardCurrentTimestampFunctionsupportsSubqueryInSelectsupportsSubqueryOnMutatingTablesupportsSubselectAsInPredicateLHSsupportsTemporalLiteralOffsetsupportsTemporaryTablePrimaryKeysupportsTemporaryTablessupportsTruncateWithCastsupportsTupleCountssupportsUnionAllsupportsUnionInSubquerysupportsValuesListsupportsValuesListForInsertsupportsWaittoBooleanValueStringtoQuotedIdentifiertoStringtransformSelectStringtranslateDurationFieldtranslateExtractFieldtrimPatterntrimPatternuseArrayForMultiValuedParametersuseFollowOnLockinguseInputStreamToInsertBlobuseMaterializedLobWhenCapacityExceeded