Class CreateTableAsSelectGuard

java.lang.Object
liquibase.sqlgenerator.core.AbstractSqlGenerator<liquibase.statement.core.RawSqlStatement>
org.keycloak.connections.jpa.updater.liquibase.custom.CreateTableAsSelectGuard
All Implemented Interfaces:
liquibase.servicelocator.PrioritizedService, liquibase.sqlgenerator.SqlGenerator<liquibase.statement.core.RawSqlStatement>

public class CreateTableAsSelectGuard extends liquibase.sqlgenerator.core.AbstractSqlGenerator<liquibase.statement.core.RawSqlStatement>
Rejects CREATE TABLE ... AS SELECT on MySQL — incompatible with Group Replication (ERROR 3098). Only raw SQL from CustomKeycloakTask subclasses needs guarding, as XML changelogs cannot express this pattern.
  • Field Summary

    Fields inherited from interface liquibase.servicelocator.PrioritizedService

    COMPARATOR

    Fields inherited from interface liquibase.sqlgenerator.SqlGenerator

    EMPTY_SQL, PRIORITY_DATABASE, PRIORITY_DEFAULT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    liquibase.sql.Sql[]
    generateSql(liquibase.statement.core.RawSqlStatement statement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain<liquibase.statement.core.RawSqlStatement> chain)
     
    int
     
    boolean
    supports(liquibase.statement.core.RawSqlStatement statement, liquibase.database.Database database)
     
    liquibase.exception.ValidationErrors
    validate(liquibase.statement.core.RawSqlStatement statement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain<liquibase.statement.core.RawSqlStatement> chain)
     

    Methods inherited from class liquibase.sqlgenerator.core.AbstractSqlGenerator

    generateRollbackStatementsIsVolatile, generateStatementsIsVolatile, looksLikeFunctionCall, warn

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CreateTableAsSelectGuard

      public CreateTableAsSelectGuard()
  • Method Details

    • getPriority

      public int getPriority()
      Specified by:
      getPriority in interface liquibase.servicelocator.PrioritizedService
      Specified by:
      getPriority in interface liquibase.sqlgenerator.SqlGenerator<liquibase.statement.core.RawSqlStatement>
      Overrides:
      getPriority in class liquibase.sqlgenerator.core.AbstractSqlGenerator<liquibase.statement.core.RawSqlStatement>
    • supports

      public boolean supports(liquibase.statement.core.RawSqlStatement statement, liquibase.database.Database database)
      Specified by:
      supports in interface liquibase.sqlgenerator.SqlGenerator<liquibase.statement.core.RawSqlStatement>
      Overrides:
      supports in class liquibase.sqlgenerator.core.AbstractSqlGenerator<liquibase.statement.core.RawSqlStatement>
    • validate

      public liquibase.exception.ValidationErrors validate(liquibase.statement.core.RawSqlStatement statement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain<liquibase.statement.core.RawSqlStatement> chain)
    • generateSql

      public liquibase.sql.Sql[] generateSql(liquibase.statement.core.RawSqlStatement statement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain<liquibase.statement.core.RawSqlStatement> chain)