summaryrefslogtreecommitdiff
path: root/ext/pgsql/tests
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2010-11-06 17:43:25 +0000
committerFelipe Pena <felipe@php.net>2010-11-06 17:43:25 +0000
commit996f45b688b5d13b81a6bb8e33042a19efd7b130 (patch)
tree702dfa148a5da314ea0a1370335f675a244b937a /ext/pgsql/tests
parent7636635ec5d66ee422d2d2c34b4febb5b768d808 (diff)
downloadphp-git-996f45b688b5d13b81a6bb8e33042a19efd7b130.tar.gz
- Fixed bug #47199 (pg_delete() fails on NULL)
patch by: ewgraf at gmail dot com
Diffstat (limited to 'ext/pgsql/tests')
-rw-r--r--ext/pgsql/tests/bug47199.phpt67
1 files changed, 67 insertions, 0 deletions
diff --git a/ext/pgsql/tests/bug47199.phpt b/ext/pgsql/tests/bug47199.phpt
new file mode 100644
index 0000000000..5bfac0b1bb
--- /dev/null
+++ b/ext/pgsql/tests/bug47199.phpt
@@ -0,0 +1,67 @@
+--TEST--
+Bug #47199 (pg_delete fails on NULL)
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+?>
+--FILE--
+<?php
+
+require_once('config.inc');
+
+$dbh = pg_connect($conn_str);
+$tbl_name = 'test_47199';
+@pg_query("DROP TABLE $tbl_name");
+pg_query("CREATE TABLE $tbl_name (null_field INT, not_null_field INT NOT NULL)");
+
+pg_insert($dbh, $tbl_name, array('null_field' => null, 'not_null_field' => 1));
+pg_insert($dbh, $tbl_name, array('null_field' => null, 'not_null_field' => 2));
+
+var_dump(pg_fetch_all(pg_query('SELECT * FROM '. $tbl_name)));
+
+$query = pg_delete($dbh, $tbl_name, array('null_field' => NULL,'not_null_field' => 2), PGSQL_DML_STRING|PGSQL_DML_EXEC);
+
+echo $query, "\n";
+
+$query = pg_update($dbh, $tbl_name, array('null_field' => NULL, 'not_null_field' => 0), array('not_null_field' => 1, 'null_field' => ''), PGSQL_DML_STRING|PGSQL_DML_EXEC);
+
+echo $query, "\n";
+
+var_dump(pg_fetch_all(pg_query('SELECT * FROM '. $tbl_name)));
+
+@pg_query("DROP TABLE $tbl_name");
+pg_close($dbh);
+
+echo PHP_EOL."Done".PHP_EOL;
+
+?>
+--EXPECTF--
+array(2) {
+ [0]=>
+ array(2) {
+ ["null_field"]=>
+ NULL
+ ["not_null_field"]=>
+ string(1) "1"
+ }
+ [1]=>
+ array(2) {
+ ["null_field"]=>
+ NULL
+ ["not_null_field"]=>
+ string(1) "2"
+ }
+}
+DELETE FROM test_47199 WHERE null_field IS NULL AND not_null_field=2;
+UPDATE test_47199 SET null_field=NULL,not_null_field=0 WHERE not_null_field=1 AND null_field IS NULL;
+array(1) {
+ [0]=>
+ array(2) {
+ ["null_field"]=>
+ NULL
+ ["not_null_field"]=>
+ string(1) "0"
+ }
+}
+
+Done \ No newline at end of file