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/IndexQueryFactoryImpl.java |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java
index cf9e7ae..7b1ae32 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java
@@ -38,6 +38,7 @@
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.spi.IndexQueryFactory;
 import org.forgerock.opendj.ldap.spi.IndexingOptions;
+import org.opends.server.backends.pluggable.AttributeIndex.IndexFilterType;
 import org.opends.server.backends.pluggable.spi.Cursor;
 import org.opends.server.backends.pluggable.spi.ReadableTransaction;
 import org.opends.server.backends.pluggable.spi.StorageRuntimeException;
@@ -77,7 +78,7 @@
     return new IndexQuery()
       {
         @Override
-        public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
+        public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut)
         {
           // Read the tree and get Record for the key.
           // Select the right index to be used.
@@ -89,7 +90,7 @@
               debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID,
                   attributeIndex.getAttributeType().getNameOrOID()));
             }
-            return createMatchAllQuery().evaluate(debugMessage);
+            return createMatchAllQuery().evaluate(debugMessage, indexNameOut);
           }
 
           final EntryIDSet entrySet = index.get(txn, key);
@@ -116,7 +117,7 @@
     return new IndexQuery()
     {
       @Override
-      public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
+      public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut)
       {
         final Index index = attributeIndex.getNameToIndexes().get(indexID);
         if (index == null)
@@ -126,7 +127,7 @@
             debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID,
                   attributeIndex.getAttributeType().getNameOrOID()));
           }
-          return createMatchAllQuery().evaluate(debugMessage);
+          return createMatchAllQuery().evaluate(debugMessage, indexNameOut);
         }
 
         final EntryIDSet entrySet = readRange(index, txn, lowerBound, upperBound, includeLowerBound, includeUpperBound);
@@ -263,7 +264,7 @@
     return new IndexQuery()
       {
         @Override
-        public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
+        public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage, StringBuilder indexNameOut)
         {
           final String indexID = PRESENCE_INDEX_KEY;
           final Index index = attributeIndex.getNameToIndexes().get(indexID);
@@ -282,6 +283,10 @@
           {
             updateStatsUndefinedResults(debugMessage, index);
           }
+          if (indexNameOut != null)
+          {
+            indexNameOut.append(IndexFilterType.PRESENCE.toString());
+          }
           return entrySet;
         }
 

--
Gitblit v1.10.0