/** * Method declaration * * @param t * @throws SQLException */ void transferAlter() throws Exception { String Statement = new String(""); if (destDb.helper.needTransferTransaction()) { try { destDb.setAutoCommit(false); } catch (Exception e) { } } if (Stmts.bTransfer == false) { tracer.trace("Table " + Stmts.sSourceTable + " not transfered"); return; } tracer.trace("Table " + Stmts.sSourceTable + ": start alter"); try { if (Stmts.bCreateIndex) { if (Stmts.sDestCreateIndex.charAt(Stmts.sDestCreateIndex.length() - 1) != ';') { Stmts.sDestCreateIndex += ";"; } int lastsemicolon = 0; int nextsemicolon = Stmts.sDestCreateIndex.indexOf(';'); while (nextsemicolon > lastsemicolon) { Statement = Stmts.sDestCreateIndex.substring(lastsemicolon, nextsemicolon); while (Statement.charAt(Statement.length() - 1) == ';') { Statement = Statement.substring(0, Statement.length() - 1); } try { tracer.trace("Executing " + Stmts.sDestCreateIndex); destDb.execute(Statement); } catch (Exception e) { tracer.trace("Ignoring error " + e.getMessage()); } lastsemicolon = nextsemicolon + 1; nextsemicolon = lastsemicolon + Stmts.sDestCreateIndex.substring(lastsemicolon).indexOf(';'); } } if (Stmts.bAlter) { if (Stmts.sDestAlter.charAt(Stmts.sDestAlter.length() - 1) != ';') { Stmts.sDestAlter += ";"; } int lastsemicolon = 0; int nextsemicolon = Stmts.sDestAlter.indexOf(';'); while (nextsemicolon > lastsemicolon) { Statement = Stmts.sDestAlter.substring(lastsemicolon, nextsemicolon); while (Statement.charAt(Statement.length() - 1) == ';') { Statement = Statement.substring(0, Statement.length() - 1); } try { tracer.trace("Executing " + Statement); destDb.execute(Statement); } catch (Exception e) { tracer.trace("Ignoring error " + e.getMessage()); } lastsemicolon = nextsemicolon + 1; nextsemicolon = lastsemicolon + Stmts.sDestAlter.substring(lastsemicolon).indexOf(';'); } } } catch (Exception e) { try { if (!destDb.getAutoCommit()) { destDb.rollback(); } } catch (Exception e1) { } throw (e); } if (!destDb.getAutoCommit()) { destDb.commit(); try { destDb.setAutoCommit(true); } catch (Exception e) { } } }