summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_tdb
AgeCommit message (Collapse)AuthorFilesLines
2010-10-13s4-ldb: take advantage of ldb_match_msg_error() in more placesAndrew Tridgell2-4/+16
this gives better error checking
2010-10-13s4-ldb: added an optional operator_fn in the schema syntaxAndrew Tridgell1-2/+10
this function takes the operator being invoked, which will allow schema functions to provide more fine grained control over comparisons. The key bug this was introduced to fix is the incorrect handling of the LDB_OP_PRESENT test for deleted linked attributes. The backends are unaware of the deleted state of these links, so they cannot do a LDB_OP_PRESENT test on their own. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-28ldb-tdb: ignore failure to register control on rootdseAndrew Tridgell1-4/+1
this is expected for non-sam LDBs
2010-08-17s4-ldb: ensure element flags are zero in ldb search returnAndrew Tridgell1-0/+2
the distinguishedName element was getting an uninitialised flags value
2010-08-17s4-ldb: fixed the ldb 'displayName=a,b' indexing bugAndrew Tridgell1-2/+4
the problem was the inconsistency between the key form of DNs between the itdb used for indexing and the on disk form Thanks to Matthieu Patou for finding this bug! Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-08-17s4-ldb: add some comments explaining the ltdb_index_idxptr() functionAndrew Tridgell1-0/+8
this function copes with alignment sensitive CPUs Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-06-07s4:objectclass_attrs LDB module - move the single-valued attribute check ↵Matthias Dieter Wallnöfer1-44/+0
into this module It seems to me more consistent (and also to keep the same behaviour on all backends). Also the DRS hack should therefore not be needed anymore since the "repl_meta_data" module launches requests behind "objectclass_attrs".
2010-06-07s4:rdn_name LDB module - move the "distinguishedName" write prevent check hereMatthias Dieter Wallnöfer1-7/+0
In my eyes it fits better here than in the TDB backend code.
2010-06-06ldb:ltdb_filter_attrs - fix a counter variable typeMatthias Dieter Wallnöfer1-2/+3
2010-05-30ldb:ldb_tdb/ldb_tdb.c - quiet a warning regarding TDB -> LDB error code ↵Matthias Dieter Wallnöfer1-0/+2
conversions
2010-04-18ldb: mark the tdb backend in ldb as _PRIVATE_Andrew Tridgell1-1/+1
2010-03-08s4:LDB TDB index code - reintroduce accidentally removed code partMatthias Dieter Wallnöfer1-1/+3
This was removed by 95d726f3018ef5d249f89d56bde24b7ee0c24ecf. Sorry.
2010-03-08LDB:TDB backend - change counter variables to "unsigned" where appropriateMatthias Dieter Wallnöfer5-16/+19
2010-02-22LDB related spelling fixes.Brad Hards1-1/+1
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2010-02-14s4-ldb: use TYPESAFE_QSORT() in the rest of the ldb codeAndrew Tridgell1-1/+1
2010-02-10s4-ldb: update ldb_tdb to use new DLIST_ macrosAndrew Tridgell1-15/+3
(cherry picked from commit 6ede911654566a7e21ded70dacac68df3b6a1bca)
2010-01-31s4:ldb quiet down rootdse control registrationSimo Sorce1-1/+1
2010-01-30s4:ldb Fix check made conditional by mistakeSimo Sorce1-7/+11
2010-01-30s4:ldb add support for permissive modify controlSimo Sorce1-24/+96
2010-01-16s4-ldb: cope with bad ptr alignment in ldb_index.cAndrew Tridgell1-3/+3
We can't assume that a rec_ptr will come back from a tdb traverse with alignment sufficient for a pointer.
2010-01-08s4-ldb: improve error handling in indexing codeAndrew Tridgell2-5/+34
When we get an indexing failure we want a clear error message
2010-01-02s4-ldb: use the RELAX control to disable single value checking on replaceAndrew Tridgell3-5/+16
When using w2k3 linked attributes we are allowed to have multiple values on a single valued attribute. This happens when the other values are deleted. Setting the RELAX control tell the ldb-tdb backend to not check for this on replace, which means the caller has to check for single valued violations.
2009-12-16s4-ldb: show the OID of any unhandled critical controlsAndrew Tridgell1-4/+9
It isn't very useful just saying that a control is not supported, without saying which one is the problem Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-09s4-ldb: fixed nested searches inside ldb modulesAndrew Tridgell2-4/+12
We need to keep a search count in ltdb to allow for nesting of searches inside a module Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-09s4-ldb: added a missing ltdb_unlock_read()Andrew Tridgell1-0/+1
2009-11-20ldb:ldb_tdb backend/indexes - Outside APIMatthias Dieter Wallnöfer3-28/+30
- The outside API contains "DN" string arguments: Bad. Since in this way we fully rely on the outside calls regarding the right DN format. Solution: Use always a "struct ldb_dn" entry. Since this one is interchangeable and we can handle it in our preferred way.
2009-11-20ldb:ldb_tdb backend/indexes - DN comparisonMatthias Dieter Wallnöfer1-4/+5
- DN comparison: The function doesn't seem that efficient. I "upgraded" it a bit to be more powerful (added a second length check and do both before the string comparison)
2009-11-20s4-ldb: fixed an issue in rename/modify indexingAndrew Tridgell1-16/+16
When we rename or modify a record, we need to update the indexes at the same time. It is important that we use the DN of the actual message that is stored in the database to do this, not the DN that was passed in by the user. If the two differ in case then the index records needs to use the 'real' record DN, as index handling is currently case sensitive.
2009-10-27ldb:tdb backend - be also here more careful with the result valueMatthias Dieter Wallnöfer1-2/+2
"msg_delete_attribute" doesn't return an LDB result constant.
2009-10-27s4:ldb Add detail to failures in the indexing codeAndrew Bartlett1-2/+8
2009-10-25Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell1-6/+6
2009-10-25s4-ldb: allow for unescaped '=' in a index DNAndrew Tridgell1-4/+0
The ldb_dn_explode code normally enforces all special characters, including a '=', must be escaped. Unfortunately this conflicts with the ltdb index DNs, which for binary attributes may be base64 encoded. This allows a unescaped '=' as a special case for index DNs.
2009-10-25ldb:backend "connect" functions - convert result values to LDB constantsMatthias Dieter Wallnöfer1-6/+6
I think this is better since "ldb_backend_connect" and "ldb_connect" which propagate those values should return only LDB constants. Therefore a conversion (especially for "-1") would be needed.
2009-10-25s4-ldb: ensure DNs pass validity tests in indexingAndrew Tridgell1-0/+4
2009-10-25s4-ldb: fixed string length handling on index recordsAndrew Tridgell1-2/+2
2009-10-25s4-ldb: don't allow modifies outside a transaction.Andrew Tridgell1-0/+8
2009-10-25s4-ldb: fixed re-index during a complex transactionAndrew Tridgell1-10/+31
We may have modified index objects in the in-memory index tdb
2009-10-22s4-ldb: added a TODO about checking the indexlistAndrew Tridgell1-0/+2
2009-10-22s4-ldb: fixed some memory leaks in new indexing codeAndrew Tridgell1-1/+3
2009-10-22s4-ldb: don't try to index non-indexed attributesAndrew Tridgell1-0/+4
2009-10-22s4-ldb: ensure new dn_list elements are not owned by callerAndrew Tridgell1-1/+1
2009-10-22s4-ldb: over-allocate index records to save on realloc costsAndrew Tridgell1-1/+5
2009-10-22s4-ldb: fixed tdb error handling in ldb_index.cAndrew Tridgell1-3/+8
2009-10-22s4-ldb: delete empty index recordsAndrew Tridgell1-0/+8
2009-10-22s4-ldb: do more validation of idxptr listsAndrew Tridgell1-12/+31
2009-10-22s4-ldb: expose ltdb_err_map and ltdb_delete_noindexAndrew Tridgell2-2/+5
These will be used by ldb_index.c
2009-10-22s4-ldb: when taking a list intersection, the result can be as long as the ↵Andrew Tridgell1-1/+1
first list Intuitively you would think it couldn't be longer than the minimum of the two lists, but we are deliberately allowing for duplicates at this level of the indexing code, which means the result can be longer
2009-10-22s4-ldb: ldb indexing rewrite - part1Andrew Tridgell4-909/+739
This gets rid of the @IDXPTR approach to in-transaction indexing, instead using an in-memory tdb to hold index values during a transaction. This also cleans up a lot of the internal indexing logic, hopefully making it easier to understand. One of the big changes is in memory management, with a lot more use made of talloc tricks to avoid copying dn lists, and shortcuts used to avoid high intersection and union calculation costs. The overall result is that a re-provision on my laptop goes from 48s to a bit over 10s.
2009-10-21s4:ldb Put ltdb_private under the 'module'Andrew Bartlett1-0/+1
This helps track the memory better, as we can then place it under the partition hirarchy. Andrew Bartlett
2009-10-12s4:ldb_tdb - Revert some introduced "trivial gotos"Matthias Dieter Wallnöfer1-21/+11
I hope that this makes abartlet & simo happy again (consider mailing list).