[Fedora-directory-commits] ldapserver/ldap/servers/slapd/back-ldbm ldbm_search.c, 1.9, 1.10
Nathan Kinder (nkinder)
fedora-directory-commits at redhat.com
Mon Sep 17 19:18:33 UTC 2007
- Previous message (by thread): [Fedora-directory-commits] ldapserver/ldap/servers/plugins/replication windows_private.c, 1.15, 1.16 windows_prot_private.h, 1.7, 1.8 windows_protocol_util.c, 1.32, 1.33 windowsrepl.h, 1.12, 1.13
- Next message (by thread): [Fedora-directory-commits] ldapserver/ldap/servers/slapd configdse.c, 1.7, 1.8 libglobs.c, 1.19, 1.20
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: nkinder
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19325/slapd/back-ldbm
Modified Files:
ldbm_search.c
Log Message:
Resolves: 242551
Summary: Performance cleanup of sync code. Improve tombstone search performance.
Index: ldbm_search.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/ldbm_search.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ldbm_search.c 10 Nov 2006 23:45:39 -0000 1.9
+++ ldbm_search.c 17 Sep 2007 19:18:31 -0000 1.10
@@ -818,21 +818,6 @@
}
-static int
-nscpentrydn_check_filter(Slapi_Filter *f)
-{
- if (!f || (f->f_choice != LDAP_FILTER_AND))
- return 0; /* Not nscpEntryDN filter */
-
- if ( 0 == strcasecmp ( f->f_and->f_avtype, SLAPI_ATTR_NSCP_ENTRYDN)) {
- return 1; /* Contains a nscpEntryDN filter */
- } else if ( 0 == strcasecmp ( f->f_and->f_next->f_avtype, SLAPI_ATTR_NSCP_ENTRYDN)) {
- return 1;
- }
- return 0; /* Not nscpEntryDN filter */
-}
-
-
/*
* Build a candidate list for a SUBTREE scope search.
*/
@@ -886,41 +871,6 @@
idl_free(tmp);
idl_free(descendants);
}
- /*
- * If the search is initiated by the Directory Manager,
- * and the filter includes objectclass=nsTombstone,
- * then we union the candidate list with all the tombstone
- * entries in this backend instance.
- */
- if (has_tombstone_filter && isroot && !nscpentrydn_check_filter(filter))
- {
- IDList *idl;
- IDList *tmp= candidates;
- struct slapi_filter f = {0};
- f.f_choice = LDAP_FILTER_EQUALITY;
- f.f_avtype = "objectclass";
- f.f_avvalue.bv_val = SLAPI_ATTR_VALUE_TOMBSTONE;
- f.f_avvalue.bv_len = strlen(SLAPI_ATTR_VALUE_TOMBSTONE);
- f.f_next= NULL;
- idl = filter_candidates( pb, be, NULL, &f, NULL, 0, err );
-
- /*
- * If that gave allids then try (nscpentrydn=*) instead.
- * The nscpentrydn equality index contains all the tombstones
- * and can be used to resolve a presence filter without
- * hitting allids.
- */
- if (idl && ALLIDS(idl)) {
- idl_free(idl);
- f.f_choice = LDAP_FILTER_PRESENT;
- f.f_avtype = SLAPI_ATTR_NSCP_ENTRYDN;
- idl = filter_candidates( pb, be, NULL, &f, NULL, 0, err );
- }
-
- candidates = idl_union( be, idl, tmp );
- idl_free( idl );
- idl_free( tmp );
- }
return( candidates );
}
- Previous message (by thread): [Fedora-directory-commits] ldapserver/ldap/servers/plugins/replication windows_private.c, 1.15, 1.16 windows_prot_private.h, 1.7, 1.8 windows_protocol_util.c, 1.32, 1.33 windowsrepl.h, 1.12, 1.13
- Next message (by thread): [Fedora-directory-commits] ldapserver/ldap/servers/slapd configdse.c, 1.7, 1.8 libglobs.c, 1.19, 1.20
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Fedora-directory-commits
mailing list