private boolean upgradeTable(Connection con, String tableName, int level) throws SQLException { boolean wasChanged = false; for (String statement : this.dbInfo.getTableUpgradeStatements(tableName, level)) { Statement upgradeStatement = null; try { upgradeStatement = con.createStatement(); upgradeStatement.execute(statement); upgradeStatement.close(); con.commit(); LOG.info("Upgraded " + tableName + " to DB level " + level + " using '" + statement + "'"); wasChanged = true; } catch (SQLException exup) { con.rollback(); String message = String.format( "Attempted to upgrade %s to DB level %d using '%s', but failed with SQLException '%s' (code: %d/state: %s) - will continue without.", tableName, level, statement, exup.getMessage(), exup.getErrorCode(), exup.getSQLState()); if (LOG.isDebugEnabled()) { LOG.debug(message, exup); } else { LOG.info(message); } } finally { closeStatement(upgradeStatement); } } return wasChanged; }
private boolean upgradeTable(Connection con, String tableName, int level) throws SQLException { boolean wasChanged = false; for (String statement : this.dbInfo.getTableUpgradeStatements(tableName, level)) { Statement upgradeStatement = null; try { upgradeStatement = con.createStatement(); upgradeStatement.execute(statement); upgradeStatement.close(); con.commit(); LOG.info("Upgraded " + tableName + " to DB level " + level + " using '" + statement + "'"); wasChanged = true; } catch (SQLException exup) { con.rollback(); String message = String.format( "Attempted to upgrade %s to DB level %d using '%s', but failed with SQLException '%s' (code: %d/state: %s) - will continue without.", tableName, level, statement, exup.getMessage(), exup.getErrorCode(), exup.getSQLState()); if (LOG.isDebugEnabled()) { LOG.debug(message, exup); } else { LOG.info(message); } } finally { closeStatement(upgradeStatement); } } return wasChanged; }
for (String statement : ddb.getTableUpgradeStatements(table, level)) { System.out.println(" " + statement);
for (String statement : ddb.getTableUpgradeStatements(table, level)) { System.out.println(" " + statement);