Top Description Fields Constructors Methods
org.hibernate.dialect

public Class CockroachDialect

extends Dialect
Class Inheritance
Imports
java.sql.DatabaseMetaData, .ResultSet, .SQLException, .Types, java.time.temporal.ChronoField, .TemporalAccessor, java.util.Calendar, .Date, .List, .Map, .TimeZone, java.util.regex.Matcher, .Pattern, org.hibernate.LockMode, .LockOptions, .PessimisticLockException, .QueryTimeoutException, org.hibernate.boot.model.FunctionContributions, .TypeContributions, org.hibernate.dialect.function.CommonFunctionFactory, .FormatFunction, .PostgreSQLTruncFunction, org.hibernate.dialect.identity.CockroachDBIdentityColumnSupport, .IdentityColumnSupport, org.hibernate.dialect.pagination.LimitHandler, .OffsetFetchLimitHandler, org.hibernate.dialect.sequence.PostgreSQLSequenceSupport, .SequenceSupport, 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.LockAcquisitionException, org.hibernate.exception.spi.SQLExceptionConversionDelegate, .TemplatedViolatedConstraintNameExtractor, .ViolatedConstraintNameExtractor, org.hibernate.internal.CoreMessageLogger, org.hibernate.internal.util.JdbcExceptionHelper, org.hibernate.internal.util.config.ConfigurationHelper, org.hibernate.query.SemanticException, org.hibernate.query.sqm.IntervalType, .TemporalUnit, org.hibernate.service.ServiceRegistry, org.hibernate.sql.ast.SqlAstTranslator, .SqlAstTranslatorFactory, org.hibernate.sql.ast.spi.SqlAppender, .StandardSqlAstTranslatorFactory, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.exec.spi.JdbcOperation, org.hibernate.tool.schema.extract.spi.ColumnTypeInformation, org.hibernate.type.JavaObjectType, org.hibernate.type.descriptor.jdbc.JdbcType, .JdbcTypeConstructor, .ObjectNullAsBinaryTypeJdbcType, .UUIDJdbcType, .VarbinaryJdbcType, .VarcharJdbcType, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl, .Scale6IntervalSecondDdlType, org.hibernate.type.descriptor.sql.spi.DdlTypeRegistry, org.hibernate.type.spi.TypeConfiguration, org.jboss.logging.Logger, jakarta.persistence.TemporalType

A SQL dialect for CockroachDB 21.1 and above.
Author
Gavin King

Field Summary

Modifier and TypeField and Description
private static final Pattern
protected final PostgreSQLDriverKind
private static final ViolatedConstraintNameExtractor
EXTRACTOR

Hides org.hibernate.dialect.Dialect.EXTRACTOR.

Constraint-name extractor for Postgres constraint violation exceptions.
private static final CoreMessageLogger
protected static final DatabaseVersion
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
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 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
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.
protected void
contributeCockroachTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry)

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 String
extractPattern(TemporalUnit
the first argument
unit
)

Overrides org.hibernate.dialect.Dialect.extractPattern.

The extract() function returns TemporalUnit#DAY_OF_WEEK numbered from 0 to 6.
protected static DatabaseVersion
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 int
getDefaultIntervalSecondScale()

Overrides org.hibernate.dialect.Dialect.getDefaultIntervalSecondScale.

Resolves the default scale for a SqlTypes.INTERVAL_SECOND type code for the given column

Usually 9 (nanosecond) or 6 (microseconds).

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
getForUpdateSkipLockedString()

Overrides org.hibernate.dialect.Dialect.getForUpdateSkipLockedString.

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

Overrides org.hibernate.dialect.Dialect.getForUpdateSkipLockedString.

Get the FOR UPDATE OF column_list SKIP LOCKED fragment appropriate for this dialect, given the aliases of the columns to be write locked.
public String
getForUpdateString(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(LockOptions
contains the lock mode to apply.
lockOptions
)

Overrides org.hibernate.dialect.Dialect.getForUpdateString.

Given a set of LockOptions (lock level, timeout), determine the appropriate for update fragment to use to obtain the lock.
public String
getForUpdateString(String
The columns to be locked.
aliases
,
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.
public long
getFractionalSecondPrecisionInNanos()

Overrides org.hibernate.dialect.Dialect.getFractionalSecondPrecisionInNanos.

microsecond is the smallest unit for an interval, and the highest precision for a timestamp.
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 IdentityColumnSupport
public LimitHandler
public int
getMaxIdentifierLength()

Overrides org.hibernate.dialect.Dialect.getMaxIdentifierLength.

What is the maximum identifier length supported by this dialect?
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 NameQualifierSupport
public NationalizationSupport
getNationalizationSupport()

Overrides org.hibernate.dialect.Dialect.getNationalizationSupport.

Determines whether this database requires the use of explicitly nationalized character (Unicode) data types.
public String
getNativeIdentifierGeneratorStrategy()

Overrides org.hibernate.dialect.Dialect.getNativeIdentifierGeneratorStrategy.

The name identifying the "native" id generation strategy for this dialect.
public String
getNoColumnsInsertString()

Overrides org.hibernate.dialect.Dialect.getNoColumnsInsertString.

The fragment used to insert a row without specifying any column values, usually just (), but sometimes default values.
public NullOrdering
getNullOrdering()

Overrides org.hibernate.dialect.Dialect.getNullOrdering.

Returns the default ordering of null.
public String

Returns:

the query with hints added
getQueryHintString
(String
The query to which to apply the hint.
query
,
List<String>
The hints to apply
hintList
)

Overrides org.hibernate.dialect.Dialect.getQueryHintString.

Applies the hints to the query string.
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 SequenceSupport
public SqlAstTranslatorFactory
public TimeZoneSupport
public ViolatedConstraintNameExtractor
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.
private static String
public boolean
public static DatabaseVersion
parseVersion(String versionString)

public boolean
qualifyIndexName()

Overrides org.hibernate.dialect.Dialect.qualifyIndexName.

Do we need to qualify index names with the schema name?
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 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.
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 boolean
supportsCaseInsensitiveLike()

Overrides org.hibernate.dialect.Dialect.supportsCaseInsensitiveLike.

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

Overrides org.hibernate.dialect.Dialect.supportsIfExistsAfterAlterTable.

For an alter table, can the phrase if exists be applied?
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
supportsLateral()

Overrides org.hibernate.dialect.Dialect.supportsLateral.

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

Overrides org.hibernate.dialect.Dialect.supportsLobValueChangePropagation.

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

Overrides org.hibernate.dialect.Dialect.supportsNonQueryWithCTE.

Does this dialect support insert, update, and delete statements with Common Table Expressions (CTEs)?
public boolean
supportsNoWait()

Overrides org.hibernate.dialect.Dialect.supportsNoWait.

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

Overrides org.hibernate.dialect.Dialect.supportsNullPrecedence.

Does this dialect support nulls first and nulls last?
public boolean
supportsOffsetInSubquery()

Overrides org.hibernate.dialect.Dialect.supportsOffsetInSubquery.

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

Overrides org.hibernate.dialect.Dialect.supportsOuterJoinForUpdate.

Does this dialect support FOR UPDATE in conjunction with outer-joined rows?
public boolean
supportsPartitionBy()

Overrides org.hibernate.dialect.Dialect.supportsPartitionBy.

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

Overrides org.hibernate.dialect.Dialect.supportsRecursiveCTE.

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

Overrides org.hibernate.dialect.Dialect.supportsSkipLocked.

Does this dialect support SKIP_LOCKED timeout.
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
supportsTupleCounts()

Overrides org.hibernate.dialect.Dialect.supportsTupleCounts.

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

Overrides org.hibernate.dialect.Dialect.supportsValuesList.

Does this dialect support values lists of form VALUES (1), (2), (3)?
public boolean
supportsWait()

Overrides org.hibernate.dialect.Dialect.supportsWait.

Does this dialect support WAIT timeout.
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
translateDurationField(TemporalUnit unit)

Overrides org.hibernate.dialect.Dialect.translateDurationField.

Return the name used to identify the given unit of duration as an argument to #timestampadd() or #timestampdiff(), or of this dialect's equivalent functions.
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
useInputStreamToInsertBlob()

Overrides org.hibernate.dialect.Dialect.useInputStreamToInsertBlob.

Should LOBs (both BLOB and CLOB) be bound using stream operations, that is, using PreparedStatement#setBinaryStream).
private String
withTimeout(String lockString, int timeout)

Inherited from org.hibernate.dialect.Dialect:
addSqlHintOrCommentappendArrayLiteralappendBinaryLiteralappendIntervalLiteralappendLiteralappendLockHintappendUUIDLiteralapplyLocksToSqlaugmentPhysicalTableTypesaugmentRecognizedTableTypescanBatchTruncatecanCreateCatalogcanCreateSchemacanDisableConstraintscastPatterncheckVersioncloseQuotecontributecontributeFunctionscreateOptionalTableUpdateOperationcurrentDatecurrentLocalTimecurrentLocalTimestampcurrentTimecurrentTimestampcurrentTimestampWithTimeZonedefaultScrollModedoesReadCommittedCauseWritersToBlockReadersdoesRepeatableReadCauseReadersToBlockWritersdropConstraintsequivalentTypesescapeCommentforceLobAsLastValuegeneratedAsgetAddColumnStringgetAddColumnSuffixStringgetAddForeignKeyConstraintStringgetAddForeignKeyConstraintStringgetAddPrimaryKeyConstraintStringgetAggregateSupportgetAlterColumnTypeStringgetAlterTableStringgetArrayTypeNamegetAuxiliaryDatabaseObjectExportergetBatchLoadSizingStrategygetCallableStatementSupportgetCheckConditiongetCheckConditiongetCheckConditiongetCheckConditiongetColumnAliasExtractorgetColumnCommentgetCreateCatalogCommandgetCreateEnumTypeCommandgetCreateEnumTypeCommandgetCreateIndexStringgetCreateIndexTailgetCreateMultisetTableStringgetCreateSchemaCommandgetCreateTableStringgetCreateTemporaryTableColumnAnnotationgetCreateUserDefinedTypeExtensionsStringgetCreateUserDefinedTypeKindStringgetCurrentSchemaCommandgetDefaultDecimalPrecisiongetDefaultLobLengthgetDefaultNonContextualLobCreationgetDefaultPropertiesgetDefaultStatementBatchSizegetDefaultTimestampPrecisiongetDefaultUseGetGeneratedKeysgetDisableConstraintsStatementgetDisableConstraintStatementgetDmlTargetColumnQualifierSupportgetDoublePrecisiongetDropCatalogCommandgetDropEnumTypeCommandgetDropEnumTypeCommandgetDropForeignKeyStringgetDropSchemaCommandgetDropTableStringgetDropUniqueKeyStringgetEnableConstraintsStatementgetEnableConstraintStatementgetEnumTypeDeclarationgetEnumTypeDeclarationgetFallbackSchemaManagementToolgetFallbackSqmInsertStrategygetFallbackSqmMutationStrategygetFloatPrecisiongetForeignKeyExportergetForUpdateStringgetForUpdateStringgetGroupBySelectItemReferenceStrategygetHqlTranslatorgetIndexExportergetInExpressionCountLimitgetKeywordsgetLobMergeStrategygetLockingStrategygetLockRowIdentifiergetLowercaseFunctiongetMaxAliasLengthgetMaxNVarcharCapacitygetMaxNVarcharLengthgetMaxVarbinaryCapacitygetMaxVarbinaryLengthgetMaxVarcharCapacitygetMaxVarcharLengthgetMultiKeyLoadSizingStrategygetNativeParameterMarkerStrategygetNullColumnStringgetNullColumnStringgetParameterCountLimitgetPreferredSqlTypeCodeForArraygetPreferredSqlTypeCodeForBooleangetQueryHintStringgetReadRowLockStrategygetResultSetgetResultSetgetResultSetgetRowIdColumnStringgetSchemaNameResolvergetSelectClauseNullStringgetSelectGUIDStringgetSequenceExportergetSequenceInformationExtractorgetSizeStrategygetSqmTranslatorFactorygetSupportedTemporaryTableKindgetTableCleanergetTableCommentgetTableExportergetTableMigratorgetTableTypeStringgetTemporaryTableAfterUseActiongetTemporaryTableBeforeUseActiongetTemporaryTableCreateCommandgetTemporaryTableCreateOptionsgetTemporaryTableDdlTransactionHandlinggetTemporaryTableDropCommandgetTemporaryTableExportergetTemporaryTableTruncateCommandgetTimeoutInSecondsgetTruncateTableStatementgetTruncateTableStatementsgetUniqueDelegategetUniqueKeyExportergetUserDefinedTypeCommentgetUserDefinedTypeExportergetVersionhasAlterTablehasDataTypeBeforeGeneratedAshasSelfReferentialForeignKeyBuginitDefaultPropertiesinlineLiteralisAnsiNullOnisEmptyStringTreatedAsNullisJdbcLogWarningsEnabledByDefaultisLobisLockTimeoutParameterizedopenQuoteordinalprependCommentquotequoteCollationregisterDefaultKeywordsregisterKeywordregisterKeywordsregisterResultSetOutParameterregisterResultSetOutParameterrequiresCastForConcatenatingNonStringsrequiresFloatCastingOfIntegerDivisionrequiresParensForTupleCountsresolveSqlTypeCoderesolveSqlTypeLengthrowIdrowIdSqlTypesupportsAlterColumnTypesupportsBatchUpdatessupportsBindAsCallableArgumentsupportsBitTypesupportsCascadeDeletesupportsCircularCascadeDeleteConstraintssupportsColumnChecksupportsCommentOnsupportsExistsInSelectsupportsExpectedLobUsagePatternsupportsFetchClausesupportsFractionalTimestampArithmeticsupportsIfExistsAfterConstraintNamesupportsIfExistsAfterTableNamesupportsIfExistsAfterTypeNamesupportsIfExistsBeforeTypeNamesupportsInsertReturningsupportsInsertReturningGeneratedKeyssupportsIsTruesupportsJdbcConnectionLobCreationsupportsLockTimeoutssupportsMaterializedLobAccesssupportsNamedParameterssupportsNoColumnsInsertsupportsOrderByInSubquerysupportsOrdinalSelectItemReferencesupportsParametersInInsertSelectsupportsPredicateAsExpressionsupportsRefCursorssupportsResultSetPositionQueryMethodsOnForwardOnlyCursorsupportsStandardCurrentTimestampFunctionsupportsSubqueryInSelectsupportsSubqueryOnMutatingTablesupportsSubselectAsInPredicateLHSsupportsTableChecksupportsTemporaryTablePrimaryKeysupportsTemporaryTablessupportsTruncateWithCastsupportsTupleDistinctCountssupportsUnboundedLobLocatorMaterializationsupportsUnionAllsupportsUnionInSubquerysupportsValuesListForInserttoBooleanValueStringtoQuotedIdentifiertoStringtransformSelectStringtrimPatterntrimPatternuseArrayForMultiValuedParametersuseFollowOnLockinguseMaterializedLobWhenCapacityExceeded