Class YdbDatabase

java.lang.Object
liquibase.database.AbstractJdbcDatabase
tech.ydb.liquibase.database.YdbDatabase
All Implemented Interfaces:
AutoCloseable, liquibase.database.Database, liquibase.servicelocator.PrioritizedService

public class YdbDatabase extends liquibase.database.AbstractJdbcDatabase
Author:
Kirill Kurdyukov
  • Field Summary

    Fields inherited from class liquibase.database.AbstractJdbcDatabase

    caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased

    Fields inherited from interface liquibase.servicelocator.PrioritizedService

    COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
     
    protected String
     
     
     
    int
     
    protected String
     
    protected String
     
     
    boolean
    isCorrectDatabaseImplementation(liquibase.database.DatabaseConnection databaseConnection)
     
    boolean
     
    boolean
     
    boolean
    YDB does not support auto increment (yet)
    boolean
     
    boolean
     
    boolean
     
    boolean
    YDB does not support foreign key
    boolean
     
    boolean
     
    boolean
     
    boolean
    YDB does not support sequences (yet)
    boolean
     

    Methods inherited from class liquibase.database.AbstractJdbcDatabase

    addReservedWords, canCreateChangeLogTable, close, commit, correctObjectName, correctSchema, correctSchema, createsIndexesForForeignKeys, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeIndexName, escapeObjectName, escapeObjectName, escapeSequenceName, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generateAutoIncrementBy, generateAutoIncrementStartWith, generateDatabaseFunctionValue, generatePrimaryKeyName, get, getAutoCommitMode, getAutoIncrementByClause, getAutoIncrementClause, getAutoIncrementClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConcatSql, getConnection, getConnectionCatalogName, getConnectionSchemaName, getConnectionSchemaNameCallStatement, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDefaultCatalogName, getDefaultFractionalDigitsForTimestamp, getDefaultScaleForNativeDataType, getDefaultSchema, getDefaultSchemaName, getFetchSize, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getMaxFractionalDigitsForTimestamp, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getQuotingEndReplacement, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaAndCatalogCase, getSchemaFromJdbcInfo, getSystemSchema, getSystemTables, getSystemViews, getTimeLiteral, getViewDefinition, hashCode, isAutoCommit, isCaseSensitive, isCurrentTimeFunction, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isReservedWord, isSafeToRunUpdate, isSystemObject, isSystemView, isTimeOnly, isTimestamp, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, parseDate, quoteObject, removeRanStatus, requiresExplicitNullForColumns, resetInternalState, rollback, saveRollbackStatement, saveStatements, set, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, startsWithNumeric, supportsCatalogInObjectName, supportsDropTableCascadeConstraints, supportsNotNullConstraintNames, supportsRestrictForeignKeys, tag, toString, unescapeDataTypeName, unescapeDataTypeString, validate

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface liquibase.database.Database

    getDisplayName
  • Constructor Details

    • YdbDatabase

      public YdbDatabase()
  • Method Details

    • getDefaultDatabaseProductName

      protected String getDefaultDatabaseProductName()
      Specified by:
      getDefaultDatabaseProductName in class liquibase.database.AbstractJdbcDatabase
    • isCorrectDatabaseImplementation

      public boolean isCorrectDatabaseImplementation(liquibase.database.DatabaseConnection databaseConnection) throws liquibase.exception.DatabaseException
      Throws:
      liquibase.exception.DatabaseException
    • getDefaultDriver

      public String getDefaultDriver(String url)
    • getShortName

      public String getShortName()
    • getDefaultPort

      public Integer getDefaultPort()
    • getPriority

      public int getPriority()
    • escapeStringForDatabase

      public String escapeStringForDatabase(String string)
      Specified by:
      escapeStringForDatabase in interface liquibase.database.Database
      Overrides:
      escapeStringForDatabase in class liquibase.database.AbstractJdbcDatabase
    • requiresUsername

      public boolean requiresUsername()
      Specified by:
      requiresUsername in interface liquibase.database.Database
      Overrides:
      requiresUsername in class liquibase.database.AbstractJdbcDatabase
    • getDateLiteral

      public String getDateLiteral(Date date)
      Specified by:
      getDateLiteral in interface liquibase.database.Database
      Overrides:
      getDateLiteral in class liquibase.database.AbstractJdbcDatabase
    • getDateTimeLiteral

      public String getDateTimeLiteral(Timestamp date)
      Specified by:
      getDateTimeLiteral in interface liquibase.database.Database
      Overrides:
      getDateTimeLiteral in class liquibase.database.AbstractJdbcDatabase
    • supportsBatchUpdates

      public boolean supportsBatchUpdates()
      Specified by:
      supportsBatchUpdates in interface liquibase.database.Database
      Overrides:
      supportsBatchUpdates in class liquibase.database.AbstractJdbcDatabase
    • requiresPassword

      public boolean requiresPassword()
      Specified by:
      requiresPassword in interface liquibase.database.Database
      Overrides:
      requiresPassword in class liquibase.database.AbstractJdbcDatabase
    • getQuotingStartCharacter

      protected String getQuotingStartCharacter()
      Overrides:
      getQuotingStartCharacter in class liquibase.database.AbstractJdbcDatabase
    • getQuotingEndCharacter

      protected String getQuotingEndCharacter()
      Overrides:
      getQuotingEndCharacter in class liquibase.database.AbstractJdbcDatabase
    • supportsCatalogs

      public boolean supportsCatalogs()
      Specified by:
      supportsCatalogs in interface liquibase.database.Database
      Overrides:
      supportsCatalogs in class liquibase.database.AbstractJdbcDatabase
    • supportsSchemas

      public boolean supportsSchemas()
      Specified by:
      supportsSchemas in interface liquibase.database.Database
      Overrides:
      supportsSchemas in class liquibase.database.AbstractJdbcDatabase
    • supportsInitiallyDeferrableColumns

      public boolean supportsInitiallyDeferrableColumns()
    • supportsTablespaces

      public boolean supportsTablespaces()
    • supportsForeignKeyDisable

      public boolean supportsForeignKeyDisable()
      YDB does not support foreign key
      Specified by:
      supportsForeignKeyDisable in interface liquibase.database.Database
      Overrides:
      supportsForeignKeyDisable in class liquibase.database.AbstractJdbcDatabase
    • supportsSequences

      public boolean supportsSequences()
      YDB does not support sequences (yet)
      Specified by:
      supportsSequences in interface liquibase.database.Database
      Overrides:
      supportsSequences in class liquibase.database.AbstractJdbcDatabase
    • supportsAutoIncrement

      public boolean supportsAutoIncrement()
      YDB does not support auto increment (yet)
      Specified by:
      supportsAutoIncrement in interface liquibase.database.Database
      Overrides:
      supportsAutoIncrement in class liquibase.database.AbstractJdbcDatabase
    • supportsDDLInTransaction

      public boolean supportsDDLInTransaction()
      Specified by:
      supportsDDLInTransaction in interface liquibase.database.Database
      Overrides:
      supportsDDLInTransaction in class liquibase.database.AbstractJdbcDatabase
    • supportsPrimaryKeyNames

      public boolean supportsPrimaryKeyNames()
      Specified by:
      supportsPrimaryKeyNames in interface liquibase.database.Database
      Overrides:
      supportsPrimaryKeyNames in class liquibase.database.AbstractJdbcDatabase