summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_sqlite3
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r11567: Ldb API change patch.Simo Sorce1-11/+43
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)
2007-10-10r10753: don't require every ldb module to implement both a search_bytree() andAndrew Tridgell1-39/+1
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)
2007-10-10r10477: expose transactions outside ldb and change the API once moreSimo Sorce1-21/+35
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)
2007-10-10r10406: added --nosync option to all ldb tools, so that you can control ifAndrew Tridgell1-9/+11
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)
2007-10-10r10305: start implementing better error handlingSimo Sorce2-81/+136
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)
2007-10-10r10299: remove the public (un)lock functions and introduce a transaction basedSimo Sorce1-104/+55
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)
2007-10-10r10277: do not ovverride LIKE, thanks to derrel I found out how to doSimo Sorce1-26/+24
the same thing with a harmless user function (This used to be commit 158693b4064bd731aa4f6cdb2fde51d7aa596cf5)
2007-10-10r10251: some more work on ldb_sqlite3Simo Sorce2-245/+227
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)
2007-10-10r10236: fix (C) noteSimo Sorce1-0/+1
(This used to be commit 466e6812c35af9096fea05520c6b59a19793c4d1)
2007-10-10r10233: add commented PRAGMA to avoid fsyncsSimo Sorce1-2/+8
(This used to be commit e5d8d834600040793c1e45c7aaceb374df2b3839)
2007-10-10r10232: Some work on ldb_sqlite3.Simo Sorce1-2025/+1364
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)
2007-10-10r7897: work in progressDerrell Lipman2-101/+219
(This used to be commit 8e1431efcf0df797bc50ef584c38fce6a03429b3)
2007-10-10r7851: We are case preserving let the DN be returned the same the user put ↵Simo Sorce1-68/+70
it into. sss (This used to be commit 5b41e3202456549250e6e5b1c63bd45ea7500fa3)
2007-10-10r7844: eliminate superfluous attribute tablesDerrell Lipman1-382/+91
(This used to be commit 863beef35b769c5a531819c974754aea2a790921)
2007-10-10r7828: Although there is still plenty to do, ldb_sqlite3 now passes the set ↵Derrell Lipman4-362/+1118
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)
2007-10-10r7709: - convert ldb to use popt, so that it can interact with the sambaAndrew Tridgell1-13/+10
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)
2007-10-10r7601: ldb_sqlite3 work in progressDerrell Lipman1-35/+208
(This used to be commit 0a64948152a446b5e127578d49b1ed8a90a1a222)
2007-10-10r7586: ldb_sqlite3 making progress. add and search have indicated a ↵Derrell Lipman2-373/+300
willingness to operate properly on initial testing (This used to be commit 86ca8639e0ddc2525f8ed0ca9879d9f98c0cd00e)
2007-10-10r7562: work in progressDerrell Lipman1-323/+699
(This used to be commit d8a9ce78533639f510b60b48c8f305bd07f3f717)
2007-10-10r7558: added support in ldb for extended ldap search requests. These areAndrew Tridgell1-0/+4
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)
2007-10-10r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_treeAndrew Tridgell1-10/+10
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)
2007-10-10r7498: ldb_sqlite3 work in progressDerrell Lipman2-44/+153
(This used to be commit 797263330b9eada019e432ff201bf5c872e35b5d)
2007-10-10r7480: ldb_sqlite3 work in progressDerrell Lipman1-12/+101
(This used to be commit 510e7994da808ab12f51fa7a36c3f5f9244c51ac)
2007-10-10r7449: add ctype.h header to dn expand functionDerrell Lipman1-23/+24
(This used to be commit 0e3b872560d82e1a0f7b58fe7d210563d6d29daf)
2007-10-10r7443: reorg functions for readabilityDerrell Lipman1-667/+724
(This used to be commit 7543acfa9fe87b43cfee482cf02e56d73d29596b)
2007-10-10r7438: work in progressDerrell Lipman1-174/+149
(This used to be commit 2fc5343f0637ef3109b079dbc33d6cf4e58c8d5e)
2007-10-10r7437: Make Simo happy.Derrell Lipman1-1/+1
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)
2007-10-10r7418: work in progressDerrell Lipman1-28/+30
(This used to be commit 2a13e7655b1bce88694ddbb6a4d9349008ba42f0)
2007-10-10r7408: added DN explode function, based on simo's ldap_parse_dn() function. ↵Derrell Lipman1-14/+41
simo, when you get a chance, please change your license so this can be linked with ldb. (This used to be commit 588a1d1451d4117cb6e427a293455f2a5657b604)
2007-10-10r7349: work in progressDerrell Lipman1-106/+299
(This used to be commit 0e4d9729d99a1a148a951878188fe1955713aea4)
2007-10-10r7343: handle url like ldb_tdb doesSimo Sorce1-5/+10
(This used to be commit d36fde5c0cfe20d03dd99e2ffffdd13acf9f76f3)
2007-10-10r7332: added note to self for required modificationDerrell Lipman1-0/+1
(This used to be commit 8fa340c1d4423673e5a935f815491534413d9536)
2007-10-10r7316: work in progressDerrell Lipman1-147/+237
(This used to be commit 84a2b4049fde7db0d563e639e99364f40a47ace9)
2007-10-10r7292: Fix up the build system support for derrell's sqlite3 ldb backend.Andrew Bartlett1-0/+1
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)
2007-10-10r7287: work in progress. no more time to work on this right now. save ↵Derrell Lipman2-6/+55
latest changes. (This used to be commit 94cbef9211597d8cdd6b5ab7bc9b655026be283a)
2007-10-10r7282: ldb_sqlite3 work in progress.Derrell Lipman2-250/+273
(This used to be commit d934c42b00b68e8f4ac9d0583ac307818aeb494f)
2007-10-10r7281: removing documentDerrell Lipman1-0/+0
(This used to be commit 6867d56796ce4dd85c69107c6a0a5cf4bf93f585)
2007-10-10r7280: taking advantage of previous research. this is documentation on ↵Derrell Lipman1-0/+0
which latest schema is based (This used to be commit 603faa9cabd6d83c2e0fcfea476c5bda3f76b741)
2007-10-10r7276: - moved static tdb function ltdb_dn_fold() into common/ so that it can beDerrell Lipman3-567/+327
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)
2007-10-10r7260: save current schema before I blow it away to try something differentDerrell Lipman1-14/+14
(This used to be commit 676a9824934576056208d30ce34716cfb734ce58)
2007-10-10r7133: work in progress, including a HIGHLY revised and simplified schemaDerrell Lipman2-215/+366
(This used to be commit aa9bb6ad4cb7219a80a6589d406e47a15ac2c3a1)
2007-10-10r7116: work in progressDerrell Lipman3-126/+237
(This used to be commit c860a4f9940c04021ecc859240c5f35c3d1c4bed)
2007-10-10r6984: added tree representation documentation and utility code, to be used ↵Derrell Lipman5-3/+1928
for subclasses of object classes (This used to be commit 7aca32dca6daac54ac77a66438bc5168d5e04227)
2007-10-10r6956: added start of ldb_sqlite3 workDerrell Lipman3-0/+1216
(This used to be commit ac396a4a53756f40ad5e1d45ca23e002f9c649e7)