summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/partition.c
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2012-05-30 10:43:27 -0700
committerMatthieu Patou <mat@matws.net>2012-06-22 23:22:04 -0700
commit6f3a8b41f5b43c35263a401b2bddbe4e49812b85 (patch)
treebd0da53909e07e60f2592c028cbacb28029b1320 /source4/dsdb/samdb/ldb_modules/partition.c
parent9f1213d954c72a46ac1f30e936e4004b1ed9ff76 (diff)
downloadsamba-6f3a8b41f5b43c35263a401b2bddbe4e49812b85.tar.gz
samba-6f3a8b41f5b43c35263a401b2bddbe4e49812b85.tar.bz2
samba-6f3a8b41f5b43c35263a401b2bddbe4e49812b85.zip
s4-dsdb: Add/Update SCHEMA_SEQ_NUM key in the metadata.tdb after schemaUpdateNow
The idea is to signal to other process accessing the database that the schema was forced to be reloaded and so they should reload as well.
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/partition.c')
-rw-r--r--source4/dsdb/samdb/ldb_modules/partition.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c
index e4659a7f43..d4f020fc5e 100644
--- a/source4/dsdb/samdb/ldb_modules/partition.c
+++ b/source4/dsdb/samdb/ldb_modules/partition.c
@@ -1215,6 +1215,13 @@ static int partition_extended(struct ldb_module *module, struct ldb_request *req
return ldb_next_request(module, req);
}
+ if (strcmp(req->op.extended.oid, DSDB_EXTENDED_SCHEMA_UPDATE_NOW_OID) == 0) {
+ /* Update the metadata.tdb to increment the schema version if needed*/
+ DEBUG(10, ("Incrementing the sequence_number after schema_update_now\n"));
+ ret = partition_metadata_inc_schema_sequence(module);
+ return ldb_module_done(req, NULL, NULL, ret);
+ }
+
/* see if we are still up-to-date */
ret = partition_reload_if_required(module, data, req);
if (ret != LDB_SUCCESS) {