/** * Statements needed to upgrade the DB * * @return the table modification string */ public List<String> getTableUpgradeStatements(String tableName, int level) { String smallint = getSmallintType(); String bigint = getBigintType(); if (level == 1) { return Collections.singletonList("alter table " + tableName + " add VERSION " + smallint); } else if (level == 2) { String[] statements = new String[] { "alter table " + tableName + " add SDTYPE " + smallint, "alter table " + tableName + " add SDMAXREVTIME " + bigint, "create index " + tableName + "_VSN on " + tableName + " (VERSION)", "create index " + tableName + "_SDT on " + tableName + " (SDTYPE)" + makeIndexConditionalForColumn("SDTYPE"), "create index " + tableName + "_SDM on " + tableName + " (SDMAXREVTIME)" + makeIndexConditionalForColumn("SDMAXREVTIME"), }; return Arrays.asList(statements); } else { throw new IllegalArgumentException("level must be 1 or 2"); } }
/** * Statements needed to upgrade the DB * * @return the table modification string */ public List<String> getTableUpgradeStatements(String tableName, int level) { String smallint = getSmallintType(); String bigint = getBigintType(); if (level == 1) { return Collections.singletonList("alter table " + tableName + " add VERSION " + smallint); } else if (level == 2) { String[] statements = new String[] { "alter table " + tableName + " add SDTYPE " + smallint, "alter table " + tableName + " add SDMAXREVTIME " + bigint, "create index " + tableName + "_VSN on " + tableName + " (VERSION)", "create index " + tableName + "_SDT on " + tableName + " (SDTYPE)" + makeIndexConditionalForColumn("SDTYPE"), "create index " + tableName + "_SDM on " + tableName + " (SDMAXREVTIME)" + makeIndexConditionalForColumn("SDMAXREVTIME"), }; return Arrays.asList(statements); } else { throw new IllegalArgumentException("level must be 1 or 2"); } }