Index: java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java	(revision 596288)
+++ java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java	(working copy)
@@ -197,7 +197,7 @@
         TestSuite suite = new TestSuite("LargeDataLocksTest");
         suite.addTest(baseSuite("LargeDataLocksTest:embedded"));
         // Disable for client until DERBY-2892 is fixed
-        //suite.addTest(TestConfiguration.clientServerDecorator(baseSuite("LargeDataLocksTest:client")));
+        suite.addTest(TestConfiguration.clientServerDecorator(baseSuite("LargeDataLocksTest:client")));
         return suite;
 
     }
Index: java/client/org/apache/derby/client/am/BlobLocatorInputStream.java
===================================================================
--- java/client/org/apache/derby/client/am/BlobLocatorInputStream.java	(revision 596288)
+++ java/client/org/apache/derby/client/am/BlobLocatorInputStream.java	(working copy)
@@ -185,6 +185,24 @@
             throw ioEx;
         }
     }
+
+    /**
+     * Closes this input stream and releases any system resources associated
+     * with the stream.  This will release the underlying Blob value. 
+     *  
+     * @throws java.io.IOException
+     */
+    public void close() throws IOException {
+        try {
+            if (blob != null) {
+                blob.free();
+            }
+        } catch (SQLException ex) {
+            IOException ioEx = new IOException();
+            ioEx.initCause(ex);
+            throw ioEx;
+        }
+    }
     
     
     /**
Index: java/client/org/apache/derby/client/am/ResultSet.java
===================================================================
--- java/client/org/apache/derby/client/am/ResultSet.java	(revision 596288)
+++ java/client/org/apache/derby/client/am/ResultSet.java	(working copy)
@@ -426,6 +426,7 @@
         if (!openOnClient_) {
             return;
         }
+        closeCloseFilterInputStream();
         preClose_();
         try {
             if (openOnServer_) {
Index: java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java
===================================================================
--- java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java	(revision 596288)
+++ java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java	(working copy)
@@ -160,6 +160,13 @@
         currentPos += ret;
         return ret;
     }
+
+    public void close() throws IOException 
+    {
+       if (is != null) {
+            is.close();
+        }
+    }
     
     /**
      * Verifies whether the current updateCount matches
Index: java/client/org/apache/derby/client/am/ClobLocatorInputStream.java
===================================================================
--- java/client/org/apache/derby/client/am/ClobLocatorInputStream.java	(revision 596288)
+++ java/client/org/apache/derby/client/am/ClobLocatorInputStream.java	(working copy)
@@ -159,6 +159,24 @@
     }
 
     /**
+     * Closes this input stream and releases any system resources associated
+     * with the stream.  This will release the underlying Clob value. 
+     *  
+     * @throws java.io.IOException
+     */
+    public void close() throws IOException {
+        try {
+            if (clob != null) {
+                clob.free();
+            }
+        } catch (SQLException ex) {
+            IOException ioEx = new IOException();
+            ioEx.initCause(ex);
+            throw ioEx;
+        }
+    }
+      
+      /**
      * Returns a <code>Byte</code> array from the
      * <code>String</code> passed as Input.
      *
