continue;
}
/* for this prepared statement */
if (pStmt == a.getPreparedStatement()) {
ResultSet rs = a.getResultSet();
/* is there an open result set? */
if (rs != null && ! rs.isClosed())
{
if (!rs.returnsRows())
continue;
seenOpenResultSets = true;
break;
}
}
}
if (!seenOpenResultSets)
return false;
// There may be open ResultSet's that are yet to be garbage collected
// let's try and force these out rather than throw an error
System.gc();
System.runFinalization();
/* For every activation */
// synchronize on acts as other threads may be closing activations
// in this list, thus invalidating the Enumeration
for (int i = acts.size() - 1; i >= 0; i--) {
Activation a = (Activation) acts.elementAt(i);
if (!a.isInUse())
{
continue;
}
/* for this prepared statement */
if (pStmt == a.getPreparedStatement()) {
ResultSet rs = a.getResultSet();
/* is there an open result set? */
if (rs != null && ! rs.isClosed())
{
if ((provider != null) && rs.returnsRows()) {
DependencyManager dmgr = getDataDictionary().getDependencyManager();
throw StandardException.newException(SQLState.LANG_CANT_INVALIDATE_OPEN_RESULT_SET,
dmgr.getActionString(action),
provider.getObjectName());