You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Hao Zhong (JIRA)" <ji...@apache.org> on 2017/07/13 07:36:00 UTC

[jira] [Created] (DERBY-6950) ClientConnection may be buggy

Hao Zhong created DERBY-6950:
--------------------------------

             Summary: ClientConnection may be buggy
                 Key: DERBY-6950
                 URL: https://issues.apache.org/jira/browse/DERBY-6950
             Project: Derby
          Issue Type: Bug
            Reporter: Hao Zhong


DERBY-210 fixed some leaked statements in Connection.java. I notice that ClientConnection. java is similar to the buggy version of Connection.java. For example, both files have the following methods:

{code}
  synchronized PreparedStatement prepareDynamicCatalogQuery(String sql) throws SqlException {
        PreparedStatement ps = newPreparedStatement_(sql, java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY, resultSetHoldability_, java.sql.Statement.NO_GENERATED_KEYS, null);
        ps.isCatalogQuery_ = true;
        ps.prepare();
        openStatements_.put(ps,null);
        return ps;
    }
{code}

The fixed version of Connection.java is as follow:
{code}
synchronized PreparedStatement prepareDynamicCatalogQuery(String sql) throws SqlException {
        PreparedStatement ps = newPreparedStatement_(sql, java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY, resultSetHoldability_, java.sql.Statement.NO_GENERATED_KEYS, null);
        ps.isCatalogQuery_ = true;
        ps.prepare();
        openStatements_.add(ps);
        return ps;
    }
{code}

It is worthy exploring whehter ClientConnection. java has similar problems. If it is, it can be fixed as how DERBY-210 was fixed. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)