dialect_1.phpt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. --TEST--
  2. PDO_Firebird: support 1 sql dialect
  3. --EXTENSIONS--
  4. pdo_firebird
  5. --SKIPIF--
  6. <?php require('skipif.inc');
  7. if (strpos(getenv('PDO_FIREBIRD_TEST_DSN'), 'dialect=1')===false) {
  8. die('skip: PDO_FIREBIRD_TEST_DSN must contain a string "dialect=1"');
  9. }
  10. ?>
  11. --ENV--
  12. LSAN_OPTIONS=detect_leaks=0
  13. --FILE--
  14. <?php
  15. require("testdb.inc");
  16. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  17. $dbh->setAttribute(PDO::FB_ATTR_TIMESTAMP_FORMAT, '%Y-%m-%d %H:%M:%S');
  18. $sql =
  19. 'SELECT
  20. 1 as N,
  21. 2.0 as F,
  22. cast(0.76 as numeric(15, 2)) as K,
  23. cast(\'2019-06-12\' as date) as DT
  24. FROM RDB$DATABASE';
  25. $query = $dbh->prepare($sql);
  26. $query->execute();
  27. $row = $query->fetch(\PDO::FETCH_OBJ);
  28. var_dump($row->N);
  29. var_dump($row->F);
  30. var_dump($row->K);
  31. var_dump($row->DT);
  32. unset($query);
  33. $dbh->exec('RECREATE TABLE test_d1(K numeric(15, 2), DT date)');
  34. $sql='INSERT INTO test_d1(K, DT) values(?, ?)';
  35. $query = $dbh->prepare($sql);
  36. $query->execute([0.76, '2019-06-12']);
  37. unset($query);
  38. $sql='SELECT * FROM test_d1';
  39. $query = $dbh->prepare($sql);
  40. $query->execute();
  41. $row = $query->fetch(\PDO::FETCH_OBJ);
  42. var_dump($row->K);
  43. var_dump($row->DT);
  44. unset($query);
  45. unset($dbh);
  46. echo "done\n";
  47. ?>
  48. --EXPECT--
  49. int(1)
  50. string(8) "2.000000"
  51. string(4) "0.76"
  52. string(19) "2019-06-12 00:00:00"
  53. string(4) "0.76"
  54. string(19) "2019-06-12 00:00:00"
  55. done