]> granicus.if.org Git - php/commitdiff
Add test for bug #77047
authorAnatol Belski <ab@php.net>
Sun, 18 Nov 2018 10:52:00 +0000 (11:52 +0100)
committerAnatol Belski <ab@php.net>
Sun, 18 Nov 2018 10:52:00 +0000 (11:52 +0100)
ext/pgsql/tests/bug77047.phpt [new file with mode: 0644]

diff --git a/ext/pgsql/tests/bug77047.phpt b/ext/pgsql/tests/bug77047.phpt
new file mode 100644 (file)
index 0000000..2cbc4c3
--- /dev/null
@@ -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
+