note 93370 added to function.dba-handlers

From: Date: Sun, 06 Sep 2009 12:59:24 +0000
Subject: note 93370 added to function.dba-handlers
Groups: php.notes 
Request: Send a blank email to php-notes+get-160253@lists.php.net to get a copy of this message
A quick way to see which DBA handlers, without version numbers, that have been built into your version of MySQL on your system, use var_dump with dba_handler() as follows: <?php var_dump ( "dba_handlers()" ); ?> Many distros build in these DBA Handlers by default: array(5) { [0]=> string(3) "cdb" [1]=> string(8) "cdb_make" [2]=> string(3) "db4" [3]=> string(7) "inifile" [4]=> string(8) "flatfile" } using print and pre tags for readability: array(5) { [0]=> string(3) "cdb" [1]=> string(8) "cdb_make" [2]=> string(3) "db4" [3]=> string(7) "inifile" [4]=> string(8) "flatfile" } Note there are issues with dba_insert and dba_replace without building for either GDBM or QDBM. Here are two sources for the list of DBA handlers: (http://www.php-editors.com/php_manual/ref.dba.html and http://dewa03.unep.org/manuals/php_manual/ref.dba.html; ) CDBM & CDB compiles have issues with updates, you can read databases and write new database files, but you will be prevented from using dba_replace() and you may have issues with dba_insert(). NDBM & DBM are depreciated. DB2, DB3 & DB4 (Berkeley DB Sleepycat Software / Oracle) Have read online about issues with dba_replace() and db4 specifically. Make sure you test your installation for correct usage of all DBA functions. SDBM, TDB, TinyCDB were not listed on most of the sources I have found online. Those DBA handlers and the names of the developers were listed on the QDBM source forge site. How they interact with dba_replace() I do not know. You should be aware of their existence. GDBM and QDBM are the only other two DBA handlers I am aware of. Both are reported to allow PHP's dba_replace() function to work correctly so either may be an acceptable option. The following three restrictions of traditional DBM are not issues for either GDBM or QDBM: 1) a process can handle only one database; 2) the size of a key and a value is bounded; 3) a database file is sparse. DBA handler benchmark compares QDBM, GDBM, NDBM, SDBM, TDB, CDB, BDB, QDBM-BT-ASC, QDBM-BT-RND, BDB-BT-ASC, BDB-BT-RND can be found here: (http://qdbm.sourceforge.net/benchmark.pdf); QDBM seems to offer significant improvements in speed over the other DBA Handlers, test in your environment to verify the results. ---- Server IP: 69.147.83.197 Probable Submitter: 76.171.200.56 ---- Manual Page -- http://www.php.net/manual/en/function.dba-handlers.php Edit -- https://master.php.net/note/edit/93370 Del: integrated -- https://master.php.net/note/delete/93370/integrated Del: useless -- https://master.php.net/note/delete/93370/useless Del: bad code -- https://master.php.net/note/delete/93370/bad+code Del: spam -- https://master.php.net/note/delete/93370/spam Del: non-english -- https://master.php.net/note/delete/93370/non-english Del: in docs -- https://master.php.net/note/delete/93370/in+docs Del: other reasons-- https://master.php.net/note/delete/93370 Reject -- https://master.php.net/note/reject/93370 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#160253) next »