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