summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_tdb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-10-22 11:06:33 +1100
committerAndrew Tridgell <tridge@samba.org>2009-10-22 12:47:54 +1100
commit74ae8b90ae71446ccafab3a324087f2edf928b13 (patch)
tree793a1d546f88dbbe3b161069f68dfb11dc29b7c9 /source4/lib/ldb/ldb_tdb
parentc4cb0c520c4599d3d480a24b33473e304e172baf (diff)
downloadsamba-74ae8b90ae71446ccafab3a324087f2edf928b13.tar.gz
samba-74ae8b90ae71446ccafab3a324087f2edf928b13.tar.bz2
samba-74ae8b90ae71446ccafab3a324087f2edf928b13.zip
s4-ldb: expose ltdb_err_map and ltdb_delete_noindex
These will be used by ldb_index.c
Diffstat (limited to 'source4/lib/ldb/ldb_tdb')
-rw-r--r--source4/lib/ldb/ldb_tdb/ldb_tdb.c5
-rw-r--r--source4/lib/ldb/ldb_tdb/ldb_tdb.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/source4/lib/ldb/ldb_tdb/ldb_tdb.c b/source4/lib/ldb/ldb_tdb/ldb_tdb.c
index f8ed329fcd..01153fe203 100644
--- a/source4/lib/ldb/ldb_tdb/ldb_tdb.c
+++ b/source4/lib/ldb/ldb_tdb/ldb_tdb.c
@@ -55,7 +55,7 @@
/*
map a tdb error code to a ldb error code
*/
-static int ltdb_err_map(enum TDB_ERROR tdb_code)
+int ltdb_err_map(enum TDB_ERROR tdb_code)
{
switch (tdb_code) {
case TDB_SUCCESS:
@@ -335,7 +335,7 @@ static int ltdb_add(struct ltdb_context *ctx)
delete a record from the database, not updating indexes (used for deleting
index records)
*/
-static int ltdb_delete_noindex(struct ldb_module *module, struct ldb_dn *dn)
+int ltdb_delete_noindex(struct ldb_module *module, struct ldb_dn *dn)
{
void *data = ldb_module_get_private(module);
struct ltdb_private *ltdb = talloc_get_type(data, struct ltdb_private);
@@ -730,6 +730,7 @@ int ltdb_modify_internal(struct ldb_module *module,
}
}
+ /* TODO: This is O(n^2) - replace with more efficient check */
for (j=0; j<el->num_values; j++) {
if (ldb_msg_find_val(el, &el->values[j]) != &el->values[j]) {
ldb_asprintf_errstring(ldb, "%s: value #%d provided more than once", el->name, j);
diff --git a/source4/lib/ldb/ldb_tdb/ldb_tdb.h b/source4/lib/ldb/ldb_tdb/ldb_tdb.h
index c5eec0a518..b3887a6c34 100644
--- a/source4/lib/ldb/ldb_tdb/ldb_tdb.h
+++ b/source4/lib/ldb/ldb_tdb/ldb_tdb.h
@@ -129,6 +129,8 @@ int ltdb_unlock_read(struct ldb_module *module);
struct TDB_DATA ltdb_key(struct ldb_module *module, struct ldb_dn *dn);
int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flgs);
int ltdb_modify_internal(struct ldb_module *module, const struct ldb_message *msg);
+int ltdb_delete_noindex(struct ldb_module *module, struct ldb_dn *dn);
+int ltdb_err_map(enum TDB_ERROR tdb_code);
struct tdb_context *ltdb_wrap_open(TALLOC_CTX *mem_ctx,
const char *path, int hash_size, int tdb_flags,