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 ka...@apache.org on 2008/05/02 23:15:46 UTC

svn commit: r652917 - /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java

Author: kahatlen
Date: Fri May  2 14:15:46 2008
New Revision: 652917

URL: http://svn.apache.org/viewvc?rev=652917&view=rev
Log:
DERBY-3658: Made LOBStateTracker work with soft upgraded databases
that don't support locators.

Merged fix from trunk, revision 652865.

Modified:
    db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java

Modified: db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java?rev=652917&r1=652916&r2=652917&view=diff
==============================================================================
--- db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java (original)
+++ db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java Fri May  2 14:15:46 2008
@@ -105,6 +105,12 @@
                     if (locator == this.lastLocatorSeen[i]) {
                         // We are being called on the same row twice...
                         return;
+                    } else if (locator == Lob.INVALID_LOCATOR) {
+                        // The locator is invalid, probably because the
+                        // database is running in soft upgrade mode and
+                        // doesn't have the neccessary stored procedures.
+                        // Don't try to release an invalid locator.
+                        return;
                     }
                     this.lastLocatorSeen[i] = locator;
                     if (this.isBlob[i]) {