Package org.hibernate.community.dialect
Class SingleStoreDialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.community.dialect.SingleStoreDialect
-
- All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor,org.hibernate.boot.model.TypeContributor,org.hibernate.exception.spi.ConversionContext
public class SingleStoreDialect extends org.hibernate.dialect.DialectAn SQL dialect for SingleStore.The following are some of the key aspects and limitations of SingleStore that may affect Hibernate functionality:
- SingleStore supports two table types: COLUMNSTORE and ROWSTORE. Explicit table type can be configured by setting 'hibernate.dialect.singlestore.table_type' property. Refer to
SingleStoreDialect.SingleStoreTableTypefor details. - SingleStore has a random order for SELECT queries, which may impact the predictability of query results.
- SingleStore does not support foreign keys and referential integrity, which could affect the design of your database schema.
- The SingleStore dialect ignores unique key constraints. See
SingleStoreDialect.DoNothingUniqueDelegatefor more information. - SingleStore does not support zoned timestamps, which might require adjustments to how you handle time-related data.
- Updating primary keys in SingleStore is restricted because every primary key is also a unique key and shard key.
- SingleStore does not support the ALL/ANY clause in SQL queries.
- Sub-selects with references to outer table fields are not supported in SingleStore.
- SingleStore does not support the 'FOR UPDATE' clause for table locking with distributed joins. It's disabled by default, can be enabled by setting 'hibernate.dialect.singlestore.for_update_lock_enabled' property
SINGLE_STORE_FOR_UPDATE_LOCK_ENABLED. - The LIKE clause in SingleStore is case-insensitive, which might differ from other SQL implementations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSingleStoreDialect.SingleStoreTableTypeThe default table type in SingleStore is 'columnstore'.
-
Field Summary
Fields Modifier and Type Field Description static StringSINGLE_STORE_FOR_UPDATE_LOCK_ENABLEDSpecifies SingleStore FOR UPDATE clause lock enable.static StringSINGLE_STORE_TABLE_TYPESpecifies SingleStore explicit table type.
-
Constructor Summary
Constructors Constructor Description SingleStoreDialect()SingleStoreDialect(org.hibernate.dialect.DatabaseVersion version, SingleStoreDialect.SingleStoreTableType explicitTableType, boolean isForUpdateLockingEnabled)SingleStoreDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)voidappendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, TemporalAccessor temporalAccessor, TemporalType precision, TimeZone jdbcTimeZone)voidappendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, Calendar calendar, TemporalType precision, TimeZone jdbcTimeZone)voidappendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, Date date, TemporalType precision, TimeZone jdbcTimeZone)voidappendLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, String literal)org.hibernate.engine.jdbc.env.spi.IdentifierHelperbuildIdentifierHelper(org.hibernate.engine.jdbc.env.spi.IdentifierHelperBuilder builder, DatabaseMetaData dbMetaData)org.hibernate.exception.spi.SQLExceptionConversionDelegatebuildSQLExceptionConversionDelegate()booleancanCreateCatalog()booleancanCreateSchema()StringcastPattern(org.hibernate.query.sqm.CastType from, org.hibernate.query.sqm.CastType to)protected StringcastType(int sqlTypeCode)charcloseQuote()protected StringcolumnType(int sqlTypeCode)voidcontributeTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)StringcurrentTimestamp()static org.hibernate.dialect.ReplacerdatetimeFormat(String format)booleandoesRoundTemporalOnOverflow()booleandropConstraints()StringextractPattern(org.hibernate.query.sqm.TemporalUnit unit)StringgetAddForeignKeyConstraintString(String constraintName, String foreignKeyDefinition)StringgetAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey)StringgetAddPrimaryKeyConstraintString(String constraintName)StringgetAlterColumnTypeString(String columnName, String columnType, String columnDefinition)StringgetColumnComment(String comment)String[]getCreateCatalogCommand(String catalogName)String[]getCreateSchemaCommand(String schemaName)StringgetCreateTableString()StringgetCurrentTimestampSelectString()intgetDefaultDecimalPrecision()longgetDefaultLobLength()org.hibernate.dialect.DmlTargetColumnQualifierSupportgetDmlTargetColumnQualifierSupport()String[]getDropCatalogCommand(String catalogName)StringgetDropForeignKeyString()String[]getDropSchemaCommand(String schemaName)StringgetDropUniqueKeyString()StringgetDual()StringgetEnumTypeDeclaration(String name, String[] values)SingleStoreDialect.SingleStoreTableTypegetExplicitTableType()org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategygetFallbackSqmInsertStrategy(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategygetFallbackSqmMutationStrategy(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)intgetFloatPrecision()org.hibernate.tool.schema.spi.Exporter<org.hibernate.mapping.ForeignKey>getForeignKeyExporter()SingleStore does not support foreign keys and referential integrityStringgetForUpdateNowaitString(String aliases)StringgetForUpdateSkipLockedString(String aliases)StringgetForUpdateString()longgetFractionalSecondPrecisionInNanos()org.hibernate.dialect.FunctionalDependencyAnalysisSupportgetFunctionalDependencyAnalysisSupport()org.hibernate.dialect.SelectItemReferenceStrategygetGroupBySelectItemReferenceStrategy()org.hibernate.dialect.identity.IdentityColumnSupportgetIdentityColumnSupport()intgetInExpressionCountLimit()org.hibernate.dialect.pagination.LimitHandlergetLimitHandler()intgetMaxAliasLength()intgetMaxIdentifierLength()intgetMaxVarbinaryLength()The biggest size value that can be supplied as argumentintgetMaxVarcharLength()protected org.hibernate.dialect.DatabaseVersiongetMinimumSupportedVersion()org.hibernate.engine.jdbc.env.spi.NameQualifierSupportgetNameQualifierSupport()StringgetNullColumnString(String columnType)org.hibernate.dialect.NullOrderinggetNullOrdering()intgetPreferredSqlTypeCodeForBoolean()StringgetQueryHintString(String query, String hints)ResultSetgetResultSet(CallableStatement ps)org.hibernate.engine.jdbc.env.spi.SchemaNameResolvergetSchemaNameResolver()StringgetSelectGUIDString()org.hibernate.tool.schema.spi.Exporter<org.hibernate.boot.model.relational.Sequence>getSequenceExporter()org.hibernate.dialect.Dialect.SizeStrategygetSizeStrategy()org.hibernate.sql.ast.SqlAstTranslatorFactorygetSqlAstTranslatorFactory()org.hibernate.dialect.temptable.TemporaryTableKindgetSupportedTemporaryTableKind()StringgetTableComment(String comment)org.hibernate.query.sqm.mutation.internal.temptable.AfterUseActiongetTemporaryTableAfterUseAction()org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseActiongetTemporaryTableBeforeUseAction()StringgetTemporaryTableCreateCommand()StringgetTemporaryTableDropCommand()org.hibernate.dialect.unique.UniqueDelegategetUniqueDelegate()org.hibernate.exception.spi.ViolatedConstraintNameExtractorgetViolatedConstraintNameExtractor()StringgetWriteLockString(String aliases, int timeout)voidinitializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)booleanisCurrentTimestampSelectStringCallable()booleanisForUpdateLockingEnabled()booleanisJdbcLogWarningsEnabledByDefault()charopenQuote()booleanqualifyIndexName()protected voidregisterColumnTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)protected voidregisterDefaultKeywords()intregisterResultSetOutParameter(CallableStatement statement, int col)org.hibernate.type.descriptor.jdbc.JdbcTyperesolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)intresolveSqlTypeLength(String columnTypeName, int jdbcTypeCode, int precision, int scale, int displaySize)booleansupportsAlterColumnType()SingleStore doesn't support modifying column type on columnstore tables.booleansupportsCascadeDelete()booleansupportsCircularCascadeDeleteConstraints()booleansupportsColumnCheck()Feature 'Check constraints' is not supported by SingleStore.booleansupportsCommentOn()booleansupportsCurrentTimestampSelection()booleansupportsFromClauseInUpdate()booleansupportsIfExistsBeforeTableName()booleansupportsIsTrue()booleansupportsLobValueChangePropagation()booleansupportsLockTimeouts()booleansupportsNonQueryWithCTE()booleansupportsNullPrecedence()booleansupportsOffsetInSubquery()booleansupportsPartitionBy()booleansupportsRecursiveCTE()booleansupportsSubqueryOnMutatingTable()booleansupportsTableCheck()Feature 'Check constraints' is not supported by SingleStore.booleansupportsWait()booleansupportsWindowFunctions()StringtimestampaddPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)StringtimestampdiffPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)booleanuseMaterializedLobWhenCapacityExceeded()-
Methods inherited from class org.hibernate.dialect.Dialect
addSqlHintOrComment, appendArrayLiteral, appendBinaryLiteral, appendBooleanValueString, appendIntervalLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildStringToBooleanCast, buildStringToBooleanCastDecode, buildStringToBooleanDecode, canBatchTruncate, canDisableConstraints, checkVersion, contribute, contributeFunctions, createOptionalTableUpdateOperation, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestampWithTimeZone, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnString, getAddColumnSuffixString, getAggregateSupport, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getBeforeDropStatement, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getCurrentSchemaCommand, getDefaultIntervalSecondScale, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultStatementBatchSize, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDoublePrecision, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropTableString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFromDualForSelectOnly, getHqlTranslator, getIndexExporter, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarcharCapacity, getMultiKeyLoadSizingStrategy, getNationalizationSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getNullColumnString, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getRowIdColumnString, getSelectClauseNullString, getSelectClauseNullString, getSequenceInformationExtractor, getSequenceSupport, getSqmTranslatorFactory, getTableCleaner, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTimeZoneSupport, getTruncateTableStatement, getTruncateTableStatements, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isLob, isLockTimeoutParameterized, ordinal, prependComment, quote, quoteCollation, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresCastForConcatenatingNonStrings, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, rowId, rowIdSqlType, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBindingNullForSetObject, supportsBindingNullSqlTypeForSetNull, supportsBitType, supportsCaseInsensitiveLike, supportsConflictClauseForInsertCTE, supportsDistinctFromPredicate, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsJdbcConnectionLobCreation, supportsLateral, supportsMaterializedLobAccess, supportsNamedParameters, supportsNationalizedMethods, supportsNoColumnsInsert, supportsNoWait, supportsOrderByInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPredicateAsExpression, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubselectAsInPredicateLHS, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsTupleDistinctCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesList, supportsValuesListForInsert, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, translateExtractField, trimPattern, trimPattern, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useCrossReferenceForeignKeys, useFollowOnLocking, useInputStreamToInsertBlob
-
-
-
-
Field Detail
-
SINGLE_STORE_TABLE_TYPE
public static final String SINGLE_STORE_TABLE_TYPE
Specifies SingleStore explicit table type.- See Also:
- Constant Field Values
- Default Value:
null
-
SINGLE_STORE_FOR_UPDATE_LOCK_ENABLED
public static final String SINGLE_STORE_FOR_UPDATE_LOCK_ENABLED
Specifies SingleStore FOR UPDATE clause lock enable.- See Also:
- Constant Field Values
- Default Value:
false
-
-
Constructor Detail
-
SingleStoreDialect
public SingleStoreDialect()
-
SingleStoreDialect
public SingleStoreDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
-
SingleStoreDialect
public SingleStoreDialect(org.hibernate.dialect.DatabaseVersion version, SingleStoreDialect.SingleStoreTableType explicitTableType, boolean isForUpdateLockingEnabled)
-
-
Method Detail
-
getMinimumSupportedVersion
protected org.hibernate.dialect.DatabaseVersion getMinimumSupportedVersion()
- Overrides:
getMinimumSupportedVersionin classorg.hibernate.dialect.Dialect
-
useMaterializedLobWhenCapacityExceeded
public boolean useMaterializedLobWhenCapacityExceeded()
- Overrides:
useMaterializedLobWhenCapacityExceededin classorg.hibernate.dialect.Dialect
-
extractPattern
public String extractPattern(org.hibernate.query.sqm.TemporalUnit unit)
- Overrides:
extractPatternin classorg.hibernate.dialect.Dialect
-
timestampaddPattern
public String timestampaddPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)
- Overrides:
timestampaddPatternin classorg.hibernate.dialect.Dialect
-
timestampdiffPattern
public String timestampdiffPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)
- Overrides:
timestampdiffPatternin classorg.hibernate.dialect.Dialect
-
appendDateTimeLiteral
public void appendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, TemporalAccessor temporalAccessor, TemporalType precision, TimeZone jdbcTimeZone)- Overrides:
appendDateTimeLiteralin classorg.hibernate.dialect.Dialect
-
appendDateTimeLiteral
public void appendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, Date date, TemporalType precision, TimeZone jdbcTimeZone)- Overrides:
appendDateTimeLiteralin classorg.hibernate.dialect.Dialect
-
appendDateTimeLiteral
public void appendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, Calendar calendar, TemporalType precision, TimeZone jdbcTimeZone)- Overrides:
appendDateTimeLiteralin classorg.hibernate.dialect.Dialect
-
getGroupBySelectItemReferenceStrategy
public org.hibernate.dialect.SelectItemReferenceStrategy getGroupBySelectItemReferenceStrategy()
- Overrides:
getGroupBySelectItemReferenceStrategyin classorg.hibernate.dialect.Dialect
-
getEnumTypeDeclaration
public String getEnumTypeDeclaration(String name, String[] values)
- Overrides:
getEnumTypeDeclarationin classorg.hibernate.dialect.Dialect
-
getQueryHintString
public String getQueryHintString(String query, String hints)
- Overrides:
getQueryHintStringin classorg.hibernate.dialect.Dialect
-
getViolatedConstraintNameExtractor
public org.hibernate.exception.spi.ViolatedConstraintNameExtractor getViolatedConstraintNameExtractor()
- Specified by:
getViolatedConstraintNameExtractorin interfaceorg.hibernate.exception.spi.ConversionContext- Overrides:
getViolatedConstraintNameExtractorin classorg.hibernate.dialect.Dialect
-
qualifyIndexName
public boolean qualifyIndexName()
- Overrides:
qualifyIndexNamein classorg.hibernate.dialect.Dialect
-
registerColumnTypes
protected void registerColumnTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)- Overrides:
registerColumnTypesin classorg.hibernate.dialect.Dialect
-
initializeFunctionRegistry
public void initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
- Overrides:
initializeFunctionRegistryin classorg.hibernate.dialect.Dialect
-
getCreateTableString
public String getCreateTableString()
- Overrides:
getCreateTableStringin classorg.hibernate.dialect.Dialect
-
contributeTypes
public void contributeTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)- Overrides:
contributeTypesin classorg.hibernate.dialect.Dialect
-
resolveSqlTypeDescriptor
public org.hibernate.type.descriptor.jdbc.JdbcType resolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)
- Overrides:
resolveSqlTypeDescriptorin classorg.hibernate.dialect.Dialect
-
columnType
protected String columnType(int sqlTypeCode)
- Overrides:
columnTypein classorg.hibernate.dialect.Dialect
-
castPattern
public String castPattern(org.hibernate.query.sqm.CastType from, org.hibernate.query.sqm.CastType to)
- Overrides:
castPatternin classorg.hibernate.dialect.Dialect
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()
- Overrides:
getPreferredSqlTypeCodeForBooleanin classorg.hibernate.dialect.Dialect
-
castType
protected String castType(int sqlTypeCode)
- Overrides:
castTypein classorg.hibernate.dialect.Dialect
-
getSizeStrategy
public org.hibernate.dialect.Dialect.SizeStrategy getSizeStrategy()
- Overrides:
getSizeStrategyin classorg.hibernate.dialect.Dialect
-
getFloatPrecision
public int getFloatPrecision()
- Overrides:
getFloatPrecisionin classorg.hibernate.dialect.Dialect
-
currentTimestamp
public String currentTimestamp()
- Overrides:
currentTimestampin classorg.hibernate.dialect.Dialect
-
getFractionalSecondPrecisionInNanos
public long getFractionalSecondPrecisionInNanos()
- Overrides:
getFractionalSecondPrecisionInNanosin classorg.hibernate.dialect.Dialect
-
getDefaultLobLength
public long getDefaultLobLength()
- Overrides:
getDefaultLobLengthin classorg.hibernate.dialect.Dialect
-
resolveSqlTypeLength
public int resolveSqlTypeLength(String columnTypeName, int jdbcTypeCode, int precision, int scale, int displaySize)
- Overrides:
resolveSqlTypeLengthin classorg.hibernate.dialect.Dialect
-
getSqlAstTranslatorFactory
public org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()
- Overrides:
getSqlAstTranslatorFactoryin classorg.hibernate.dialect.Dialect
-
getSchemaNameResolver
public org.hibernate.engine.jdbc.env.spi.SchemaNameResolver getSchemaNameResolver()
- Overrides:
getSchemaNameResolverin classorg.hibernate.dialect.Dialect
-
getInExpressionCountLimit
public int getInExpressionCountLimit()
- Overrides:
getInExpressionCountLimitin classorg.hibernate.dialect.Dialect
-
getMaxVarbinaryLength
public int getMaxVarbinaryLength()
The biggest size value that can be supplied as argument- Overrides:
getMaxVarbinaryLengthin classorg.hibernate.dialect.Dialect
-
getMaxVarcharLength
public int getMaxVarcharLength()
- Overrides:
getMaxVarcharLengthin classorg.hibernate.dialect.Dialect
-
getNullColumnString
public String getNullColumnString(String columnType)
- Overrides:
getNullColumnStringin classorg.hibernate.dialect.Dialect
-
supportsColumnCheck
public boolean supportsColumnCheck()
Feature 'Check constraints' is not supported by SingleStore.- Overrides:
supportsColumnCheckin classorg.hibernate.dialect.Dialect
-
supportsTableCheck
public boolean supportsTableCheck()
Feature 'Check constraints' is not supported by SingleStore.- Overrides:
supportsTableCheckin classorg.hibernate.dialect.Dialect
-
getDefaultDecimalPrecision
public int getDefaultDecimalPrecision()
- Overrides:
getDefaultDecimalPrecisionin classorg.hibernate.dialect.Dialect
-
doesRoundTemporalOnOverflow
public boolean doesRoundTemporalOnOverflow()
- Overrides:
doesRoundTemporalOnOverflowin classorg.hibernate.dialect.Dialect
-
supportsWindowFunctions
public boolean supportsWindowFunctions()
- Overrides:
supportsWindowFunctionsin classorg.hibernate.dialect.Dialect
-
supportsRecursiveCTE
public boolean supportsRecursiveCTE()
- Overrides:
supportsRecursiveCTEin classorg.hibernate.dialect.Dialect
-
dropConstraints
public boolean dropConstraints()
- Overrides:
dropConstraintsin classorg.hibernate.dialect.Dialect
-
appendLiteral
public void appendLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, String literal)- Overrides:
appendLiteralin classorg.hibernate.dialect.Dialect
-
appendDatetimeFormat
public void appendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)- Overrides:
appendDatetimeFormatin classorg.hibernate.dialect.Dialect
-
datetimeFormat
public static org.hibernate.dialect.Replacer datetimeFormat(String format)
-
getDropForeignKeyString
public String getDropForeignKeyString()
- Overrides:
getDropForeignKeyStringin classorg.hibernate.dialect.Dialect
-
getDropUniqueKeyString
public String getDropUniqueKeyString()
- Overrides:
getDropUniqueKeyStringin classorg.hibernate.dialect.Dialect
-
getAlterColumnTypeString
public String getAlterColumnTypeString(String columnName, String columnType, String columnDefinition)
- Overrides:
getAlterColumnTypeStringin classorg.hibernate.dialect.Dialect
-
supportsAlterColumnType
public boolean supportsAlterColumnType()
SingleStore doesn't support modifying column type on columnstore tables. It only supports modifying column type on rowstore table.- Overrides:
supportsAlterColumnTypein classorg.hibernate.dialect.Dialect
-
getLimitHandler
public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()
- Overrides:
getLimitHandlerin classorg.hibernate.dialect.Dialect
-
closeQuote
public char closeQuote()
- Overrides:
closeQuotein classorg.hibernate.dialect.Dialect
-
openQuote
public char openQuote()
- Overrides:
openQuotein classorg.hibernate.dialect.Dialect
-
canCreateCatalog
public boolean canCreateCatalog()
- Overrides:
canCreateCatalogin classorg.hibernate.dialect.Dialect
-
getCreateCatalogCommand
public String[] getCreateCatalogCommand(String catalogName)
- Overrides:
getCreateCatalogCommandin classorg.hibernate.dialect.Dialect
-
getDropCatalogCommand
public String[] getDropCatalogCommand(String catalogName)
- Overrides:
getDropCatalogCommandin classorg.hibernate.dialect.Dialect
-
canCreateSchema
public boolean canCreateSchema()
- Overrides:
canCreateSchemain classorg.hibernate.dialect.Dialect
-
getCreateSchemaCommand
public String[] getCreateSchemaCommand(String schemaName)
- Overrides:
getCreateSchemaCommandin classorg.hibernate.dialect.Dialect
-
getDropSchemaCommand
public String[] getDropSchemaCommand(String schemaName)
- Overrides:
getDropSchemaCommandin classorg.hibernate.dialect.Dialect
-
supportsIfExistsBeforeTableName
public boolean supportsIfExistsBeforeTableName()
- Overrides:
supportsIfExistsBeforeTableNamein classorg.hibernate.dialect.Dialect
-
getSelectGUIDString
public String getSelectGUIDString()
- Overrides:
getSelectGUIDStringin classorg.hibernate.dialect.Dialect
-
supportsCommentOn
public boolean supportsCommentOn()
- Overrides:
supportsCommentOnin classorg.hibernate.dialect.Dialect
-
getTableComment
public String getTableComment(String comment)
- Overrides:
getTableCommentin classorg.hibernate.dialect.Dialect
-
getColumnComment
public String getColumnComment(String comment)
- Overrides:
getColumnCommentin classorg.hibernate.dialect.Dialect
-
getNullOrdering
public org.hibernate.dialect.NullOrdering getNullOrdering()
- Overrides:
getNullOrderingin classorg.hibernate.dialect.Dialect
-
getFallbackSqmMutationStrategy
public org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy getFallbackSqmMutationStrategy(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)- Overrides:
getFallbackSqmMutationStrategyin classorg.hibernate.dialect.Dialect
-
getFallbackSqmInsertStrategy
public org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy getFallbackSqmInsertStrategy(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)- Overrides:
getFallbackSqmInsertStrategyin classorg.hibernate.dialect.Dialect
-
getSupportedTemporaryTableKind
public org.hibernate.dialect.temptable.TemporaryTableKind getSupportedTemporaryTableKind()
- Overrides:
getSupportedTemporaryTableKindin classorg.hibernate.dialect.Dialect
-
getTemporaryTableCreateCommand
public String getTemporaryTableCreateCommand()
- Overrides:
getTemporaryTableCreateCommandin classorg.hibernate.dialect.Dialect
-
getTemporaryTableDropCommand
public String getTemporaryTableDropCommand()
- Overrides:
getTemporaryTableDropCommandin classorg.hibernate.dialect.Dialect
-
getTemporaryTableAfterUseAction
public org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction getTemporaryTableAfterUseAction()
- Overrides:
getTemporaryTableAfterUseActionin classorg.hibernate.dialect.Dialect
-
getTemporaryTableBeforeUseAction
public org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction getTemporaryTableBeforeUseAction()
- Overrides:
getTemporaryTableBeforeUseActionin classorg.hibernate.dialect.Dialect
-
getMaxAliasLength
public int getMaxAliasLength()
- Overrides:
getMaxAliasLengthin classorg.hibernate.dialect.Dialect
-
getMaxIdentifierLength
public int getMaxIdentifierLength()
- Overrides:
getMaxIdentifierLengthin classorg.hibernate.dialect.Dialect
-
supportsIsTrue
public boolean supportsIsTrue()
- Overrides:
supportsIsTruein classorg.hibernate.dialect.Dialect
-
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()
- Overrides:
supportsCurrentTimestampSelectionin classorg.hibernate.dialect.Dialect
-
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()
- Overrides:
isCurrentTimestampSelectStringCallablein classorg.hibernate.dialect.Dialect
-
getCurrentTimestampSelectString
public String getCurrentTimestampSelectString()
- Overrides:
getCurrentTimestampSelectStringin classorg.hibernate.dialect.Dialect
-
registerResultSetOutParameter
public int registerResultSetOutParameter(CallableStatement statement, int col) throws SQLException
- Overrides:
registerResultSetOutParameterin classorg.hibernate.dialect.Dialect- Throws:
SQLException
-
getResultSet
public ResultSet getResultSet(CallableStatement ps) throws SQLException
- Overrides:
getResultSetin classorg.hibernate.dialect.Dialect- Throws:
SQLException
-
supportsNullPrecedence
public boolean supportsNullPrecedence()
- Overrides:
supportsNullPrecedencein classorg.hibernate.dialect.Dialect
-
supportsLobValueChangePropagation
public boolean supportsLobValueChangePropagation()
- Overrides:
supportsLobValueChangePropagationin classorg.hibernate.dialect.Dialect
-
supportsSubqueryOnMutatingTable
public boolean supportsSubqueryOnMutatingTable()
- Overrides:
supportsSubqueryOnMutatingTablein classorg.hibernate.dialect.Dialect
-
supportsLockTimeouts
public boolean supportsLockTimeouts()
- Overrides:
supportsLockTimeoutsin classorg.hibernate.dialect.Dialect
-
buildSQLExceptionConversionDelegate
public org.hibernate.exception.spi.SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate()
- Overrides:
buildSQLExceptionConversionDelegatein classorg.hibernate.dialect.Dialect
-
getNameQualifierSupport
public org.hibernate.engine.jdbc.env.spi.NameQualifierSupport getNameQualifierSupport()
- Overrides:
getNameQualifierSupportin classorg.hibernate.dialect.Dialect
-
buildIdentifierHelper
public org.hibernate.engine.jdbc.env.spi.IdentifierHelper buildIdentifierHelper(org.hibernate.engine.jdbc.env.spi.IdentifierHelperBuilder builder, DatabaseMetaData dbMetaData) throws SQLException- Overrides:
buildIdentifierHelperin classorg.hibernate.dialect.Dialect- Throws:
SQLException
-
getAddForeignKeyConstraintString
public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey)
- Overrides:
getAddForeignKeyConstraintStringin classorg.hibernate.dialect.Dialect
-
getAddForeignKeyConstraintString
public String getAddForeignKeyConstraintString(String constraintName, String foreignKeyDefinition)
- Overrides:
getAddForeignKeyConstraintStringin classorg.hibernate.dialect.Dialect
-
getAddPrimaryKeyConstraintString
public String getAddPrimaryKeyConstraintString(String constraintName)
- Overrides:
getAddPrimaryKeyConstraintStringin classorg.hibernate.dialect.Dialect
-
getWriteLockString
public String getWriteLockString(String aliases, int timeout)
- Overrides:
getWriteLockStringin classorg.hibernate.dialect.Dialect
-
getForUpdateSkipLockedString
public String getForUpdateSkipLockedString(String aliases)
- Overrides:
getForUpdateSkipLockedStringin classorg.hibernate.dialect.Dialect
-
getForUpdateNowaitString
public String getForUpdateNowaitString(String aliases)
- Overrides:
getForUpdateNowaitStringin classorg.hibernate.dialect.Dialect
-
getForUpdateString
public String getForUpdateString()
- Overrides:
getForUpdateStringin classorg.hibernate.dialect.Dialect
-
supportsOffsetInSubquery
public boolean supportsOffsetInSubquery()
- Overrides:
supportsOffsetInSubqueryin classorg.hibernate.dialect.Dialect
-
supportsPartitionBy
public boolean supportsPartitionBy()
- Overrides:
supportsPartitionByin classorg.hibernate.dialect.Dialect
-
supportsWait
public boolean supportsWait()
- Overrides:
supportsWaitin classorg.hibernate.dialect.Dialect
-
registerDefaultKeywords
protected void registerDefaultKeywords()
- Overrides:
registerDefaultKeywordsin classorg.hibernate.dialect.Dialect
-
getFunctionalDependencyAnalysisSupport
public org.hibernate.dialect.FunctionalDependencyAnalysisSupport getFunctionalDependencyAnalysisSupport()
- Overrides:
getFunctionalDependencyAnalysisSupportin classorg.hibernate.dialect.Dialect
-
getDmlTargetColumnQualifierSupport
public org.hibernate.dialect.DmlTargetColumnQualifierSupport getDmlTargetColumnQualifierSupport()
- Overrides:
getDmlTargetColumnQualifierSupportin classorg.hibernate.dialect.Dialect
-
supportsFromClauseInUpdate
public boolean supportsFromClauseInUpdate()
- Overrides:
supportsFromClauseInUpdatein classorg.hibernate.dialect.Dialect
-
supportsCircularCascadeDeleteConstraints
public boolean supportsCircularCascadeDeleteConstraints()
- Overrides:
supportsCircularCascadeDeleteConstraintsin classorg.hibernate.dialect.Dialect
-
getIdentityColumnSupport
public org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()
- Overrides:
getIdentityColumnSupportin classorg.hibernate.dialect.Dialect
-
isJdbcLogWarningsEnabledByDefault
public boolean isJdbcLogWarningsEnabledByDefault()
- Overrides:
isJdbcLogWarningsEnabledByDefaultin classorg.hibernate.dialect.Dialect
-
supportsCascadeDelete
public boolean supportsCascadeDelete()
- Overrides:
supportsCascadeDeletein classorg.hibernate.dialect.Dialect
-
supportsNonQueryWithCTE
public boolean supportsNonQueryWithCTE()
- Overrides:
supportsNonQueryWithCTEin classorg.hibernate.dialect.Dialect
-
getSequenceExporter
public org.hibernate.tool.schema.spi.Exporter<org.hibernate.boot.model.relational.Sequence> getSequenceExporter()
- Overrides:
getSequenceExporterin classorg.hibernate.dialect.Dialect
-
getForeignKeyExporter
public org.hibernate.tool.schema.spi.Exporter<org.hibernate.mapping.ForeignKey> getForeignKeyExporter()
SingleStore does not support foreign keys and referential integrity- Overrides:
getForeignKeyExporterin classorg.hibernate.dialect.Dialect
-
getUniqueDelegate
public org.hibernate.dialect.unique.UniqueDelegate getUniqueDelegate()
- Overrides:
getUniqueDelegatein classorg.hibernate.dialect.Dialect
-
getExplicitTableType
public SingleStoreDialect.SingleStoreTableType getExplicitTableType()
-
isForUpdateLockingEnabled
public boolean isForUpdateLockingEnabled()
-
getDual
public String getDual()
- Overrides:
getDualin classorg.hibernate.dialect.Dialect
-
-