From 532afe488c32562a01e131ecc5b839ff8a86d352 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 29 Jul 2011 11:04:55 +0000
Subject: [PATCH] Fix OPEND-250: Add an option to the JE backend for disabling the subordinate indexes id2children and id2subtree

---
 opendj-sdk/opends/src/server/org/opends/server/backends/jeb/VerifyJob.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/VerifyJob.java
index 28f70ea..39188e7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2011 ForgeRock AS
  */
 package org.opends.server.backends.jeb;
 import org.opends.messages.Message;
@@ -50,6 +51,7 @@
 import org.opends.server.types.*;
 
 import static org.opends.messages.JebMessages.*;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -213,8 +215,11 @@
       if (completeList.isEmpty() && cleanList.isEmpty())
       {
         verifyDN2ID = true;
-        verifyID2Children = true;
-        verifyID2Subtree = true;
+        if (rootContainer.getConfiguration().isSubordinateIndexesEnabled())
+        {
+          verifyID2Children = true;
+          verifyID2Subtree = true;
+        }
         attrIndexList.addAll(entryContainer.getAttributeIndexes());
       }
       else
@@ -239,11 +244,29 @@
           }
           else if (lowerName.equals("id2children"))
           {
-            verifyID2Children = true;
+            if (rootContainer.getConfiguration().isSubordinateIndexesEnabled())
+            {
+              verifyID2Children = true;
+            }
+            else
+            {
+              Message msg = NOTE_JEB_SUBORDINATE_INDEXES_DISABLED
+                  .get(rootContainer.getConfiguration().getBackendId());
+              throw new JebException(msg);
+            }
           }
           else if (lowerName.equals("id2subtree"))
           {
-            verifyID2Subtree = true;
+            if (rootContainer.getConfiguration().isSubordinateIndexesEnabled())
+            {
+              verifyID2Subtree = true;
+            }
+            else
+            {
+              Message msg = NOTE_JEB_SUBORDINATE_INDEXES_DISABLED
+                  .get(rootContainer.getConfiguration().getBackendId());
+              throw new JebException(msg);
+            }
           }
           else if(lowerName.startsWith("vlv."))
           {

--
Gitblit v1.10.0