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 */
#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();
return FAILURE; /* not possible */
}
- gmode |= DB_INIT_LOCK;
if (info->flags & DBA_PERSISTENT) {
gmode |= DB_THREAD;
}
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 (
<?php
$handler = 'db4';
require_once('test.inc');
- $lock_flag = ''; // lock in library
require_once('dba_handler.inc');
?>
===DONE===
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) {