From 9ff093de3e9f067d08bcc6d3134121128974a681 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 11 Apr 2014 13:47:56 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java | 66 ++++++++++----------------------
1 files changed, 21 insertions(+), 45 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
index dd7b55a..38a1c68 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -34,6 +34,7 @@
import org.forgerock.opendj.ldap.ConditionResult;
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.ResultCode;
+import org.forgerock.opendj.ldap.spi.IndexingOptions;
import org.opends.server.api.MatchingRule;
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.*;
@@ -151,14 +152,6 @@
private ArrayList<VLVIndex> vlvIndexList = new ArrayList<VLVIndex>();
/**
- * The types of indexes that are verifiable.
- */
- private enum IndexType
- {
- PRES, EQ, SUBSTRING, ORDERING, APPROXIMATE
- }
-
- /**
* Construct a VerifyJob.
*
* @param verifyConfig The verify configuration.
@@ -346,10 +339,8 @@
rate = 1000f*keyCount / totalTime;
}
- addStatEntry(statEntry, "verify-error-count",
- String.valueOf(errorCount));
- addStatEntry(statEntry, "verify-key-count",
- String.valueOf(keyCount));
+ addStatEntry(statEntry, "verify-error-count", String.valueOf(errorCount));
+ addStatEntry(statEntry, "verify-key-count", String.valueOf(keyCount));
if (cleanMode)
{
logger.info(NOTE_JEB_VERIFY_CLEAN_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate);
@@ -437,8 +428,7 @@
Long storedEntryCount = id2entry.getRecordCount();
- while (cursor.getNext(key, data, null) ==
- OperationStatus.SUCCESS)
+ while (cursor.getNext(key, data, null) == OperationStatus.SUCCESS)
{
EntryID entryID;
try
@@ -529,17 +519,12 @@
if(attrIndexList.size() > 0)
{
AttributeIndex attrIndex = attrIndexList.get(0);
- iterateAttrIndex(attrIndex.getAttributeType(),
- attrIndex.getEqualityIndex(), IndexType.EQ );
- iterateAttrIndex(attrIndex.getAttributeType(),
- attrIndex.getPresenceIndex(), IndexType.PRES);
- iterateAttrIndex(attrIndex.getAttributeType(),
- attrIndex.getSubstringIndex(), IndexType.SUBSTRING);
- iterateAttrIndex(attrIndex.getAttributeType(),
- attrIndex.getOrderingIndex(), IndexType.ORDERING);
- iterateAttrIndex(attrIndex.getAttributeType(),
- attrIndex.getApproximateIndex(),
- IndexType.APPROXIMATE);
+ final IndexingOptions options = attrIndex.getIndexingOptions();
+ iterateAttrIndex(attrIndex.getEqualityIndex(), options);
+ iterateAttrIndex(attrIndex.getPresenceIndex(), options);
+ iterateAttrIndex(attrIndex.getSubstringIndex(), options);
+ iterateAttrIndex(attrIndex.getOrderingIndex(), options);
+ iterateAttrIndex(attrIndex.getApproximateIndex(), options);
// TODO: Need to iterate through ExtendedMatchingRules indexes.
} else if(vlvIndexList.size() > 0)
{
@@ -562,8 +547,7 @@
DatabaseEntry key = new DatabaseEntry();
DatabaseEntry data = new DatabaseEntry();
- while (cursor.getNext(key, data, null) ==
- OperationStatus.SUCCESS)
+ while (cursor.getNext(key, data, null) == OperationStatus.SUCCESS)
{
keyCount++;
@@ -610,8 +594,7 @@
else
{
if (!Arrays.equals(JebFormat.dnToDNKey(
- entry.getName(), verifyConfig.getBaseDN().size()),
- key.getData()))
+ entry.getName(), verifyConfig.getBaseDN().size()), key.getData()))
{
errorCount++;
if (logger.isTraceEnabled())
@@ -645,8 +628,7 @@
DatabaseEntry key = new DatabaseEntry();
DatabaseEntry data = new DatabaseEntry();
- while (cursor.getNext(key, data, null) ==
- OperationStatus.SUCCESS)
+ while (cursor.getNext(key, data, null) == OperationStatus.SUCCESS)
{
keyCount++;
@@ -778,8 +760,7 @@
DatabaseEntry key = new DatabaseEntry();
DatabaseEntry data = new DatabaseEntry();
- while (cursor.getNext(key, data, null) ==
- OperationStatus.SUCCESS)
+ while (cursor.getNext(key, data, null) == OperationStatus.SUCCESS)
{
keyCount++;
@@ -1065,15 +1046,12 @@
/**
* Iterate through the entries in an attribute index to perform a check for
* index cleanliness.
- * @param attrType The attribute type of the index to be checked.
* @param index The index database to be checked.
- * @param indexType Type of the index (ie, SUBSTRING, ORDERING)
* @throws JebException If an error occurs in the JE backend.
* @throws DatabaseException If an error occurs in the JE database.
*/
- private void iterateAttrIndex(AttributeType attrType,
- Index index, IndexType indexType)
- throws JebException, DatabaseException
+ private void iterateAttrIndex(Index index, IndexingOptions options)
+ throws JebException, DatabaseException
{
if (index == null)
{
@@ -1086,8 +1064,7 @@
DatabaseEntry key = new DatabaseEntry();
DatabaseEntry data = new DatabaseEntry();
- while (cursor.getNext(key, data, null) ==
- OperationStatus.SUCCESS)
+ while (cursor.getNext(key, data, null) == OperationStatus.SUCCESS)
{
keyCount++;
@@ -1193,7 +1170,7 @@
};
- index.indexer.indexEntry(entry, dummySet);
+ index.indexer.indexEntry(entry, dummySet, options);
if (!foundMatchingKey.get())
{
@@ -1499,13 +1476,13 @@
buffer.append(vlvIndex);
buffer.append(ServerConstants.EOL);
buffer.append("Key (last sort values):");
- if(keySortValues == null)
+ if(keySortValues != null)
{
- buffer.append("UNBOUNDED (0x00)");
+ buffer.append(keySortValues);
}
else
{
- buffer.append(keySortValues);
+ buffer.append("UNBOUNDED (0x00)");
}
return buffer.toString();
}
@@ -1619,7 +1596,6 @@
Index approximateIndex = attrIndex.getApproximateIndex();
// TODO: Add support for Extended Matching Rules indexes.
- // Presence index.
if (presenceIndex != null)
{
DatabaseEntry presenceKey = AttributeIndex.presenceKey;
--
Gitblit v1.10.0