sixd Thu Jun 19 22:41:33 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/dba dba.c dba_db4.c /php-src/ext/dba/tests dba_db4.phpt Log: MFH: Fix bug #45266 (Fix build with BDB 4) Fix bug #45267 (Revert invalid assumption about BDB 4 locking; let DBA handle locking) Fix bug #45268 (Fix error callback prototype) http://cvs.php.net/viewvc.cgi/php-src/ext/dba/dba.c?r1=1.111.2.4.2.6&r2=1.111.2.4.2.7&diff_format=u Index: php-src/ext/dba/dba.c diff -u php-src/ext/dba/dba.c:1.111.2.4.2.6 php-src/ext/dba/dba.c:1.111.2.4.2.7 --- php-src/ext/dba/dba.c:1.111.2.4.2.6 Mon Dec 31 07:20:05 2007 +++ php-src/ext/dba/dba.c Thu Jun 19 22:41:33 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dba.c,v 1.111.2.4.2.6 2007/12/31 07:20:05 sebastian Exp $ */ +/* $Id: dba.c,v 1.111.2.4.2.7 2008/06/19 22:41:33 sixd Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -360,7 +360,7 @@ DBA_HND(db3, DBA_LOCK_ALL) /* No lock in lib */ #endif #if DBA_DB4 - DBA_HND(db4, DBA_LOCK_EXT) /* Locking done in library itself */ + DBA_HND(db4, DBA_LOCK_ALL) /* No lock in lib */ #endif #if DBA_INIFILE DBA_HND(inifile, DBA_STREAM_OPEN|DBA_LOCK_ALL|DBA_CAST_AS_FD) /* No lock in lib */ http://cvs.php.net/viewvc.cgi/php-src/ext/dba/dba_db4.c?r1=1.15.2.3.2.2&r2=1.15.2.3.2.3&diff_format=u Index: php-src/ext/dba/dba_db4.c diff -u php-src/ext/dba/dba_db4.c:1.15.2.3.2.2 php-src/ext/dba/dba_db4.c:1.15.2.3.2.3 --- php-src/ext/dba/dba_db4.c:1.15.2.3.2.2 Mon Dec 31 07:20:05 2007 +++ php-src/ext/dba/dba_db4.c Thu Jun 19 22:41:33 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dba_db4.c,v 1.15.2.3.2.2 2007/12/31 07:20:05 sebastian Exp $ */ +/* $Id: dba_db4.c,v 1.15.2.3.2.3 2008/06/19 22:41:33 sixd Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -36,7 +36,11 @@ #include <db.h> #endif -static void php_dba_db4_errcall_fcn(const char *errpfx, char *msg) +static void php_dba_db4_errcall_fcn( +#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3) + const DB_ENV *dbenv, +#endif + const char *errpfx, const char *msg) { TSRMLS_FETCH(); @@ -81,7 +85,6 @@ return FAILURE; /* not possible */ } - gmode |= DB_INIT_LOCK; if (info->flags & DBA_PERSISTENT) { gmode |= DB_THREAD; } @@ -91,10 +94,6 @@ filemode = Z_LVAL_PP(info->argv[0]); } -#ifdef DB_FCNTL_LOCKING - gmode |= DB_FCNTL_LOCKING; -#endif - if ((err=db_create(&dbp, NULL, 0)) == 0) { dbp->set_errcall(dbp, php_dba_db4_errcall_fcn); if ( http://cvs.php.net/viewvc.cgi/php-src/ext/dba/tests/dba_db4.phpt?r1=1.4.4.1&r2=1.4.4.1.2.1&diff_format=u Index: php-src/ext/dba/tests/dba_db4.phpt diff -u php-src/ext/dba/tests/dba_db4.phpt:1.4.4.1 php-src/ext/dba/tests/dba_db4.phpt:1.4.4.1.2.1 --- php-src/ext/dba/tests/dba_db4.phpt:1.4.4.1 Thu Dec 8 19:35:05 2005 +++ php-src/ext/dba/tests/dba_db4.phpt Thu Jun 19 22:41:33 2008 @@ -9,7 +9,6 @@ <?php $handler = 'db4'; require_once('test.inc'); - $lock_flag = ''; // lock in library require_once('dba_handler.inc'); ?> ===DONE=== @@ -18,7 +17,22 @@ 3NYNYY Content String 2 Content 2 replaced -Read during write: allowed +Read during write: not allowed +Content 2 replaced 2nd time +The 6th value +array(3) { + ["key number 6"]=> + string(13) "The 6th value" + ["key2"]=> + string(27) "Content 2 replaced 2nd time" + ["key5"]=> + string(23) "The last content string" +} +--NO-LOCK-- +3NYNYY +Content String 2 +Content 2 replaced +Read during write: not allowed Content 2 replaced 2nd time The 6th value array(3) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php