You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by kr...@apache.org on 2007/02/20 00:19:06 UTC

svn commit: r509375 - in /db/derby/code/trunk/java: engine/org/apache/derby/impl/jdbc/LOBStreamControl.java testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobSetMethodsTest.java

Author: kristwaa
Date: Mon Feb 19 15:19:05 2007
New Revision: 509375

URL: http://svn.apache.org/viewvc?view=rev&rev=509375
Log:
DERBY-2345: Fixed bug where Blob.truncate(long) did not work if the blob was materialized in memory. A test was also added.

Patch contributed by Anurag Shekhar.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobSetMethodsTest.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java?view=diff&rev=509375&r1=509374&r2=509375
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java Mon Feb 19 15:19:05 2007
@@ -351,6 +351,7 @@
         if (isBytes) {
             byte [] tmpByte = new byte [(int) size];
             System.arraycopy(dataBytes, 0, tmpByte, 0, (int) size);
+            dataBytes = tmpByte;
         } else {
             if (size < Integer.MAX_VALUE && size < MAX_BUF_SIZE) {
                 dataBytes = new byte [(int) size];

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobSetMethodsTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobSetMethodsTest.java?view=diff&rev=509375&r1=509374&r2=509375
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobSetMethodsTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobSetMethodsTest.java Mon Feb 19 15:19:05 2007
@@ -141,6 +141,16 @@
             //test truncate
             blob.truncate (BUFFER_SIZE);
             assertEquals (BUFFER_SIZE, blob.length());
+            //test truncate on small size blob
+            blob = con.createBlob();
+            data = new byte [100];
+            for (int i = 0; i < 100; i++) {
+                data [i] = (byte) i;
+            }
+            blob.setBytes (1, data);
+            assertEquals (blob.length(), 100);
+            blob.truncate (50);
+            assertEquals (blob.length(), 50);
             con.commit();
             stmt.close();
             pstmt.close();