dba_cdb_read.phpt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. --TEST--
  2. DBA CDB handler test (read only)
  3. --EXTENSIONS--
  4. dba
  5. --SKIPIF--
  6. <?php
  7. $handler = 'cdb_make';
  8. require_once __DIR__ .'/skipif.inc';
  9. ?>
  10. --FILE--
  11. <?php
  12. echo "database handler: cdb\n";
  13. $handler = 'cdb';
  14. $db_file = __DIR__.'/test.cdb';
  15. if (($db_file=dba_open($db_file, "r", $handler))!==FALSE) {
  16. // read key sequence
  17. $a = dba_firstkey($db_file);
  18. $count= 0;
  19. $keys = $a;
  20. while($a) {
  21. $a = dba_nextkey($db_file);
  22. $keys .= $a;
  23. $count++;
  24. }
  25. // display number of entries and key existence
  26. echo $count;
  27. for ($i=1; $i<8; $i++) {
  28. echo dba_exists($i, $db_file) ? "Y" : "N";
  29. }
  30. echo "\n=";
  31. echo dba_fetch(1, $db_file);
  32. echo dba_fetch(2, $db_file);
  33. echo dba_fetch(3, $db_file);
  34. echo dba_fetch(4, $db_file);
  35. echo "\n#";
  36. echo dba_fetch(1, $db_file);
  37. echo dba_fetch(1, $db_file);
  38. echo dba_fetch(2, $db_file);
  39. echo dba_fetch(2, $db_file);
  40. echo "\n?".$keys;
  41. // with skip = 0 dba_fetch must fetch the first result
  42. echo "\n#";
  43. $skip = array();
  44. for ($i=0; $i < strlen($keys); $i++) {
  45. $key = substr($keys, $i, 1);
  46. $skip[$key] = 0;
  47. echo dba_fetch($key, $db_file);
  48. }
  49. echo "\n=";
  50. for ($i=0; $i < strlen($keys); $i++) {
  51. $key = substr($keys, $i, 1);
  52. echo dba_fetch($key, $skip[$key], $db_file);
  53. $skip[$key]++;
  54. }
  55. dba_close($db_file);
  56. } else {
  57. echo "Error creating database\n";
  58. }
  59. ?>
  60. --EXPECT--
  61. database handler: cdb
  62. 7YYYYNNN
  63. =1234
  64. #1122
  65. ?1212314
  66. #1212314
  67. =1231324