summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
AgeCommit message (Collapse)AuthorFilesLines
2008-12-17an experimental patch for fixing ldb bloatAndrew Tridgell3-9/+352
ldb indexing can cause huge files, and huge memory usage. This experiment allows us to keep indexes in memory during a transaction, then to write the indexes to disk when the transaction completes. The result is that the db is much smaller (we have seen improvements of about 100x in file size) and memory usage during large transactions is also greatly reduced Note that this patch uses the unusual strategy of putting pointers into a ldb (and thus into a tdb). This works because the pointers are only there during a transaction, so the pointers are not exposed to any other users of the database. The pointers allow us to avoid some really bad allocation problems with tdb record allocation during the re-indexing.
2008-12-16repack the ldb after re-indexingAndrew Tridgell1-0/+4
re-indexing in ldb is triggered on any modification to the @ATTRIBUTES or @INDEXLIST records. This happens to produce a worst-case fragmentation of the database, as all @INDEX records are deleted then re-created. By repacking after re-indexing we ensure that the database ends up without extreme fragmentation.
2008-12-16use transactions in ldbadd, ldbmodify and ldbeditAndrew Tridgell3-0/+30
The command line tools ldbadd, ldbmodify and ldbedit should operate within a transaction to make them more efficient. The ldbadd tool in particular is much faster when adding a large number of records if all the adds happen within a transaction. Previously there was a transaction per record.
2008-12-03Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell5-9/+11
2008-11-17Remove timeout event once we are calling the callback.Andrew Bartlett2-4/+6
(Even if the callback takes some time, this isn't a ldb_tdb timeout any more) Andrew Bartlett
2008-11-17Print unconvertable ldb element values as base64.Andrew Bartlett1-2/+4
If an LDB element cannot be converted into a printable form, we should still print it, just with safety applied. Andrew Bartlett
2008-11-17Always validate a DN when constructing from a string in pythonAndrew Bartlett1-1/+1
2008-11-11Regenerate SWIG output.Jelmer Vernooij1-1/+0
2008-11-11It is not valid to talloc_free() ldb_dn_get_linearized()Andrew Bartlett1-1/+0
2008-11-06fixed options argument to ldb connect in pythonAndrew Tridgell2-10/+18
The options argument to ldb connect() needs to be marked for the same special handling as attrs in search
2008-11-06don't give errors when an empty modules list is given to ldbAndrew Tridgell2-5/+9
2008-11-04Use ldb_dn_from_ldb_val to avoid possible over-run of the value.Andrew Bartlett4-8/+8
The ldb_val is length-limited, and while normally NULL terminated, this avoids the chance that this particular value might not be, as well as avoiding a cast. Andrew Bartlett
2008-10-30Revert "Length comparison of the linearized version is not correct."Simo Sorce1-0/+3
This reverts commit 753af36a3e194f645ec0b68a033199035e71c909.
2008-10-29Length comparison of the linearized version is not correct.Simo Sorce1-3/+0
The linearized version is not casefolded so length might not match and yet the strings be equivalent. This can happen if one component is case-insensitive and a letter that have an uppercase version of a multibyte character that differ in legth from the corresponding lowercase one.
2008-10-24Remove unused include param/param.h.Jelmer Vernooij1-1/+0
2008-10-20Make sure prototypes are always included, make some functions static andJelmer Vernooij5-4/+13
remove some unused functions.
2008-10-17Merge branch 'master' of ssh://git.samba.org/data/git/samba into master-develAndrew Bartlett8-131/+170
2008-10-16Transform the sequence_number operation into a normal extended operation as ↵Simo Sorce8-131/+170
it should always have been. Make it also async so that it is not a special case.
2008-10-16Assert that the server provides allowedAttributes (etc) on each entryAndrew Bartlett1-2/+6
This attribute is critical for the operation of nearly all the Microsoft Mangement Console tools Andrew Bartlett
2008-10-14Fix very old bug in ASQSimo Sorce1-2/+2
2008-10-08Fix subunit files location after cherrypicks.Jelmer Vernooij1-0/+1
2008-10-02s4:lib/ldb: fix stupid <SID=...> dn parsing bugsStefan Metzmacher1-2/+2
metze
2008-09-30Remove ldb_module_wait implementation - ldb_module.wait() is gone.Jelmer Vernooij1-17/+0
2008-09-29s4:lib/ldb: disable sqlite3 backend always as it doesn't compile anymoreStefan Metzmacher1-3/+3
metze
2008-09-29LDB ASYNC: ldb misc changesSimo Sorce2-54/+44
2008-09-29LDB ASYNC: core modulesSimo Sorce11-2152/+1534
2008-09-29LDB ASYNC: other backendsSimo Sorce3-582/+619
2008-09-29LDB ASYNC: ldb_tdb backendSimo Sorce4-315/+242
2008-09-29LDB ASYNC: Core filesSimo Sorce5-164/+489
2008-09-25Revert LDB return code patches from Matthias.Jelmer Vernooij16-107/+107
2008-09-24Cosmetic corrections for the LDB libraryMatthias Dieter Wallnöfer8-32/+32
This commit applies some cosmetic corrections for the LDB library.
2008-09-24Cosmetic corrections for the LDB backend modulesMatthias Dieter Wallnöfer8-75/+75
This commit applies some cosmetic corrections for the LDB backend modules.
2008-09-24Fix python test, we can't check only the first member, because the orderSimo Sorce1-1/+4
is not guaranteed
2008-09-24Use new binary name in merged build.Jelmer Vernooij1-2/+1
2008-09-23Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.Simo Sorce12-96/+68
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
2008-09-20Don't expose ldb_request in the Python API but rather use regularJelmer Vernooij3-84/+218
parameters.
2008-09-19Fix ldb standalone build.Simo Sorce8-47/+78
Add shared-build target to the ldb library, and make it possible to build it against libtalloc, libevents, libtdb as shared libraries.
2008-09-19Add support for implementing LDB modules in Python.Jelmer Vernooij5-24/+1318
2008-09-19Provide tdb.open and ldb.open python functions.Jelmer Vernooij2-0/+2
2008-09-18Generate with 1.3.36.Jelmer Vernooij1-0/+4
2008-09-14Fix typo.Karolin Seeger1-1/+1
retieve -> retrieve Karolin (partialy cherry-picked from 37c64130701ab13b6f34998ac17fec2d128c2e08) metze (This used to be commit 4d92e6d582a5b2094b2aaa9008a54b37ccfcc2d7)
2008-09-12Fix spellings and file namesSimo Sorce2-32/+32
(This used to be commit baddefd0a6fa430af1a3001064149127e0d29361)
2008-09-06Always free tmp contexts before returningSimo Sorce1-0/+1
(This used to be commit 40b71bbd718f6dee70c0611e527f55c56623dea6)
2008-08-30Add a setexpiry operation in samdb.pyAndrew Tridgell2-68/+69
This makes it easy to set the expiry (or no expiry) for a samdb user (This used to be commit 25171f18a4b242b5a731f4ac1eefc51cc82efd74)
2008-08-22disable the anr== tests until they are understoodAndrew Tridgell1-12/+13
(This used to be commit 6028404a9a9db64d4025ef6e685ee13c4aadca2e)
2008-08-22fixed a speellling erraAndrew Tridgell1-1/+1
(This used to be commit 3c058f50cc3b91d540feb51fb698d90565b2b7c9)
2008-08-22fixed a problem with length limited ldap valuesAndrew Tridgell5-22/+29
The core ldb code for string matching assumed NULL terminated strings, whereas the anr module used data_blob_const() to effectively truncate a ldb_val by changing its length. The ldb code is supposed to be based around length limited blobs, not NULL terminated strings, so the correct fix was to change the string comparison functions to be length limited (This used to be commit 26c6aa5a80ffaf06fc33f30a6533f8f16ef538bc)
2008-08-21Don't walk past the end of ldb values.Andrew Bartlett3-10/+20
This is a partial fix towards bugs due to us walking past the end of what we think are strings in ldb. There is much more work to do in this area. Andrew Bartlett (This used to be commit 5805a9a8f35fd90fa4f718f73534817fa3bbdfd2)
2008-08-21All these syntaxes are now handled by the schema.Andrew Bartlett1-6/+0
(This used to be commit 94d5e69190f34d66d4defd4a7de7ce24bee77bc3)
2008-08-21Correct anr search commants and error messages in ldap.jsAndrew Bartlett1-7/+7
(This used to be commit 233dd885c2a2b4ee7cc2287efe7d6e03625d4981)