Top Description Inners Fields Constructors Methods
org.hibernate.dialect

public Class H2Dialect

extends Dialect
Class Inheritance
Imports
java.sql.CallableStatement, .SQLException, .Types, java.time.temporal.ChronoField, .TemporalAccessor, java.util.Calendar, .Date, .List, .TimeZone, org.hibernate.PessimisticLockException, .QueryTimeoutException, org.hibernate.boot.model.FunctionContributions, .TypeContributions, org.hibernate.dialect.function.CommonFunctionFactory, org.hibernate.dialect.hint.IndexQueryHintHandler, org.hibernate.dialect.identity.H2FinalTableIdentityColumnSupport, .IdentityColumnSupport, org.hibernate.dialect.pagination.LimitHandler, .OffsetFetchLimitHandler, org.hibernate.dialect.sequence.H2V1SequenceSupport, .H2V2SequenceSupport, .SequenceSupport, org.hibernate.dialect.temptable.TemporaryTable, .TemporaryTableKind, org.hibernate.dialect.unique.CreateTableUniqueDelegate, .UniqueDelegate, org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.exception.ConstraintViolationException, .LockAcquisitionException, org.hibernate.exception.spi.SQLExceptionConversionDelegate, .TemplatedViolatedConstraintNameExtractor, .ViolatedConstraintNameExtractor, org.hibernate.internal.util.JdbcExceptionHelper, org.hibernate.metamodel.mapping.EntityMappingType, org.hibernate.metamodel.spi.RuntimeModelCreationContext, org.hibernate.persister.entity.mutation.EntityMutationTarget, org.hibernate.query.sqm.FetchClauseType, .IntervalType, .TemporalUnit, org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction, .LocalTemporaryTableInsertStrategy, .LocalTemporaryTableMutationStrategy, org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy, .SqmMultiTableMutationStrategy, org.hibernate.service.ServiceRegistry, org.hibernate.sql.ast.SqlAstNodeRenderingMode, .SqlAstTranslator, .SqlAstTranslatorFactory, org.hibernate.sql.ast.spi.ParameterMarkerStrategy, .SqlAppender, .StandardSqlAstTranslatorFactory, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.exec.spi.JdbcOperation, org.hibernate.sql.model.MutationOperation, org.hibernate.sql.model.internal.OptionalTableUpdate, org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation, org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl, org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor, org.hibernate.type.descriptor.jdbc.H2FormatJsonJdbcType, .JdbcType, .TimeUtcAsOffsetTimeJdbcType, .TimestampUtcAsInstantJdbcType, .UUIDJdbcType, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl, org.hibernate.type.descriptor.sql.spi.DdlTypeRegistry, org.hibernate.type.spi.TypeConfiguration, jakarta.persistence.TemporalType

A SQL dialect for H2.
Author
Thomas Mueller

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static interface
public static class

Field Summary

Modifier and TypeField and Description
private final boolean
private final boolean
private static final ViolatedConstraintNameExtractor
private static final DatabaseVersion
private final H2Dialect.OptionalTableUpdateStrategy
private final String
private final SequenceInformationExtractor
private final UniqueDelegate
private final 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
public
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 void
appendDateTimeLiteral(SqlAppender appender, Calendar calendar, TemporalType precision, TimeZone jdbcTimeZone)

Overrides org.hibernate.dialect.Dialect.appendDateTimeLiteral.

Append a datetime literal representing the given Calendar value to the given SqlAppender.
public void
public SQLExceptionConversionDelegate
public boolean
canDisableConstraints()

Overrides org.hibernate.dialect.Dialect.canDisableConstraints.

Is there some way to disable foreign key constraint checking while truncating tables?
protected String
castType(int
The JDBC type code representing the target type
sqlTypeCode
)

Overrides org.hibernate.dialect.Dialect.castType.

The SQL type to use in cast( ...
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.
public MutationOperation
createOptionalTableUpdateOperation(EntityMutationTarget mutationTarget, OptionalTableUpdate optionalTableUpdate, SessionFactoryImplementor factory)

Overrides org.hibernate.dialect.Dialect.createOptionalTableUpdateOperation.

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
Create a MutationOperation for a updating an optional table
public String
currentTime()

Overrides org.hibernate.dialect.Dialect.currentTime.

Translation of the HQL/JPQL current_time function, which maps to the Java type java.sql.Time which is a time with no time zone.
public String
currentTimestamp()

Overrides org.hibernate.dialect.Dialect.currentTimestamp.

Translation of the HQL/JPQL current_timestamp function, which maps to the Java type java.sql.Timestamp which is a datetime with no time zone.
public String
currentTimestampWithTimeZone()

Overrides org.hibernate.dialect.Dialect.currentTimestampWithTimeZone.

Translation of the HQL offset_datetime function, which maps to the Java type java.time.OffsetDateTime which is a datetime with a time zone.
public boolean
doesReadCommittedCauseWritersToBlockReaders()

Overrides org.hibernate.dialect.Dialect.doesReadCommittedCauseWritersToBlockReaders.

For the underlying database, is READ_COMMITTED isolation implemented by forcing readers to wait for write locks to be released?
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.

In H2, the extract() function does not return fractional seconds for the field TemporalUnit#SECOND.
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
getAlterColumnTypeString(String
the name of the column
columnName
,
String
the new type of the column
columnType
,
String
the full column definition
columnDefinition
)

Overrides org.hibernate.dialect.Dialect.getAlterColumnTypeString.

The fragment of an alter table command which modifies a column type, or null if column types cannot be modified.
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
getCaseInsensitiveLike()

Overrides org.hibernate.dialect.Dialect.getCaseInsensitiveLike.

The name of the SQL operator that performs case-insensitive LIKE comparisons.
public String
getCurrentTimestampSelectString()

Overrides org.hibernate.dialect.Dialect.getCurrentTimestampSelectString.

The command used to retrieve the current timestamp from the database.
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 int
getDefaultStatementBatchSize()

Overrides org.hibernate.dialect.Dialect.getDefaultStatementBatchSize.

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

Overrides org.hibernate.dialect.Dialect.getDisableConstraintsStatement.

A SQL statement that temporarily disables foreign key constraint checking for all tables.
public String
getEnableConstraintsStatement()

Overrides org.hibernate.dialect.Dialect.getEnableConstraintsStatement.

A SQL statement that re-enables foreign key constraint checking for all tables.
public SqmMultiTableInsertStrategy
public SqmMultiTableMutationStrategy
public FunctionalDependencyAnalysisSupport
getFunctionalDependencyAnalysisSupport()

Overrides org.hibernate.dialect.Dialect.getFunctionalDependencyAnalysisSupport.

Get this dialect's level of support for primary key functional dependency analysis within GROUP BY and ORDER BY clauses.
public SelectItemReferenceStrategy
getGroupBySelectItemReferenceStrategy()

Overrides org.hibernate.dialect.Dialect.getGroupBySelectItemReferenceStrategy.

Determine how selected items are referenced in the group by clause.
public IdentityColumnSupport
public LimitHandler
protected int
getMaximumArraySize()

H2 requires a very special emulation, because unnest is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.

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.
protected DatabaseVersion
getMinimumSupportedVersion()

Overrides org.hibernate.dialect.Dialect.getMinimumSupportedVersion.

Get the version of the SQL dialect that is the minimum supported by this implementation.
public ParameterMarkerStrategy
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
,
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 SequenceInformationExtractor
public SequenceSupport
public SqlAstTranslatorFactory
public TemporaryTableKind
getSupportedTemporaryTableKind()

Overrides org.hibernate.dialect.Dialect.getSupportedTemporaryTableKind.

The kind of temporary tables that are supported on this database.
public BeforeUseAction
getTemporaryTableBeforeUseAction()

Overrides org.hibernate.dialect.Dialect.getTemporaryTableBeforeUseAction.

The action to take before beginning use of a temporary table.
public TimeZoneSupport
public UniqueDelegate
public ViolatedConstraintNameExtractor
public boolean
public void
initializeFunctionRegistry(FunctionContributions functionContributions)

Overrides org.hibernate.dialect.Dialect.initializeFunctionRegistry.

Initialize the given registry with any dialect-specific functions.
public boolean
private static int
private static DatabaseVersion
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().
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 boolean
requiresParensForTupleDistinctCounts()

Overrides org.hibernate.dialect.Dialect.requiresParensForTupleDistinctCounts.

If supportsTupleDistinctCounts() is true, does this dialect require the tuple to be delimited with parentheses?
protected Integer
resolveSqlTypeCode(String columnTypeName, TypeConfiguration typeConfiguration)

Overrides org.hibernate.dialect.Dialect.resolveSqlTypeCode.

Resolves the SqlTypes type code for the given column type name as reported by the database, or null if it can't be resolved.
protected Integer
resolveSqlTypeCode(String typeName, String baseTypeName, TypeConfiguration typeConfiguration)

Overrides org.hibernate.dialect.Dialect.resolveSqlTypeCode.

Resolves the SqlTypes type code for the given column type name as reported by the database and the base type name (i.e. without precision, length and scale), or null if it can't be resolved.
public JdbcType
resolveSqlTypeDescriptor(String
the column type name
columnTypeName
,
int jdbcTypeCode, int
the precision or 0
precision
,
int
the scale or 0
scale
,
JdbcTypeRegistry jdbcTypeRegistry)

Overrides org.hibernate.dialect.Dialect.resolveSqlTypeDescriptor.

Assigns an appropriate JdbcType to a column of a JDBC result set based on the column type name, JDBC type code, precision, and scale.
public String
rowId(String
the name specified by org.hibernate.annotations.RowId#value(), which is ignored if getRowIdColumnString is not overridden
rowId
)

Overrides org.hibernate.dialect.Dialect.rowId.

The name of a rowid-like pseudo-column which acts as a high-performance row locator, or null if this dialect has no such pseudo-column.
public int
rowIdSqlType()

Overrides org.hibernate.dialect.Dialect.rowIdSqlType.

The JDBC type code of the rowid-like pseudo-column which acts as a high-performance row locator.
public boolean
supportsAlterColumnType()

Overrides org.hibernate.dialect.Dialect.supportsAlterColumnType.

Does this dialect support modifying the type of an existing column?
public boolean
supportsCaseInsensitiveLike()

Overrides org.hibernate.dialect.Dialect.supportsCaseInsensitiveLike.

Does this dialect support case-insensitive LIKE comparisons?
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
supportsDistinctFromPredicate()

Overrides org.hibernate.dialect.Dialect.supportsDistinctFromPredicate.

Does this dialect support some kind of distinct from predicate?
public boolean
supportsFetchClause(FetchClauseType
The fetch clause type
type
)

Overrides org.hibernate.dialect.Dialect.supportsFetchClause.

Does this dialect support the given FETCH clause type.
public boolean
supportsIfExistsAfterAlterTable()

Overrides org.hibernate.dialect.Dialect.supportsIfExistsAfterAlterTable.

For an alter table, can the phrase if exists be applied?
public boolean
supportsIfExistsAfterTableName()

Overrides org.hibernate.dialect.Dialect.supportsIfExistsAfterTableName.

For dropping a table, can the phrase if exists be applied after the table name?
public boolean
supportsIfExistsBeforeConstraintName()

Overrides org.hibernate.dialect.Dialect.supportsIfExistsBeforeConstraintName.

For dropping a constraint with an alter table statement, can the phrase if exists be applied before the constraint name?
public boolean
supportsIfExistsBeforeTableName()

Overrides org.hibernate.dialect.Dialect.supportsIfExistsBeforeTableName.

For dropping a table, can the phrase if exists be applied before the table name?
public boolean

Returns:

true because we can use select ... from final table (insert .... )
supportsInsertReturning
()

Overrides org.hibernate.dialect.Dialect.supportsInsertReturning.

Does this dialect fully support returning arbitrary generated column values after execution of an insert statement, using native SQL syntax?
public boolean
supportsIsTrue()

Overrides org.hibernate.dialect.Dialect.supportsIsTrue.

Does this dialect support the is true and is false operators?
public boolean
supportsLobValueChangePropagation()

Overrides org.hibernate.dialect.Dialect.supportsLobValueChangePropagation.

Does the dialect support propagating changes to LOB values back to the database?
public boolean
supportsOffsetInSubquery()

Overrides org.hibernate.dialect.Dialect.supportsOffsetInSubquery.

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

Overrides org.hibernate.dialect.Dialect.supportsRecursiveCTE.

Does this dialect/database support recursive CTEs?
public boolean
supportsStandardArrays()

Overrides org.hibernate.dialect.Dialect.supportsStandardArrays.

Does this database have native support for ANSI SQL standard arrays which are expressed in terms of the element type name: integer array.
public boolean
supportsTemporalLiteralOffset()

Overrides org.hibernate.dialect.Dialect.supportsTemporalLiteralOffset.

Does this dialect supports timezone offsets in temporal literals.
public boolean
public boolean
supportsTupleCounts()

Overrides org.hibernate.dialect.Dialect.supportsTupleCounts.

Does this dialect support count(a,b)?
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.
public String
translateExtractField(TemporalUnit unit)

Overrides org.hibernate.dialect.Dialect.translateExtractField.

Return the name used to identify the given field as an argument to the extract() function, or of this dialect's equivalent function.
public boolean
useArrayForMultiValuedParameters()

Overrides org.hibernate.dialect.Dialect.useArrayForMultiValuedParameters.

Does this database prefer to use array types for multi-valued parameters.
private static MutationOperation
usingMerge(EntityMutationTarget mutationTarget, OptionalTableUpdate optionalTableUpdate, SessionFactoryImplementor factory)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
private static MutationOperation
withoutMerge(EntityMutationTarget mutationTarget, OptionalTableUpdate optionalTableUpdate, SessionFactoryImplementor factory)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
Inherited from org.hibernate.dialect.Dialect:
addSqlHintOrCommentappendArrayLiteralappendBinaryLiteralappendIntervalLiteralappendLiteralappendLockHintappendUUIDLiteralapplyLocksToSqlaugmentRecognizedTableTypesbuildIdentifierHelpercanBatchTruncatecanCreateCatalogcanCreateSchemacastPatterncheckVersioncloseQuotecontributecontributeFunctionscurrentDatecurrentLocalTimecurrentLocalTimestampdefaultScrollModedoesRepeatableReadCauseReadersToBlockWritersequivalentTypesescapeCommentforceLobAsLastValuegetAddColumnStringgetAddColumnSuffixStringgetAddForeignKeyConstraintStringgetAddForeignKeyConstraintStringgetAddPrimaryKeyConstraintStringgetAggregateSupportgetAlterTableStringgetArrayTypeNamegetAuxiliaryDatabaseObjectExportergetBatchLoadSizingStrategygetCallableStatementSupportgetCheckConditiongetCheckConditiongetCheckConditiongetCheckConditiongetColumnAliasExtractorgetColumnCommentgetCreateCatalogCommandgetCreateEnumTypeCommandgetCreateEnumTypeCommandgetCreateIndexStringgetCreateIndexTailgetCreateMultisetTableStringgetCreateSchemaCommandgetCreateTableStringgetCreateTemporaryTableColumnAnnotationgetCreateUserDefinedTypeExtensionsStringgetCreateUserDefinedTypeKindStringgetCurrentSchemaCommandgetDefaultDecimalPrecisiongetDefaultIntervalSecondScalegetDefaultLobLengthgetDefaultPropertiesgetDefaultTimestampPrecisiongetDefaultUseGetGeneratedKeysgetDisableConstraintStatementgetDmlTargetColumnQualifierSupportgetDoublePrecisiongetDropCatalogCommandgetDropEnumTypeCommandgetDropEnumTypeCommandgetDropForeignKeyStringgetDropSchemaCommandgetDropTableStringgetDropUniqueKeyStringgetEnableConstraintStatementgetEnumTypeDeclarationgetEnumTypeDeclarationgetFallbackSchemaManagementToolgetFloatPrecisiongetForeignKeyExportergetForUpdateNowaitStringgetForUpdateNowaitStringgetForUpdateSkipLockedStringgetForUpdateSkipLockedStringgetForUpdateStringgetForUpdateStringgetForUpdateStringgetForUpdateStringgetForUpdateStringgetFractionalSecondPrecisionInNanosgetHqlTranslatorgetIndexExportergetInExpressionCountLimitgetKeywordsgetLobMergeStrategygetLockingStrategygetLockRowIdentifiergetLowercaseFunctiongetMaxAliasLengthgetMaxIdentifierLengthgetMaxNVarcharCapacitygetMaxNVarcharLengthgetMaxVarbinaryCapacitygetMaxVarbinaryLengthgetMaxVarcharCapacitygetMultiKeyLoadSizingStrategygetNameQualifierSupportgetNationalizationSupportgetNativeIdentifierGeneratorStrategygetNoColumnsInsertStringgetNullColumnStringgetNullColumnStringgetParameterCountLimitgetPreferredSqlTypeCodeForArraygetPreferredSqlTypeCodeForBooleangetQueryHintStringgetReadLockStringgetReadLockStringgetReadRowLockStrategygetResultSetgetResultSetgetResultSetgetRowIdColumnStringgetSchemaNameResolvergetSelectClauseNullStringgetSelectGUIDStringgetSequenceExportergetSizeStrategygetSqmTranslatorFactorygetTableCleanergetTableCommentgetTableExportergetTableMigratorgetTableTypeStringgetTemporaryTableAfterUseActiongetTemporaryTableCreateCommandgetTemporaryTableCreateOptionsgetTemporaryTableDdlTransactionHandlinggetTemporaryTableDropCommandgetTemporaryTableExportergetTemporaryTableTruncateCommandgetTimeoutInSecondsgetTruncateTableStatementgetTruncateTableStatementsgetUniqueKeyExportergetUserDefinedTypeCommentgetUserDefinedTypeExportergetVersiongetWriteLockStringgetWriteLockStringgetWriteRowLockStrategyhasAlterTablehasDataTypeBeforeGeneratedAshasSelfReferentialForeignKeyBuginitDefaultPropertiesinlineLiteralisAnsiNullOnisEmptyStringTreatedAsNullisJdbcLogWarningsEnabledByDefaultisLobisLockTimeoutParameterizedopenQuoteordinalprependCommentqualifyIndexNamequotequoteCollationregisterDefaultKeywordsregisterKeywordregisterKeywordsregisterResultSetOutParameterrequiresCastForConcatenatingNonStringsrequiresFloatCastingOfIntegerDivisionrequiresParensForTupleCountsresolveSqlTypeLengthsupportsBatchUpdatessupportsBindAsCallableArgumentsupportsBitTypesupportsCascadeDeletesupportsCircularCascadeDeleteConstraintssupportsColumnChecksupportsExistsInSelectsupportsExpectedLobUsagePatternsupportsFractionalTimestampArithmeticsupportsIfExistsAfterConstraintNamesupportsIfExistsAfterTypeNamesupportsIfExistsBeforeTypeNamesupportsInsertReturningGeneratedKeyssupportsJdbcConnectionLobCreationsupportsLateralsupportsLockTimeoutssupportsMaterializedLobAccesssupportsNamedParameterssupportsNoColumnsInsertsupportsNonQueryWithCTEsupportsNoWaitsupportsNullPrecedencesupportsOrderByInSubquerysupportsOrdinalSelectItemReferencesupportsOuterJoinForUpdatesupportsParametersInInsertSelectsupportsPartitionBysupportsPredicateAsExpressionsupportsRefCursorssupportsResultSetPositionQueryMethodsOnForwardOnlyCursorsupportsSkipLockedsupportsStandardCurrentTimestampFunctionsupportsSubqueryInSelectsupportsSubqueryOnMutatingTablesupportsSubselectAsInPredicateLHSsupportsTableChecksupportsTemporaryTablePrimaryKeysupportsTemporaryTablessupportsTruncateWithCastsupportsTupleDistinctCountssupportsUnboundedLobLocatorMaterializationsupportsUnionAllsupportsUnionInSubquerysupportsValuesListsupportsValuesListForInsertsupportsWaittoBooleanValueStringtoQuotedIdentifiertoStringtransformSelectStringtranslateDurationFieldtrimPatterntrimPatternuseFollowOnLockinguseInputStreamToInsertBlobuseMaterializedLobWhenCapacityExceeded