summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/descriptor.c
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2012-03-25 23:25:01 +0200
committerAndrew Bartlett <abartlet@samba.org>2012-03-26 00:57:29 +0200
commit206421c8fd28ca4bb6375b97e106d3531f1a5559 (patch)
tree2fc4076ec37cc15e916801aa1873f09f22187a75 /source4/dsdb/samdb/ldb_modules/descriptor.c
parent0f8ffa9ce1777d0b368eb765a7f69f93e68118bd (diff)
downloadsamba-206421c8fd28ca4bb6375b97e106d3531f1a5559.tar.gz
samba-206421c8fd28ca4bb6375b97e106d3531f1a5559.tar.bz2
samba-206421c8fd28ca4bb6375b97e106d3531f1a5559.zip
s4:dsdb - enhance "get_last_structural_class()" for optimisations
If the objectclass entry has been sorted before we are able to determine the (last) structural or 88 object class in constant time. Reviewed-by: Andrew Bartlett <abartlet@samba.org> Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/descriptor.c')
-rw-r--r--source4/dsdb/samdb/ldb_modules/descriptor.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/descriptor.c b/source4/dsdb/samdb/ldb_modules/descriptor.c
index 409d08dea9..47207db201 100644
--- a/source4/dsdb/samdb/ldb_modules/descriptor.c
+++ b/source4/dsdb/samdb/ldb_modules/descriptor.c
@@ -542,7 +542,8 @@ static int descriptor_add(struct ldb_module *module, struct ldb_request *req)
return ldb_operr(ldb);
}
- objectclass = get_last_structural_class(schema, objectclass_element, req);
+ objectclass = get_last_structural_class(schema, objectclass_element,
+ false);
if (objectclass == NULL) {
return ldb_operr(ldb);
}
@@ -660,7 +661,8 @@ static int descriptor_modify(struct ldb_module *module, struct ldb_request *req)
return ldb_operr(ldb);
}
- objectclass = get_last_structural_class(schema, objectclass_element, req);
+ objectclass = get_last_structural_class(schema, objectclass_element,
+ false);
if (objectclass == NULL) {
return ldb_operr(ldb);
}