helly Wed Nov 6 06:18:00 2002 EDT
Modified files:
/php4/ext/dba/tests dba_cdb.phpt dba_db2.phpt dba_db3.phpt
dba_dbm.phpt dba_flatfile.phpt dba_gdbm.phpt
dba_handler.inc dba_ndbm.phpt test.inc
Log:
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.
Index: php4/ext/dba/tests/dba_cdb.phpt
diff -u php4/ext/dba/tests/dba_cdb.phpt:1.3 php4/ext/dba/tests/dba_cdb.phpt:1.4
--- php4/ext/dba/tests/dba_cdb.phpt:1.3 Mon Nov 4 12:53:04 2002
+++ php4/ext/dba/tests/dba_cdb.phpt Wed Nov 6 06:18:00 2002
@@ -17,3 +17,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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 newline at end of file
Index: php4/ext/dba/tests/dba_db2.phpt
diff -u php4/ext/dba/tests/dba_db2.phpt:1.1 php4/ext/dba/tests/dba_db2.phpt:1.2
--- php4/ext/dba/tests/dba_db2.phpt:1.1 Fri Nov 1 09:23:23 2002
+++ php4/ext/dba/tests/dba_db2.phpt Wed Nov 6 06:18:00 2002
@@ -16,3 +16,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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 newline at end of file
Index: php4/ext/dba/tests/dba_db3.phpt
diff -u php4/ext/dba/tests/dba_db3.phpt:1.1 php4/ext/dba/tests/dba_db3.phpt:1.2
--- php4/ext/dba/tests/dba_db3.phpt:1.1 Fri Nov 1 09:23:23 2002
+++ php4/ext/dba/tests/dba_db3.phpt Wed Nov 6 06:18:00 2002
@@ -16,3 +16,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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 newline at end of file
Index: php4/ext/dba/tests/dba_dbm.phpt
diff -u php4/ext/dba/tests/dba_dbm.phpt:1.1 php4/ext/dba/tests/dba_dbm.phpt:1.2
--- php4/ext/dba/tests/dba_dbm.phpt:1.1 Sun Nov 3 15:17:00 2002
+++ php4/ext/dba/tests/dba_dbm.phpt Wed Nov 6 06:18:00 2002
@@ -16,3 +16,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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"
+}
Index: php4/ext/dba/tests/dba_flatfile.phpt
diff -u php4/ext/dba/tests/dba_flatfile.phpt:1.1
php4/ext/dba/tests/dba_flatfile.phpt:1.2
--- php4/ext/dba/tests/dba_flatfile.phpt:1.1 Tue Nov 5 23:16:18 2002
+++ php4/ext/dba/tests/dba_flatfile.phpt Wed Nov 6 06:18:00 2002
@@ -16,3 +16,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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 newline at end of file
Index: php4/ext/dba/tests/dba_gdbm.phpt
diff -u php4/ext/dba/tests/dba_gdbm.phpt:1.1 php4/ext/dba/tests/dba_gdbm.phpt:1.2
--- php4/ext/dba/tests/dba_gdbm.phpt:1.1 Fri Nov 1 09:23:23 2002
+++ php4/ext/dba/tests/dba_gdbm.phpt Wed Nov 6 06:18:00 2002
@@ -16,3 +16,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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 newline at end of file
Index: php4/ext/dba/tests/dba_handler.inc
diff -u php4/ext/dba/tests/dba_handler.inc:1.1 php4/ext/dba/tests/dba_handler.inc:1.2
--- php4/ext/dba/tests/dba_handler.inc:1.1 Fri Nov 1 09:23:23 2002
+++ php4/ext/dba/tests/dba_handler.inc Wed Nov 6 06:18:00 2002
@@ -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);
@@ -25,5 +25,37 @@
dba_close($db_file);
} 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);
}
?>
Index: php4/ext/dba/tests/dba_ndbm.phpt
diff -u php4/ext/dba/tests/dba_ndbm.phpt:1.1 php4/ext/dba/tests/dba_ndbm.phpt:1.2
--- php4/ext/dba/tests/dba_ndbm.phpt:1.1 Fri Nov 1 09:23:23 2002
+++ php4/ext/dba/tests/dba_ndbm.phpt Wed Nov 6 06:18:00 2002
@@ -16,3 +16,14 @@
3NYNYY
Content String 2
Content 2 replaced
+Read during write permitted
+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 newline at end of file
Index: php4/ext/dba/tests/test.inc
diff -u php4/ext/dba/tests/test.inc:1.3 php4/ext/dba/tests/test.inc:1.4
--- php4/ext/dba/tests/test.inc:1.3 Sun Nov 3 10:22:32 2002
+++ php4/ext/dba/tests/test.inc Wed Nov 6 06:18:00 2002
@@ -1,5 +1,5 @@
<?php
- $db_file = dirname(__FILE__).'/test0.dbm';
+ $db_filename = $db_file = dirname(__FILE__).'/test0.dbm';
$handler = dba_handlers();
// CDB currently supports only reading
if ($handler[0]=='cdb') {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php