mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
7d6f36aae3
ldb backends need to make sure they are not adding duplicate values to multi-valued attributes in ADD and MODIFY operations. Until now they have done this inefficiently using nested loops. Here we add common functions that deal with large numbers of values in O(n log n) time, but continue to use the simple methods for small numbers of values. These functions take a struct ldb_context pointer and an options flag arguments, although the ldb is not used, and only one bit of the options has meaning. This is to allow further patches to switch on schema-aware comparisons. This entails an ABI jump to add the two new functions. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> |
||
---|---|---|
.. | ||
base160.c | ||
ldb_sqlite3.c | ||
README | ||
schema | ||
trees.ps |
trees.ps contains an explanation of the Genealogical Representation of Trees in Databases which is being used in ldb_sqlite3. Note that we use fgID representation with 4 bytes per level, so we can represent 6.5E+08 subclasses of any object class. This should be adequate for our purposes. :-) The following document is the primary basis for the schema currently being used here: http://www.research.ibm.com/journal/sj/392/shi.html