From 8ac57ee1cd50fcc3d02b36bea4ab1335924f1d7a Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <yannick.lecaillez@forgerock.com>
Date: Mon, 18 May 2015 13:52:40 +0000
Subject: [PATCH] OPENDJ-1864: Ordering matching rules should reuse equality indexes where possible
---
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndexer.java | 29 ++++++++++++-----------------
1 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndexer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndexer.java
index b64030a..c1a7ca7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndexer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/AttributeIndexer.java
@@ -22,7 +22,7 @@
*
*
* Copyright 2009-2010 Sun Microsystems, Inc.
- * Portions Copyright 2014 ForgeRock AS
+ * Portions Copyright 2014-2015 ForgeRock AS
*/
package org.opends.server.backends.jeb;
@@ -35,7 +35,6 @@
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.spi.IndexingOptions;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.Entry;
@@ -79,26 +78,25 @@
/** {@inheritDoc} */
@Override
- public void indexEntry(Entry entry, Set<ByteString> keys, IndexingOptions options)
+ public void indexEntry(Entry entry, Set<ByteString> keys)
{
- List<Attribute> attrList = entry.getAttribute(attributeType);
+ final List<Attribute> attrList = entry.getAttribute(attributeType);
if (attrList != null)
{
- indexAttribute(attrList, keys, options);
+ indexAttribute(attrList, keys);
}
}
/** {@inheritDoc} */
@Override
public void modifyEntry(Entry oldEntry, Entry newEntry,
- List<Modification> mods, Map<ByteString, Boolean> modifiedKeys,
- IndexingOptions options)
+ List<Modification> mods, Map<ByteString, Boolean> modifiedKeys)
{
List<Attribute> newAttributes = newEntry.getAttribute(attributeType, true);
List<Attribute> oldAttributes = oldEntry.getAttribute(attributeType, true);
- indexAttribute(oldAttributes, modifiedKeys, false, options);
- indexAttribute(newAttributes, modifiedKeys, true, options);
+ indexAttribute(oldAttributes, modifiedKeys, false);
+ indexAttribute(newAttributes, modifiedKeys, true);
}
@@ -108,8 +106,7 @@
* @param attrList The attribute for which substring keys are required.
* @param keys The set into which the generated keys will be inserted.
*/
- private void indexAttribute(List<Attribute> attrList, Set<ByteString> keys,
- IndexingOptions options)
+ private void indexAttribute(List<Attribute> attrList, Set<ByteString> keys)
{
if (attrList == null)
{
@@ -124,7 +121,7 @@
{
try
{
- indexer.createKeys(Schema.getDefaultSchema(), value, options, keys);
+ indexer.createKeys(Schema.getDefaultSchema(), value, keys);
}
catch (DecodeException e)
{
@@ -143,17 +140,15 @@
* @param insert <code>true</code> if generated keys should
* be inserted or <code>false</code> otherwise.
*/
- private void indexAttribute(List<Attribute> attrList,
- Map<ByteString, Boolean> modifiedKeys, Boolean insert,
- IndexingOptions options)
+ private void indexAttribute(List<Attribute> attrList, Map<ByteString, Boolean> modifiedKeys, Boolean insert)
{
if (attrList == null)
{
return;
}
- final Set<ByteString> keys = new HashSet<ByteString>();
- indexAttribute(attrList, keys, options);
+ final Set<ByteString> keys = new HashSet<>();
+ indexAttribute(attrList, keys);
computeModifiedKeys(modifiedKeys, insert, keys);
}
--
Gitblit v1.10.0