summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2018-11-18 11:52:00 +0100
committerAnatol Belski <ab@php.net>2018-11-18 11:52:00 +0100
commit282a63dace099b03bb97fa2be8e8e9a48b4d69db (patch)
tree7d3a58b65abb52aeec0e502e6a36e65433f65a7d
parent369c991d5cbb0e606ec1106697925d6d958cc4bf (diff)
downloadphp-git-282a63dace099b03bb97fa2be8e8e9a48b4d69db.tar.gz
Add test for bug #77047
-rw-r--r--ext/pgsql/tests/bug77047.phpt40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/pgsql/tests/bug77047.phpt b/ext/pgsql/tests/bug77047.phpt
new file mode 100644
index 0000000000..2cbc4c3dda
--- /dev/null
+++ b/ext/pgsql/tests/bug77047.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Bug #77047 pg_insert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type
+--SKIPIF--
+<?php
+include("skipif.inc");
+?>
+--FILE--
+<?php
+error_reporting(E_ALL);
+
+include 'config.inc';
+
+$db = pg_connect($conn_str);
+
+pg_query($db, "DROP TABLE IF EXISTS bug77047");
+pg_query($db, "CREATE TABLE bug77047 (
+ t TIME WITHOUT TIME ZONE
+ )");
+
+pg_insert($db, "bug77047", array("t" => "13:31"));
+pg_insert($db, "bug77047", array("t" => "13:31:13"));
+pg_insert($db, "bug77047", array("t" => "1:2:3"));
+pg_insert($db, "bug77047", array("t" => "xyz"));
+pg_insert($db, "bug77047", array("t" => NULL));
+pg_insert($db, "bug77047", array("t" => ""));
+
+$res = pg_query($db, "SELECT t FROM bug77047");
+while (false !== ($row = pg_fetch_row($res))) {
+ var_dump(array_pop($row));
+}
+
+?>
+--EXPECTF--
+Notice: pg_insert(): Expects NULL or string for PostgreSQL time field (t) in %s on line %d
+string(8) "13:31:00"
+string(8) "13:31:13"
+string(8) "01:02:03"
+NULL
+NULL
+