]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb_tdb: Avoid reading the index list from the DB if we are already set to override it
authorAndrew Bartlett <abartlet@samba.org>
Thu, 30 Mar 2017 00:10:22 +0000 (13:10 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 31 May 2017 04:34:26 +0000 (06:34 +0200)
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
lib/ldb/ldb_tdb/ldb_cache.c

index cf25d9afa98e0ad6a530208c672f816e56f87a7f..f08e073af1a182d554211ff01774287d04d43a8b 100644 (file)
@@ -236,6 +236,16 @@ static int ltdb_index_load(struct ldb_module *module,
        struct ldb_dn *indexlist_dn;
        int r;
 
+       if (ldb->schema.index_handler_override) {
+               /*
+                * we skip loading the @INDEXLIST record when a module is
+                * supplying its own attribute handling
+                */
+               ltdb->cache->attribute_indexes = true;
+               ltdb->cache->one_level_indexes = ldb->schema.one_level_indexes;
+               return 0;
+       }
+
        talloc_free(ltdb->cache->indexlist);
 
        ltdb->cache->indexlist = ldb_msg_new(ltdb->cache);