Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch changes the way lsb_search is called and the meaning of the returned integer.
The last argument of ldb_search is changed from struct ldb_message to struct ldb_result
which contains a pointer to a struct ldb_message list and a count of the number of messages.
The return is not the count of messages anymore but instead it is an ldb error value.
I tryed to keep the patch as tiny as possible bu as you can guess I had to change a good
amount of places. I also tried to double check all my changes being sure that the calling
functions would still behave as before. But this patch is big enough that I fear some bug
may have been introduced anyway even if it passes the test suite. So if you are currently
working on any file being touched please give it a deep look and blame me for any error.
Simo.
(This used to be commit 22c8c97e6fb466b41859e090e959d7f1134be780)
|
|
a search() function, instead each module now only implements the
bytree method, and the expression based search is handled generically
by the modules code. This makes for more consistency and less code
duplication.
fixed the tdb backend to handle BASE searches much more
efficiently. They now always only lookup one record, regardless of the
search expression
(This used to be commit 7e44f9153c5578624e2fca04cdc0a00af0fd9eb4)
|
|
do not autostart transactions on ldb operations if a transaction is already in place
test transactions on winsdb
all my tests passes so far
tridge please confirm this is ok for you
(This used to be commit c2bb2a36bdbe0ec7519697a9a9ba7526a0defac2)
|
|
transactions are synchronous or not on the command line.
add LDB_FLG_NOSYNC flag to ldb_connect() so we can make our temporary
ldb databases non-synchronous
(This used to be commit dba41164e0c52f1e4351bd9057b16661cee3a822)
|
|
changed the prioivate modules API
error string are now not spread over all
modules but are kept in a single place.
This allows a better control of memory
and error reporting.
(This used to be commit 3fc676ac1d6f59d08bedbbd9377986154cf84ce4)
|
|
private ldb API
ldb_sqlite3 is already working with this model and ldb_tdb will do
as soon as tridge finishes the tdb transaction code.
currently the transactions are always implicit and wrap any single
ldb API call except searching, the transaction functions are
currently not made public on purpose.
Simo.
(This used to be commit 1da4ac2cdcb7e54076f85242a93784260dced918)
|
|
the same thing with a harmless user function
(This used to be commit 158693b4064bd731aa4f6cdb2fde51d7aa596cf5)
|
|
I must say that writing a new module is a very good way
to find lot of subtle bugs laying in the code
We need more tests!
commit oLschema2ldif.c to keep it safe from data losses (rm -fr :-)
update test generic to reflect the fix made on comparsion functions
(This used to be commit 4357a2db5eadb15519ed93b957b2bad25ebf2a7d)
|
|
(This used to be commit 466e6812c35af9096fea05520c6b59a19793c4d1)
|
|
(This used to be commit e5d8d834600040793c1e45c7aaceb374df2b3839)
|
|
It is still far from being usable in samba4 but I want to commit
so that the work does not get lost by mistake.
This is also a good way to get comments if somebody is interested.
Sorry Derrell I ended up rewriting large parts of the code but I find
this style much more readable. Thanks for the hard work done. Your
work was a good reference for me.
ah the current code also shows some good numbers
sqlite3 generic test:
uid search took 0.05 seconds
real 0m12.492s
user 0m0.492s
sys 0m0.345s
with tdb we still get better numbers:
uid search took 0.46 seconds
real 0m0.892s
user 0m0.360s
sys 0m0.468s
but most of the time is spent in adding operations and I think
there's still a lot of space for improvement.
Simo.
(This used to be commit ace9990060c10d0931f418934b2121aea9512ff7)
|
|
(This used to be commit 8e1431efcf0df797bc50ef584c38fce6a03429b3)
|
|
it into.
sss
(This used to be commit 5b41e3202456549250e6e5b1c63bd45ea7500fa3)
|
|
(This used to be commit 863beef35b769c5a531819c974754aea2a790921)
|
|
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)
|
|
cmdline credentials code (which will be done soon)
- added a ldb_init() call, and changed ldb_connect() to take a ldb
context. This allows for much better error handling in
ldb_connect(), and also made the popt conversion easier
- fixed up all the existing backends with the new syntax
- improved error handling in *_connect()
- fixed a crash bug in the new case_fold_required() code
- ensured that ltdb_rename() and all ltdb_search() paths get the read lock
- added a ldb_oom() macro to make it easier to report out of memory
situations in ldb code
(This used to be commit f648fdf187669d6d87d01dd4e786b03cd420f220)
|
|
(This used to be commit 0a64948152a446b5e127578d49b1ed8a90a1a222)
|
|
willingness to operate properly on initial testing
(This used to be commit 86ca8639e0ddc2525f8ed0ca9879d9f98c0cd00e)
|
|
(This used to be commit d8a9ce78533639f510b60b48c8f305bd07f3f717)
|
|
using to perform such things as bitop tests on integers.
So far I have only added support for the 1.2.840.113556.1.4.803 and
1.2.840.113556.1.4.804 rules, which are for bitwise and/or
(This used to be commit 5f773b065f1db959e59c02de68bcf30cef1a6c2c)
|
|
instead of a search expression. This allows our ldap server to pass
its ASN.1 parsed search expressions straight to ldb, instead of going
via strings.
- updated all the ldb modules code to handle the new interface
- got rid of the separate ldb_parse.h now that the ldb_parse
structures are exposed externally
- moved to C99 structure initialisation in ldb
- switched ldap server to using ldb_search_bytree()
(This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
|
|
(This used to be commit 797263330b9eada019e432ff201bf5c872e35b5d)
|
|
(This used to be commit 510e7994da808ab12f51fa7a36c3f5f9244c51ac)
|
|
(This used to be commit 0e3b872560d82e1a0f7b58fe7d210563d6d29daf)
|
|
(This used to be commit 7543acfa9fe87b43cfee482cf02e56d73d29596b)
|
|
(This used to be commit 2fc5343f0637ef3109b079dbc33d6cf4e58c8d5e)
|
|
I still think this URI syntax for a 'protocol' which has no network component
is stupid; it should just be
sqlite:local_file
or
sqlite:/full/path/to/file
but there is enough precedent to warrant the behavior that Simo wants that it
is not worth arguing.
(This used to be commit 61dcb462f30a65256e263e87c192ed7f5280c7af)
|
|
(This used to be commit 2a13e7655b1bce88694ddbb6a4d9349008ba42f0)
|
|
simo, when you get a chance, please change your license so this can be linked with ldb.
(This used to be commit 588a1d1451d4117cb6e427a293455f2a5657b604)
|
|
(This used to be commit 0e4d9729d99a1a148a951878188fe1955713aea4)
|
|
(This used to be commit d36fde5c0cfe20d03dd99e2ffffdd13acf9f76f3)
|
|
(This used to be commit 8fa340c1d4423673e5a935f815491534413d9536)
|
|
(This used to be commit 84a2b4049fde7db0d563e639e99364f40a47ace9)
|
|
It is on by default, so I've also fixed a build issue in it. I'll
show how to make it off be default in the next commit.
Andrew Bartlett
(This used to be commit 5a1ef888100e8ef803100a6341133d96e8a400b0)
|
|
latest changes.
(This used to be commit 94cbef9211597d8cdd6b5ab7bc9b655026be283a)
|
|
(This used to be commit d934c42b00b68e8f4ac9d0583ac307818aeb494f)
|
|
(This used to be commit 6867d56796ce4dd85c69107c6a0a5cf4bf93f585)
|
|
which latest schema is based
(This used to be commit 603faa9cabd6d83c2e0fcfea476c5bda3f76b741)
|
|
called from multiple backends. (ldb_sqlite3 needs it too.) Added parameter
for a callback function that determines whether an attribute needs case
folding.
- begin to prepare for sqlite3 in build process
- work-in-progress updates, on ldb_sqlite3
(This used to be commit a80bced0b96ffb655559a43cf7f4d7a34deb5a7d)
|
|
(This used to be commit 676a9824934576056208d30ce34716cfb734ce58)
|
|
(This used to be commit aa9bb6ad4cb7219a80a6589d406e47a15ac2c3a1)
|
|
(This used to be commit c860a4f9940c04021ecc859240c5f35c3d1c4bed)
|
|
for subclasses of object classes
(This used to be commit 7aca32dca6daac54ac77a66438bc5168d5e04227)
|
|
(This used to be commit ac396a4a53756f40ad5e1d45ca23e002f9c649e7)
|