This module is EXPERIMENTAL. That means, that the behaviour of these functions, these function names, in concreto ANYTHING documented here can change in a future release of PHP WITHOUT NOTICE. Be warned, and use this module at your own risk.
db++, made by the german company Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface it is not really a SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra then SQL is.
Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.
You need the developement libraries and header files included in every db++ installaion archive. Concept asa provides additional documentation and Demo versions of db++ for Linux, some other UNIX versions and Windows95/NT.
Creation and installation of this extension requires the db++ client libraries and header files to be installed on your system. You have to run configure with option --with-dbplus to build this extension.
configure looks for the client libraries and header files under the default pathes /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path.
Table 1. DB++ Error Codes
|PHP Constant||db++ constant||meaning|
|DBPLUS_ERR_NOERR||ERR_NOERR||Null error condition|
|DBPLUS_ERR_DUPLICATE||ERR_DUPLICATE||Tried to insert a duplicate tuple|
|DBPLUS_ERR_EOSCAN||ERR_EOSCAN||End of scan from rget()|
|DBPLUS_ERR_EMPTY||ERR_EMPTY||Relation is empty (server)|
|DBPLUS_ERR_CLOSE||ERR_CLOSE||The server can't close|
|DBPLUS_ERR_WLOCKED||ERR_WLOCKED||The record is write locked|
|DBPLUS_ERR_LOCKED||ERR_LOCKED||Relation was already locked|
|DBPLUS_ERR_NOLOCK||ERR_NOLOCK||Relation cannot be locked|
|DBPLUS_ERR_READ||ERR_READ||Read error on relation|
|DBPLUS_ERR_WRITE||ERR_WRITE||Write error on relation|
|DBPLUS_ERR_CREATE||ERR_CREATE||Create() system call failed|
|DBPLUS_ERR_LSEEK||ERR_LSEEK||Lseek() system call failed|
|DBPLUS_ERR_LENGTH||ERR_LENGTH||Tuple exceeds maximum length|
|DBPLUS_ERR_OPEN||ERR_OPEN||Open() system call failed|
|DBPLUS_ERR_WOPEN||ERR_WOPEN||Relation already opened for writing|
|DBPLUS_ERR_MAGIC||ERR_MAGIC||File is not a relation|
|DBPLUS_ERR_VERSION||ERR_VERSION||File is a very old relation|
|DBPLUS_ERR_PGSIZE||ERR_PGSIZE||Relation uses a different page size|
|DBPLUS_ERR_CRC||ERR_CRC||Invalid crc in the superpage|
|DBPLUS_ERR_PIPE||ERR_PIPE||Piped relation requires lseek()|
|DBPLUS_ERR_NIDX||ERR_NIDX||Too many secondary indices|
|DBPLUS_ERR_MALLOC||ERR_MALLOC||Malloc() call failed|
|DBPLUS_ERR_NUSERS||ERR_NUSERS||Error use of max users|
|DBPLUS_ERR_PREEXIT||ERR_PREEXIT||Caused by invalid usage|
|DBPLUS_ERR_ONTRAP||ERR_ONTRAP||Caused by a signal|
|DBPLUS_ERR_PREPROC||ERR_PREPROC||Error in the preprocessor|
|DBPLUS_ERR_DBPARSE||ERR_DBPARSE||Error in the parser|
|DBPLUS_ERR_DBRUNERR||ERR_DBRUNERR||Run error in db|
|DBPLUS_ERR_DBPREEXIT||ERR_DBPREEXIT||Exit condition caused by prexit() * procedure|
|DBPLUS_ERR_WAIT||ERR_WAIT||Wait a little (Simple only)|
|DBPLUS_ERR_CORRUPT_TUPLE||ERR_CORRUPT_TUPLE||A client sent a corrupt tuple|
|DBPLUS_ERR_WARNING0||ERR_WARNING0||The Simple routines encountered a non fatal error which was corrected|
|DBPLUS_ERR_PANIC||ERR_PANIC||The server should not really die but after a disaster send ERR_PANIC to all its clients|
|DBPLUS_ERR_FIFO||ERR_FIFO||Can't create a fifo|
|DBPLUS_ERR_RESTRICTED||ERR_RESTRICTED||Only two users|
|DBPLUS_ERR_USER||ERR_USER||An error in the use of the library by an application programmer|