summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Freeze/Index.java13
-rw-r--r--java/src/Freeze/Map.java8
2 files changed, 21 insertions, 0 deletions
diff --git a/java/src/Freeze/Index.java b/java/src/Freeze/Index.java
index ac1b61a4793..6acd7d1a023 100644
--- a/java/src/Freeze/Index.java
+++ b/java/src/Freeze/Index.java
@@ -72,6 +72,12 @@ public abstract class Index implements com.sleepycat.db.SecondaryKeyCreator
{
com.sleepycat.db.DatabaseEntry key = new com.sleepycat.db.DatabaseEntry(k);
+ // When we have a custom-comparison function, Berkeley DB returns
+ // the key on-disk (when it finds one). We disable this behavior:
+ // (ref Oracle SR 5925672.992)
+ //
+ key.setPartial(true);
+
com.sleepycat.db.DatabaseEntry pkey = new com.sleepycat.db.DatabaseEntry();
com.sleepycat.db.DatabaseEntry value = new com.sleepycat.db.DatabaseEntry();
//
@@ -196,6 +202,13 @@ public abstract class Index implements com.sleepycat.db.SecondaryKeyCreator
try
{
com.sleepycat.db.DatabaseEntry key = new com.sleepycat.db.DatabaseEntry(k);
+
+ // When we have a custom-comparison function, Berkeley DB returns
+ // the key on-disk (when it finds one). We disable this behavior:
+ // (ref Oracle SR 5925672.992)
+ //
+ key.setPartial(true);
+
com.sleepycat.db.DatabaseEntry value = new com.sleepycat.db.DatabaseEntry();
//
// dlen is 0, so we should not retrieve any value
diff --git a/java/src/Freeze/Map.java b/java/src/Freeze/Map.java
index 2983627e6ff..70e0ae95bfa 100644
--- a/java/src/Freeze/Map.java
+++ b/java/src/Freeze/Map.java
@@ -1189,6 +1189,14 @@ public abstract class Map extends java.util.AbstractMap
com.sleepycat.db.DatabaseEntry dbKey = new com.sleepycat.db.DatabaseEntry(k);
com.sleepycat.db.DatabaseEntry dbValue = new com.sleepycat.db.DatabaseEntry();
+
+ //
+ // When we have a custom-comparison function, Berkeley DB returns
+ // the key on-disk (when it finds one). We disable this behavior:
+ // (ref Oracle SR 5925672.992)
+ //
+ dbKey.setPartial(true);
+
//
// dlen is 0, so we should not retrieve any value
//