diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-08-09 14:23:12 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-08-09 06:39:20 +0200 |
commit | ef87b4e4f10eb7d5974cb0e0861648d537153a00 (patch) | |
tree | 047a5784c3c1a8dcef1e66e07f60c5a6c0674859 | |
parent | 1a1f01ee7a754f2ecccce4f385fba6cb55d82518 (diff) | |
download | samba-ef87b4e4f10eb7d5974cb0e0861648d537153a00.tar.gz samba-ef87b4e4f10eb7d5974cb0e0861648d537153a00.tar.bz2 samba-ef87b4e4f10eb7d5974cb0e0861648d537153a00.zip |
s4-pydsdb: Provide control of if we should write index attributes when reloading a schema
This allows us to carefully control the loading of the schema.
Andrew Bartlett
-rw-r--r-- | source4/dsdb/pydsdb.c | 6 | ||||
-rw-r--r-- | source4/scripting/python/samba/samdb.py | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/source4/dsdb/pydsdb.c b/source4/dsdb/pydsdb.c index 355804943c..9023d69054 100644 --- a/source4/dsdb/pydsdb.c +++ b/source4/dsdb/pydsdb.c @@ -873,7 +873,9 @@ static PyObject *py_dsdb_set_schema_from_ldb(PyObject *self, PyObject *args) struct ldb_context *from_ldb; struct dsdb_schema *schema; int ret; - if (!PyArg_ParseTuple(args, "OO", &py_ldb, &py_from_ldb)) + char write_attributes = true; + if (!PyArg_ParseTuple(args, "OO|b", + &py_ldb, &py_from_ldb, &write_attributes)) return NULL; PyErr_LDB_OR_RAISE(py_ldb, ldb); @@ -886,7 +888,7 @@ static PyObject *py_dsdb_set_schema_from_ldb(PyObject *self, PyObject *args) return NULL; } - ret = dsdb_reference_schema(ldb, schema, true); + ret = dsdb_reference_schema(ldb, schema, write_attributes); PyErr_LDB_ERROR_IS_ERR_RAISE(py_ldb_get_exception(), ret, ldb); Py_RETURN_NONE; diff --git a/source4/scripting/python/samba/samdb.py b/source4/scripting/python/samba/samdb.py index 7451b6c624..3355e9a589 100644 --- a/source4/scripting/python/samba/samdb.py +++ b/source4/scripting/python/samba/samdb.py @@ -608,11 +608,11 @@ accountExpires: %u def load_partition_usn(self, base_dn): return dsdb._dsdb_load_partition_usn(self, base_dn) - def set_schema(self, schema): - self.set_schema_from_ldb(schema.ldb) + def set_schema(self, schema, write_attributes=True): + self.set_schema_from_ldb(schema.ldb, write_attributes=write_attributes) - def set_schema_from_ldb(self, ldb_conn): - dsdb._dsdb_set_schema_from_ldb(self, ldb_conn) + def set_schema_from_ldb(self, ldb_conn, write_attributes=True): + dsdb._dsdb_set_schema_from_ldb(self, ldb_conn, write_attributes) def dsdb_DsReplicaAttribute(self, ldb, ldap_display_name, ldif_elements): '''convert a list of attribute values to a DRSUAPI DsReplicaAttribute''' |