Class CreateJsonIndexGenerator
java.lang.Object
liquibase.sqlgenerator.core.AbstractSqlGenerator<CreateJsonIndexStatement>
org.keycloak.models.map.storage.jpa.liquibase.extension.CreateJsonIndexGenerator
- All Implemented Interfaces:
liquibase.servicelocator.PrioritizedService,liquibase.sqlgenerator.SqlGenerator<CreateJsonIndexStatement>
public class CreateJsonIndexGenerator
extends liquibase.sqlgenerator.core.AbstractSqlGenerator<CreateJsonIndexStatement>
A
SqlGenerator implementation that supports CreateJsonIndexStatements. It generates the SQL required
to create an index for properties of JSON files stored in one of the table columns.- Author:
- Stefan Guilhen
-
Field Summary
Fields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATORFields inherited from interface liquibase.sqlgenerator.SqlGenerator
EMPTY_SQL, PRIORITY_DATABASE, PRIORITY_DEFAULT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionliquibase.sql.Sql[]generateSql(CreateJsonIndexStatement statement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain sqlGeneratorChain) protected liquibase.structure.core.IndexgetAffectedIndex(liquibase.statement.core.CreateIndexStatement statement) intOverride the priority.protected voidhandleJsonIndex(CreateJsonIndexStatement statement, liquibase.database.Database database, StringBuilder builder) liquibase.exception.ValidationErrorsvalidate(CreateJsonIndexStatement createIndexStatement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain sqlGeneratorChain) Methods inherited from class liquibase.sqlgenerator.core.AbstractSqlGenerator
generateRollbackStatementsIsVolatile, generateStatementsIsVolatile, looksLikeFunctionCall, supports, warn
-
Constructor Details
-
CreateJsonIndexGenerator
public CreateJsonIndexGenerator()
-
-
Method Details
-
getPriority
public int getPriority()Override the priority. This is needed becauseCreateJsonIndexStatementis a subtype ofCreateIndexStatementand is thus a match for the standard index generators. By increasing the priority we ensure this is processed before the other generators.- Specified by:
getPriorityin interfaceliquibase.servicelocator.PrioritizedService- Specified by:
getPriorityin interfaceliquibase.sqlgenerator.SqlGenerator<CreateJsonIndexStatement>- Overrides:
getPriorityin classliquibase.sqlgenerator.core.AbstractSqlGenerator<CreateJsonIndexStatement>- Returns:
- this generator's priority.
-
validate
public liquibase.exception.ValidationErrors validate(CreateJsonIndexStatement createIndexStatement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain sqlGeneratorChain) -
generateSql
public liquibase.sql.Sql[] generateSql(CreateJsonIndexStatement statement, liquibase.database.Database database, liquibase.sqlgenerator.SqlGeneratorChain sqlGeneratorChain) -
handleJsonIndex
protected void handleJsonIndex(CreateJsonIndexStatement statement, liquibase.database.Database database, StringBuilder builder) -
getAffectedIndex
protected liquibase.structure.core.Index getAffectedIndex(liquibase.statement.core.CreateIndexStatement statement)
-