From b863e237d8a0ba39af6cb61340db95cfc5166237 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 12 Jun 2015 09:18:01 +0000
Subject: [PATCH] OPENDJ-2108 CR-7212 Some indexes are evaluated as indexed but should be not-indexed.

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java
index d7d757a..ab44001 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java
@@ -52,9 +52,11 @@
    * @param debugMessage If not null, diagnostic message will be written
    *                      which will help to determine why the returned
    *                      EntryIDSet is not defined.
+   * @param indexNameOut If not null, output parameter for the name of the index type actually used to return
+   *                      index results.
    * @return The non null EntryIDSet as a result of evaluating this query
    */
-  public abstract EntryIDSet evaluate(LocalizableMessageBuilder debugMessage);
+  public abstract EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut);
 
   /**
    * Creates an IntersectionIndexQuery object from a collection of
@@ -101,7 +103,7 @@
   private static final class NullIndexQuery extends IndexQuery
   {
     @Override
-    public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
+    public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut)
     {
       return newUndefinedSet();
     }
@@ -134,12 +136,12 @@
     }
 
     @Override
-    public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
+    public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut)
     {
       final EntryIDSet entryIDs = newUndefinedSet();
       for (IndexQuery query : subIndexQueries)
       {
-        entryIDs.retainAll(query.evaluate(debugMessage));
+        entryIDs.retainAll(query.evaluate(debugMessage, indexNameOut));
         if (isBelowFilterThreshold(entryIDs))
         {
           break;
@@ -173,12 +175,12 @@
     }
 
     @Override
-    public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
+    public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut)
     {
       final EntryIDSet entryIDs = newDefinedSet();
       for (IndexQuery query : subIndexQueries)
       {
-        entryIDs.addAll(query.evaluate(debugMessage));
+        entryIDs.addAll(query.evaluate(debugMessage, indexNameOut));
         if (entryIDs.isDefined() && entryIDs.size() >= CURSOR_ENTRY_LIMIT)
         {
           break;

--
Gitblit v1.10.0