1LDB(3)                          [FIXME: manual]                         LDB(3)
2
3
4

NAME

6       ldb - A light-weight database library
7

SYNOPSIS

9       #include <ldb.h>
10

DESCRIPTION

12       ldb is a light weight embedded database library and API. With a
13       programming interface that is very similar to LDAP, ldb can store its
14       data either in a tdb(3) database or in a real LDAP database.
15
16       When used with the tdb backend ldb does not require any database
17       daemon. Instead, ldb function calls are processed immediately by the
18       ldb library, which does IO directly on the database, while allowing
19       multiple readers/writers using operating system byte range locks. This
20       leads to an API with very low overheads, often resulting in speeds of
21       more than 10x what can be achieved with a more traditional LDAP
22       architecture.
23
24       In a taxonomy of databases ldb would sit half way between key/value
25       pair databases (such as berkley db or tdb) and a full LDAP database.
26       With a structured attribute oriented API like LDAP and good indexing
27       capabilities, ldb can be used for quite sophisticated applications that
28       need a light weight database, without the administrative overhead of a
29       full LDAP installation.
30
31       Included with ldb are a number of useful command line tools for
32       manipulating a ldb database. These tools are similar in style to the
33       equivalent ldap command line tools.
34
35       In its default mode of operation with a tdb backend, ldb can also be
36       seen as a "schema-less LDAP". By default ldb does not require a schema,
37       which greatly reduces the complexity of getting started with ldb
38       databases. As the complexity of you application grows you can take
39       advantage of some of the optional schema-like attributes that ldb
40       offers, or you can migrate to using the full LDAP api while keeping
41       your exiting ldb code.
42
43       If you are new to ldb, then I suggest starting with the manual pages
44       for ldbsearch(1) and ldbedit(1), and experimenting with a local
45       database. Then I suggest you look at the ldb_connect(3) and
46       ldb_search(3) manual pages.
47

TOOLS

49       ·    ldbsearch(1) - command line ldb search utility
50
51       ·    ldbedit(1) - edit all or part of a ldb database using your
52           favourite editor
53
54       ·    ldbadd(1) - add records to a ldb database using LDIF formatted
55           input
56
57       ·    ldbdel(1) - delete records from a ldb database
58
59       ·    ldbmodify(1) - modify records in a ldb database using LDIF
60           formatted input
61

FUNCTIONS

63       ·    ldb_connect(3) - connect to a ldb backend
64
65       ·    ldb_search(3) - perform a database search
66
67       ·    ldb_add(3) - add a record to the database
68
69       ·    ldb_delete(3) - delete a record from the database
70
71       ·    ldb_modify(3) - modify a record in the database
72
73       ·    ldb_errstring(3) - retrieve extended error information from the
74           last operation
75
76       ·    ldb_ldif_write(3) - write a LDIF formatted message
77
78       ·    ldb_ldif_write_file(3) - write a LDIF formatted message to a file
79
80       ·    ldb_ldif_read(3) - read a LDIF formatted message
81
82       ·    ldb_ldif_read_free(3) - free the result of a ldb_ldif_read()
83
84       ·    ldb_ldif_read_file(3) - read a LDIF message from a file
85
86       ·    ldb_ldif_read_string(3) - read a LDIF message from a string
87
88       ·    ldb_msg_find_element(3) - find an element in a ldb_message
89
90       ·    ldb_val_equal_exact(3) - compare two ldb_val structures
91
92       ·    ldb_msg_find_val(3) - find an element by value
93
94       ·    ldb_msg_add_empty(3) - add an empty message element to a
95           ldb_message
96
97       ·    ldb_msg_add(3) - add a non-empty message element to a ldb_message
98
99       ·    ldb_msg_element_compare(3) - compare two ldb_message_element
100           structures
101
102       ·    ldb_msg_find_int(3) - return an integer value from a ldb_message
103
104       ·    ldb_msg_find_uint(3) - return an unsigned integer value from a
105           ldb_message
106
107       ·    ldb_msg_find_double(3) - return a double value from a ldb_message
108
109       ·    ldb_msg_find_string(3) - return a string value from a ldb_message
110
111       ·    ldb_set_alloc(3) - set the memory allocation function to be used
112           by ldb
113
114       ·    ldb_set_debug(3) - set a debug handler to be used by ldb
115
116       ·    ldb_set_debug_stderr(3) - set a debug handler for stderr output
117

AUTHOR

119       ldb was written by Andrew Tridgell[1].
120
121       If you wish to report a problem or make a suggestion then please see
122       the http://ldb.samba.org/ web site for current contact and maintainer
123       information.
124
125       ldb is released under the GNU Lesser General Public License version 2
126       or later. Please see the file COPYING for license details.
127

NOTES

129        1. Andrew Tridgell
130           http://samba.org/~tridge/
131
132
133
134[FIXME: source]                   01/11/2010                            LDB(3)
Impressum