mirror of
https://github.com/php/php-src.git
synced 2024-10-03 07:46:12 +00:00
67 lines
1.5 KiB
PHP
67 lines
1.5 KiB
PHP
--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
|