keycloak
公開メンバ関数 | 全メンバ一覧
org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator クラス
org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator の継承関係図
Inheritance graph
org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator 連携図
Collaboration graph

公開メンバ関数

int getPriority ()
 
ValidationErrors validate (InitializeDatabaseChangeLogLockTableStatement initializeDatabaseChangeLogLockTableStatement, Database database, SqlGeneratorChain sqlGeneratorChain)
 
Sql [] generateSql (InitializeDatabaseChangeLogLockTableStatement statement, Database database, SqlGeneratorChain sqlGeneratorChain)
 

詳解

We need to remove DELETE SQL command, which liquibase adds by default when inserting record to table lock. This is causing buggy behaviour

著者
Marek Posolda

関数詳解

◆ generateSql()

Sql [] org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator.generateSql ( InitializeDatabaseChangeLogLockTableStatement  statement,
Database  database,
SqlGeneratorChain  sqlGeneratorChain 
)
inline
48  {
49  // Generated by InitializeDatabaseChangeLogLockTableGenerator
50  Sql[] sqls = sqlGeneratorChain.generateSql(statement, database);
51 
52  // Removing delete statement
53  List<Sql> result = new ArrayList<>();
54  for (Sql sql : sqls) {
55  String sqlCommand = sql.toSql();
56  if (!sqlCommand.toUpperCase().contains("DELETE")) {
57  result.add(sql);
58  }
59  }
60 
61  return result.toArray(new Sql[result.size()]);
62  }

◆ getPriority()

int org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator.getPriority ( )
inline
38  {
39  return super.getPriority() + 1; // Ensure bigger priority than InitializeDatabaseChangeLogLockTableGenerator
40  }

◆ validate()

ValidationErrors org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator.validate ( InitializeDatabaseChangeLogLockTableStatement  initializeDatabaseChangeLogLockTableStatement,
Database  database,
SqlGeneratorChain  sqlGeneratorChain 
)
inline
43  {
44  return new ValidationErrors();
45  }

このクラス詳解は次のファイルから抽出されました: