1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-14 20:23:54 +03:00
Files
samba-mirror/source/lib/ldb/man/man3/ldb.3

166 lines
4.8 KiB
Groff

.TH "ldb" "3" "May 2004" "" ""
.SH "NAME"
ldb \- A light-weight database library
.PP
.SH "SYNOPSIS"
.PP
\fB#include <ldb\&.h>\fP
.PP
.SH "DESCRIPTION"
.PP
ldb is a light weight embedded database library and API\&. With a
programming interface that is very similar to LDAP, ldb can store its
data either in a tdb(3) database or in a real LDAP database\&.
.PP
When used with the tdb backend ldb does not require any database
daemon\&. Instead, ldb function calls are processed immediately by the
ldb library, which does IO directly on the database, while allowing
multiple readers/writers using operating system byte range locks\&. This
leads to an API with very low overheads, often resulting in speeds of
more than 10x what can be achieved with a more traditional LDAP
architecture\&.
.PP
It a taxonomy of databases ldb would sit half way between key/value
pair databases (such as berkley db or tdb) and a full LDAP
database\&. With a structured attribute oriented API like LDAP and good
indexing capabilities, ldb can be used for quite sophisticated
applications that need a light weight database, without the
administrative overhead of a full LDAP installation\&.
.PP
Included with ldb are a number of useful command line tools for
manipulating a ldb database\&. These tools are similar in style to the
equivalent ldap command line tools\&.
.PP
In its default mode of operation with a tdb backend, ldb can also be
seen as a "schema-less LDAP"\&. By default ldb does not require a
schema, which greatly reduces the complexity of getting started with
ldb databases\&. As the complexity of you application grows you can take
advantage of some of the optional schema-like attributes that ldb
offers, or you can migrate to using the full LDAP api while keeping
your exiting ldb code\&.
.PP
If you are new to ldb, then I suggest starting with the manual pages
for ldbsearch(1) and ldbedit(1), and experimenting with a local
database\&. Then I suggest you look at the ldb_connect(3) and
ldb_search(3) manual pages\&.
.PP
.SH "INDEX"
.PP
.IP
.IP "\fBldbsearch(1)\fP"
command line ldb search utility
.IP
.IP "\fBldbedit(1)\fP"
edit all or part of a ldb databse using your
favourite editor
.IP
.IP "\fBldbedit(1)\fP"
edit all or part of a ldb databse using your
favourite editor
.IP
.IP "\fBldbadd(1)\fP"
add records to a ldb database using LDIF formatted input
.IP
.IP "\fBldbdel(1)\fP"
delete records from a ldb database
.IP
.IP "\fBldbmodify(1)\fP"
modify records in a ldb database using LDIF
formatted input
.IP
.IP "\fBldb_connect(3)\fP"
connect to a ldb backend
.IP
.IP "\fBldb_close(3)\fP"
close a connection to a ldb backend
.IP
.IP "\fBldb_search(3)\fP"
perform a database search
.IP
.IP "\fBldb_search_free(3)\fP"
free the results of a ldb_search
.IP
.IP "\fBldb_add(3)\fP"
add a record to the database
.IP
.IP "\fBldb_delete(3)\fP"
delete a record from the database
.IP
.IP "\fBldb_modify(3)\fP"
modify a record in the database
.IP
.IP "\fBldb_errstring(3)\fP"
retrieve extended error information from the
last operation
.IP
.IP "\fBldb_ldif_write(3)\fP"
write a LDIF formatted message
.IP
.IP "\fBldb_ldif_write_\fB3\fP\fP"
write a LDIF formatted message to a file
.IP
.IP "\fBldb_ldif_read(3)\fP"
read a LDIF formatted message
.IP
.IP "\fBldb_ldif_read_free(3)\fP"
free the result of a ldb_ldif_read()
.IP
.IP "\fBldb_ldif_read_\fB3\fP\fP"
read a LDIF message from a file
.IP
.IP "\fBldb_ldif_read_string(3)\fP"
read a LDIF message from a string
.IP
.IP "\fBldb_msg_find_element(3)\fP"
find an element in a ldb_message
.IP
.IP "\fBldb_val_equal_exact(3)\fP"
compare two ldb_val structures
.IP
.IP "\fBldb_msg_find_val(3)\fP"
find an element by value
.IP
.IP "\fBldb_msg_add_empty(3)\fP"
add an empty message element to a ldb_message
.IP
.IP "\fBldb_msg_add(3)\fP"
add a non-empty message element to a ldb_message
.IP
.IP "\fBldb_msg_element_compare(3)\fP"
compare two ldb_message_element structures
.IP
.IP "\fBldb_msg_find_int(3)\fP"
return an integer value from a ldb_message
.IP
.IP "\fBldb_msg_find_uint(3)\fP"
return an unsigned integer value from a ldb_message
.IP
.IP "\fBldb_msg_find_double(3)\fP"
return a double value from a ldb_message
.IP
.IP "\fBldb_msg_find_string(3)\fP"
return a string value from a ldb_message
.IP
.IP "\fBldb_set_alloc(3)\fP"
set the memory allocation function to be used by ldb
.IP
.IP "\fBldb_set_debug(3)\fP"
set a debug handler to be used by ldb
.IP
.IP "\fBldb_set_debug_stderr(3)\fP"
set a debug handler for stderr output
.IP
.PP
.SH "AUTHOR"
.PP
ldb was written by Andrew Tridgell
http://samba\&.org/~tridge/
.PP
If you wish to report a problem or make a suggestion then please see
the http://ldb\&.samba\&.org/ web site for
current contact and maintainer information\&.
.PP
ldb is released under the GNU Lesser General Public License version 2
or later\&. Please see the file COPYING for license details\&.
.PP