Revision: 6357
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6357&view=rev
Author: wis775
Date: 2011-08-16 18:39:06 +0000 (Tue, 16 Aug 2011)
Log Message:
-----------
Make sure, that in any case, even when a exception occurs, the RSDS is set to null, so that the GC can clean them.
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLExecutionHandler.java
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLExecutionHandler.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLExecutionHandler.java 2011-08-13 08:13:09 UTC (rev 6356)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLExecutionHandler.java 2011-08-16 18:39:06 UTC (rev 6357)
@@ -394,26 +394,35 @@
public void sqlResultSetAvailable(ResultSet rs, SQLExecutionInfo info, IDataSetUpdateableTableModel model)
throws DataSetException
{
- // i18n[SQLResultExecuterPanel.outputStatus=Building output...]
- String outputStatus = s_stringMgr.getString("SQLResultExecuterPanel.outputStatus");
+ // i18n[SQLResultExecuterPanel.outputStatus=Building output...]
+ String outputStatus = s_stringMgr.getString("SQLResultExecuterPanel.outputStatus");
- _cancelPanelCtrl.setStatusLabel(outputStatus);
- rsds = new ResultSetDataSet();
+ _cancelPanelCtrl.setStatusLabel(outputStatus);
+ rsds = new ResultSetDataSet();
+ try {
- SessionProperties props = _session.getProperties();
+ SessionProperties props = _session.getProperties();
- ResultSetMetaDataDataSet rsmdds = null;
- if (props.getShowResultsMetaData())
- {
- rsmdds = new ResultSetMetaDataDataSet(rs);
- }
- DialectType dialectType =
- DialectFactory.getDialectType(_session.getMetaData());
-
- info.setNumberResultRowsRead(rsds.setContentsTabResultSet(rs, null, dialectType));
+ ResultSetMetaDataDataSet rsmdds = null;
+ if (props.getShowResultsMetaData())
+ {
+ rsmdds = new ResultSetMetaDataDataSet(rs);
+ }
+ DialectType dialectType =
+ DialectFactory.getDialectType(_session.getMetaData());
- _executionHandlerListener.addResultsTab(info, rsds, rsmdds, model, _resultTabToReplace);
- rsds = null;
+ info.setNumberResultRowsRead(rsds.setContentsTabResultSet(rs, null, dialectType));
+
+ _executionHandlerListener.addResultsTab(info, rsds, rsmdds, model, _resultTabToReplace);
+
+ }finally{
+ /*
+ * Make sure, that in any case, even when a exception occurs, the rsds is set to null, so that
+ * the GC can clean them.
+ */
+ rsds = null;
+ }
+
}
public void sqlExecutionWarning(SQLWarning warn)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|