From 5f8ac08c1a9c27f4f5ab2d871a109ee206853193 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Thu, 12 Mar 2009 13:26:30 +0000
Subject: [PATCH] - fix indexed search scoping.
---
opends/src/server/org/opends/server/backends/ndb/EntryContainer.java | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/ndb/EntryContainer.java b/opends/src/server/org/opends/server/backends/ndb/EntryContainer.java
index 6a04dc8..d197de7 100644
--- a/opends/src/server/org/opends/server/backends/ndb/EntryContainer.java
+++ b/opends/src/server/org/opends/server/backends/ndb/EntryContainer.java
@@ -371,12 +371,23 @@
// We have found a subordinate entry.
DN dn = entry.getDN();
- boolean isInScope = true;
+ boolean isInScope = false;
if (searchScope == SearchScope.SINGLE_LEVEL) {
// Check if this entry is an immediate child.
- if ((dn.getNumComponents() !=
- baseDN.getNumComponents() + 1)) {
- isInScope = false;
+ if ((dn.getNumComponents() ==
+ baseDN.getNumComponents() + 1) &&
+ dn.isDescendantOf(baseDN)) {
+ isInScope = true;
+ }
+ } else if (searchScope == SearchScope.WHOLE_SUBTREE) {
+ if (dn.isDescendantOf(baseDN)) {
+ isInScope = true;
+ }
+ } else if (searchScope == SearchScope.SUBORDINATE_SUBTREE) {
+ if ((dn.getNumComponents() >
+ baseDN.getNumComponents()) &&
+ dn.isDescendantOf(baseDN)) {
+ isInScope = true;
}
}
--
Gitblit v1.10.0