mirror of
https://github.com/php/php-src.git
synced 2024-11-24 02:15:04 +08:00
1c850bfcca
This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
55 lines
3.1 KiB
Plaintext
Executable File
55 lines
3.1 KiB
Plaintext
Executable File
These functions build the foundation for accessing Berkeley DB style
|
|
databases.
|
|
|
|
This is a general abstraction layer for several file-based databases. As
|
|
such, functionality is limited to a common subset of features supported
|
|
by modern databases such as Sleepycat Software's DB2. (This is not to be
|
|
confused with IBM's DB2 software, which is supported through the ODBC
|
|
functions.)
|
|
|
|
This extensions allows to work with the following databases:
|
|
dbm DBM is the oldest (original) type of Berkeley DB style databases.
|
|
You should avoid it, if possible. We do not support the
|
|
compatibility functions built into DB2 and gdbm, because they are
|
|
only compatible on the source code level, but cannot handle the
|
|
original dbm format.
|
|
ndbm NDBM is a newer type and more flexible than dbm. It still has
|
|
most of the arbitrary limits of dbm (therefore it is deprecated).
|
|
gdbm GDBM is the GNU database manager.
|
|
db2 DB2 is Sleepycat Software's DB2. It's described as "a programmatic
|
|
toolkit that provides high-performance built-in database support
|
|
for both standalone and client/server applications.
|
|
db3 DB3 is Sleepycat Software's DB3.
|
|
db4 DB4 is Sleepycat Software's DB4. This is available since PHP 5.0.
|
|
cdb CDB is "a fast, reliable, lightweight package for creating and
|
|
reading constant databases." It is from the author of qmail and
|
|
can be found at http://cr.yp.to/cdb.html. Since it is constant,
|
|
we support only reading operations. And since PHP 4.3.0 we support
|
|
writing (not updating) through the internal cdb library.
|
|
cdb_make Since PHP 4.3.0 we support creation (not updating) of cdb files
|
|
when the bundled cdb library is used.
|
|
flatfile This is available since PHP 4.3.0 for compatibility with the
|
|
deprecated dbm extension only and should be avoided. However you
|
|
may use this where files were created in this format. That happens
|
|
when configure could not find any external library.
|
|
inifile This is available since PHP 4.3.3 to be able to modify php.ini
|
|
files from within PHP scripts. When working with ini files you
|
|
can pass arrays of the form array(0=>group,1=>value_name) or
|
|
strings of the form "[group]value_name" where group is optional.
|
|
As the functions dba_firstkey() and dba_nextkey() return string
|
|
representations of the key there is a new function dba_key_split()
|
|
available since PHP 5 which allows to convert the string keys into
|
|
array keys without losing FALSE.
|
|
qdbm This is available since PHP 5.0.0. The qdbm library can be loaded
|
|
from http://qdbm.sourceforge.net.
|
|
|
|
|
|
After configuring and compiling PHP you must execute the following test
|
|
from commandline:
|
|
php run-tests.php ext/dba.
|
|
This shows whether your combination of handlers works. Most problematic
|
|
are dbm and ndbm which conflict with many installations. The reason for
|
|
this is that on several systems these libraries are part of more than one
|
|
other library. The configuration test only prevents you from configuring
|
|
malfaunctioning single handlers but not combinations.
|