diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-03-31 06:45:39 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2004-03-31 06:45:39 +0000 |
commit | 58d50a614f1b4a3fc6b60ad5f777d987263fe54f (patch) | |
tree | 6fc8efe5b4cc66f6e86ad6c11969d000860a253b /source4/lib/ldb/docs/design.txt | |
parent | 4aa785b1b23d0add18d5fec6fb6c5b37a6feecac (diff) | |
download | samba-58d50a614f1b4a3fc6b60ad5f777d987263fe54f.tar.gz samba-58d50a614f1b4a3fc6b60ad5f777d987263fe54f.tar.bz2 samba-58d50a614f1b4a3fc6b60ad5f777d987263fe54f.zip |
make a more recent snapshot of ldb available to interested
people. Note that I decided to make it LGPL.
ldb is not finished yet, but enough of it is there for people to get
an idea of what it does, and quite a few simple tests work
(This used to be commit dc6f41f9e777d37f883303ddef0d96840d80f78e)
Diffstat (limited to 'source4/lib/ldb/docs/design.txt')
-rw-r--r-- | source4/lib/ldb/docs/design.txt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/source4/lib/ldb/docs/design.txt b/source4/lib/ldb/docs/design.txt new file mode 100644 index 0000000000..0bb278b5b4 --- /dev/null +++ b/source4/lib/ldb/docs/design.txt @@ -0,0 +1,41 @@ +The list of indexed fields +-------------------------- + +dn=@INDEXLIST + list of field names that are indexed + + contains fields of type @IDXATTR which contain attriute names + of indexed fields + + +Data records +------------ + +for each user record in the db there is: + main record + key: DN=dn + data: packed attribute/value list + + a index record for each indexed field in the record + + +Index Records +------------- + +The index records contain the list of dn's that contain records +matching the index key + +All index records are of the form: + dn=@INDEX:field:value + +and contain fields of type @IDX which are the dns of the records +that have that value for some attribute + + +Search Expressions +------------------ + +Very similar to LDAP search expressions, but does not allow ~=, <= or >= + + attrib0 := (field=value) + attrib := attrib0 | (attrib&&attrib) | (attrib||attrib) | !attrib |