[Squirrel-sql-commits] sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/ta
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Gerd W. <ger...@us...> - 2006-04-22 17:34:10
|
Update of /cvsroot/squirrel-sql/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17455/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script Modified Files: CreateTableOfCurrentSQLCommand.java Log Message: SchemaInfo completed Index: CreateTableOfCurrentSQLCommand.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/CreateTableOfCurrentSQLCommand.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CreateTableOfCurrentSQLCommand.java 29 Oct 2005 20:22:02 -0000 1.2 --- CreateTableOfCurrentSQLCommand.java 22 Apr 2006 17:34:01 -0000 1.3 *************** *** 38,46 **** import net.sourceforge.squirrel_sql.client.session.ISession; public class CreateTableOfCurrentSQLCommand extends CreateDataScriptCommand { ! private static final StringManager s_stringMgr = ! StringManagerFactory.getStringManager(CreateTableOfCurrentSQLCommand.class); --- 38,48 ---- import net.sourceforge.squirrel_sql.client.session.ISession; + import net.sourceforge.squirrel_sql.client.session.SQLExecuterTask; + import net.sourceforge.squirrel_sql.client.session.DefaultSQLExecuterHandler; public class CreateTableOfCurrentSQLCommand extends CreateDataScriptCommand { ! private static final StringManager s_stringMgr = ! StringManagerFactory.getStringManager(CreateTableOfCurrentSQLCommand.class); *************** *** 83,172 **** { ! SQLConnection conn = _session.getSQLConnection(); ! ! String selectSQL = FrameWorkAcessor.getSQLPanelAPI(_session, _plugin).getSQLScriptToBeExecuted(); ! ! final StringBuffer sbCreate = new StringBuffer(); ! try ! { ! final Statement stmt = conn.createStatement(); ! try ! { ! ResultSet srcResult = stmt.executeQuery(selectSQL); ! ! genCreate(srcResult, sTable, sbCreate); ! StringBuffer sbInsert = new StringBuffer(); ! genInserts(srcResult, sTable, sbInsert, true); ! sbInsert.append('\n').append(selectSQL); ! if(false == scriptOnly) ! { ! try ! { ! if(dropTable) ! { ! try ! { ! stmt.execute("DROP TABLE " + sTable); ! } ! catch(Exception e) ! { ! // i18n[sqlscript.dropTableFailed=Drop table {0} failed:] ! _session.getMessageHandler().showMessage(s_stringMgr.getString("sqlscript.dropTableFailed", sTable)); ! _session.getMessageHandler().showMessage(e); ! } ! } ! stmt.execute(sbCreate.toString()); ! stmt.execute(sbInsert.toString()); ! hideAbortFrame(); ! // i18n[sqlscript.successCreate=Successfully created table {0}] ! _session.getMessageHandler().showMessage(s_stringMgr.getString("sqlscript.successCreate", sTable)); ! return; ! } ! catch(Exception e) ! { ! _session.getMessageHandler().showErrorMessage(e); ! // i18n[sqlscript.storeSqlInTableFailed=An error occured during storing SQL result in table {0}. See messages for details.\nI will create the copy script. You may correct errors and run it again.] ! String msg = s_stringMgr.getString("sqlscript.storeSqlInTableFailed", sTable); ! JOptionPane.showMessageDialog(_session.getApplication().getMainFrame(), msg); ! } } String statSep = ScriptUtil.getStatementSeparator(_session); sbCreate.append(statSep).append(sbInsert).append(statSep); } ! finally { ! try ! { ! stmt.close(); ! } ! catch (Exception e) ! { ! } } } catch (Exception e) { - _session.getMessageHandler().showErrorMessage(e); - e.printStackTrace(); } ! SwingUtilities.invokeLater(new Runnable() { ! public void run() { FrameWorkAcessor.getSQLPanelAPI(_session, _plugin).appendSQLScript(sbCreate.toString(), true); _session.selectMainTab(ISession.IMainPanelTabIndexes.SQL_TAB); - hideAbortFrame(); } ! }); ! } ! }); ! showAbortFrame(); } --- 85,178 ---- { ! doCreateTableOfCurrentSQL(sTable, scriptOnly, dropTable); ! } ! }); ! showAbortFrame(); ! } ! private void doCreateTableOfCurrentSQL(String sTable, final boolean scriptOnly, boolean dropTable) ! { ! SQLConnection conn = _session.getSQLConnection(); ! String selectSQL = FrameWorkAcessor.getSQLPanelAPI(_session, _plugin).getSQLScriptToBeExecuted(); ! final StringBuffer sbCreate = new StringBuffer(); ! try ! { ! final Statement stmt = conn.createStatement(); ! try ! { ! ResultSet srcResult = stmt.executeQuery(selectSQL); ! genCreate(srcResult, sTable, sbCreate); ! StringBuffer sbInsert = new StringBuffer(); ! genInserts(srcResult, sTable, sbInsert, true); ! sbInsert.append('\n').append(selectSQL); + if(false == scriptOnly) + { + try + { + if(dropTable) + { + String sql = "DROP TABLE " + sTable; + SQLExecuterTask executer = new SQLExecuterTask(_session, sql, new DefaultSQLExecuterHandler(_session)); + executer.run(); } String statSep = ScriptUtil.getStatementSeparator(_session); sbCreate.append(statSep).append(sbInsert).append(statSep); + + + SQLExecuterTask executer = new SQLExecuterTask(_session, sbCreate.toString(), new DefaultSQLExecuterHandler(_session)); + executer.run(); + + // i18n[sqlscript.successCreate=Successfully created table {0}] + _session.getMessageHandler().showMessage(s_stringMgr.getString("sqlscript.successCreate", sTable)); + return; } ! catch(Exception e) { ! _session.getMessageHandler().showErrorMessage(e); ! ! // i18n[sqlscript.storeSqlInTableFailed=An error occured during storing SQL result in table {0}. See messages for details.\nI will create the copy script. You may correct errors and run it again.] ! String msg = s_stringMgr.getString("sqlscript.storeSqlInTableFailed", sTable); ! JOptionPane.showMessageDialog(_session.getApplication().getMainFrame(), msg); } + + } + } + finally + { + try + { + stmt.close(); } catch (Exception e) { } ! } ! } ! catch (Exception e) ! { ! _session.getMessageHandler().showErrorMessage(e); ! e.printStackTrace(); ! } ! finally ! { ! SwingUtilities.invokeLater(new Runnable() ! { ! public void run() { ! hideAbortFrame(); ! if(scriptOnly) { FrameWorkAcessor.getSQLPanelAPI(_session, _plugin).appendSQLScript(sbCreate.toString(), true); _session.selectMainTab(ISession.IMainPanelTabIndexes.SQL_TAB); } ! } ! }); ! } } |