From 8be31cb1aec0459da8a3dacffc0e74514120a4ea Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 24 Jul 2015 16:45:14 +0000
Subject: [PATCH] OPENDJ-2194 Index range search is equivalent to interval search only for single value attributes

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndex.java |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndex.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndex.java
index 30effd8..c8f1c37 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndex.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndex.java
@@ -502,11 +502,11 @@
       DatabaseEnvironmentMonitor monitor)
   {
     // TODO : this implementation is not optimal
-    // as it implies two separate evaluations instead of a single one,
-    // thus defeating the purpose of the optimization done
-    // in IndexFilter#evaluateLogicalAndFilter method.
-    // One solution could be to implement a boundedRangeAssertion that combine
-    // the two operations in one.
+    // as it implies two separate evaluations instead of a single one, thus defeating the purpose of
+    // the optimization done in IndexFilter#evaluateLogicalAndFilter method.
+    // One solution could be to implement a boundedRangeAssertion that combine the two operations in one.
+    // Such an optimization can only work for attributes declared as SINGLE-VALUE, though, since multiple
+    // values may match both filters with values outside the range. See OPENDJ-2194.
     StringBuilder tmpBuff1 = debugBuffer != null ? new StringBuilder(): null;
     StringBuilder tmpBuff2 = debugBuffer != null ? new StringBuilder(): null;
     EntryIDSet results1 = evaluate(filter1, tmpBuff1, monitor);

--
Gitblit v1.10.0