# re-index the database
def reindex_database(self):
'''re-index the whole database'''
+ flag = ldb.FLAG_MOD_REPLACE
+ dn = ldb.Dn(self.samdb, "@INDEXLIST")
+ att = "@IDXMASTERVERSION"
+ res = self.samdb.search(base=dn, attrs=[att], scope=ldb.SCOPE_BASE)
+ if len(res) > 0:
+ if not res[0].get(att):
+ flag= ldb.FLAG_MOD_ADD
m = ldb.Message()
- m.dn = ldb.Dn(self.samdb, "@ATTRIBUTES")
- m['add'] = ldb.MessageElement('NONE', ldb.FLAG_MOD_ADD, 'force_reindex')
- m['delete'] = ldb.MessageElement('NONE', ldb.FLAG_MOD_DELETE, 'force_reindex')
+ m.dn = dn
+ m[att] = ldb.MessageElement("4", flag, att)
return self.do_modify(m, [], 're-indexed database', validate=False)
###############################################