summaryrefslogtreecommitdiff
path: root/ext/dba/tests/dba_handler.inc
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2002-11-06 11:18:00 +0000
committerMarcus Boerger <helly@php.net>2002-11-06 11:18:00 +0000
commitc7b7cf17c2656d8ab169aa66291005a0b6b2aa08 (patch)
treec180e18acdb93cefa9b8c2674ce1290456aa05f4 /ext/dba/tests/dba_handler.inc
parent7fb5e192fb8af851a12006bb2a72a6334a52e798 (diff)
downloadphp-git-c7b7cf17c2656d8ab169aa66291005a0b6b2aa08.tar.gz
check whether a written databse can be appended and if read during write
is permitted #i use ksort for the result here since some dbm libraries sort their result #but that is nothing to test here.
Diffstat (limited to 'ext/dba/tests/dba_handler.inc')
-rw-r--r--ext/dba/tests/dba_handler.inc34
1 files changed, 33 insertions, 1 deletions
diff --git a/ext/dba/tests/dba_handler.inc b/ext/dba/tests/dba_handler.inc
index 393ffef89b..e8bb97c1a0 100644
--- a/ext/dba/tests/dba_handler.inc
+++ b/ext/dba/tests/dba_handler.inc
@@ -1,6 +1,6 @@
<?php
echo "database handler: $handler\n";
- if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
+ if (($db_file=dba_open($db_filename, "n", $handler))!==FALSE) {
dba_insert("key1", "Content String 1", $db_file);
dba_insert("key2", "Content String 2", $db_file);
dba_insert("key3", "Third Content String", $db_file);
@@ -26,4 +26,36 @@
} else {
echo "Error creating database\n";
}
+ $db_writer=dba_open($db_filename, "w", $handler);
+ if (($dba_reader=dba_open($db_filename, "r", $handler))===false) {
+ echo "Cannot read during write operation\n";
+ } else {
+ echo "Read during write permitted\n";
+ }
+ if ($db_writer!==FALSE) {
+ dba_insert("key number 6", "The 6th value", $db_writer);
+ dba_replace("key2", "Content 2 replaced 2nd time", $db_writer);
+ dba_delete("key4", $db_writer);
+ echo dba_fetch("key2", $db_writer)."\n";
+ echo dba_fetch("key number 6", $db_writer)."\n";
+ dba_close($db_writer); // when the writer is open at least db3 would fail because of buffered io.
+ } else {
+ die("Error reopening database\n");
+ }
+ if (($db_file=dba_open($db_filename, "r", $handler))!==FALSE) {
+ $key = dba_firstkey($db_file);
+ $res = array();
+ while($key) {
+ $res[$key] = dba_fetch($key, $db_file);
+ $key = dba_nextkey($db_file);
+ }
+ ksort($res);
+ var_dump($res);
+ dba_close($db_file);
+ } else {
+ echo "Error reading database\n";
+ }
+ if ($dba_reader) {
+ dba_close($dba_reader);
+ }
?> \ No newline at end of file