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