• Bruce Momjian's avatar
    Attached are patches for two fixes to reduce memory usage by the JDBC · 49740c5f
    Bruce Momjian authored
    drivers.
    
    The first fix fixes the PreparedStatement object to not allocate
    unnecessary objects when converting native types to Stings.  The old
    code used the following format:
            (new Integer(x)).toString()
    whereas this can more efficiently be occompilshed by:
            Integer.toString(x);
    avoiding the unnecessary object creation.
    
    The second fix is to release some resources on the close() of a
    ResultSet.  Currently the close() method on ResultSet is a noop.  The
    purpose of the close() method is to release resources when the ResultSet
    is no longer needed.  The fix is to free the tuples cached by the
    ResultSet when it is closed (by clearing out the Vector object that
    stores the tuples).  This is important for my application, as I have a
    cache of Statement objects that I reuse.  Since the Statement object
    maintains a reference to the ResultSet and the ResultSet kept references
    to the old tuples, my cache was holding on to a lot of memory.
    
    Barry Lind
    49740c5f
ResultSet.java 38.8 KB