diff options
Diffstat (limited to 'source4/lib/ldb/ldb_tdb/ldb_cache.c')
-rw-r--r-- | source4/lib/ldb/ldb_tdb/ldb_cache.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/lib/ldb/ldb_tdb/ldb_cache.c b/source4/lib/ldb/ldb_tdb/ldb_cache.c index 2c399686ea..cd2249d4a2 100644 --- a/source4/lib/ldb/ldb_tdb/ldb_cache.c +++ b/source4/lib/ldb/ldb_tdb/ldb_cache.c @@ -357,6 +357,8 @@ int ltdb_cache_load(struct ldb_module *module) ltdb->cache->attributes == NULL) { goto failed; } + ltdb->cache->one_level_indexes = false; + ltdb->cache->attribute_indexes = false; indexlist_dn = ldb_dn_new(module, ldb, LTDB_INDEXLIST); if (indexlist_dn == NULL) goto failed; @@ -366,6 +368,13 @@ int ltdb_cache_load(struct ldb_module *module) goto failed; } + if (ldb_msg_find_element(ltdb->cache->indexlist, LTDB_IDXONE) != NULL) { + ltdb->cache->one_level_indexes = true; + } + if (ldb_msg_find_element(ltdb->cache->indexlist, LTDB_IDXATTR) != NULL) { + ltdb->cache->attribute_indexes = true; + } + if (ltdb_attributes_load(module) == -1) { goto failed; } |