From fdc0450db25021eddcc65d032fd3fd8ca5976928 Mon Sep 17 00:00:00 2001 From: Derrell Lipman Date: Wed, 22 Jun 2005 02:39:07 +0000 Subject: r7828: Although there is still plenty to do, ldb_sqlite3 now passes the set of tests in tests/test-sqlite3.sh (tests/test-generic.sh). There are lots of optimizations still TBD, and some things are REALLY slow right now (e.g. each add() operation takes 1/3 - 1/2 second) but it's ready for interested parties to poke it and prod it and see how (un)reasonable it is. Play away. Still to be implemented or improved: - tdb specials (@MODULES, @SUBCLASSES, etc.) - all DNs are case-folded in their entirty right now (since doing otherwise would require @ATTRIBUTES to be implemented) - speed improvements and optimizations. I am quite confident that the excessively slow add() operation can be much improved, and other areas can be somewhat improved. (This used to be commit 1dd865005594671e7effe06fb088fa97fa08de0b) --- source4/lib/ldb/common/ldb.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'source4/lib/ldb/common') diff --git a/source4/lib/ldb/common/ldb.c b/source4/lib/ldb/common/ldb.c index e268a8d0d7..63526dfe2e 100644 --- a/source4/lib/ldb/common/ldb.c +++ b/source4/lib/ldb/common/ldb.c @@ -76,7 +76,7 @@ int ldb_connect(struct ldb_context *ldb, const char *url, unsigned int flags, co #endif #if HAVE_SQLITE3 else if (strncmp(url, "sqlite:", 7) == 0) { - ldb_ctx = lsqlite3_connect(url, flags, options); + ret = lsqlite3_connect(ldb, url, flags, options); } #endif else { @@ -167,6 +167,22 @@ int ldb_rename(struct ldb_context *ldb, const char *olddn, const char *newdn) return ldb->modules->ops->rename_record(ldb->modules, olddn, newdn); } +/* + create a named lock +*/ +int ldb_lock(struct ldb_context *ldb, const char *lockname) +{ + return ldb->modules->ops->named_lock(ldb->modules, lockname); +} + +/* + release a named lock +*/ +int ldb_unlock(struct ldb_context *ldb, const char *lockname) +{ + return ldb->modules->ops->named_unlock(ldb->modules, lockname); +} + /* return extended error information */ -- cgit