mirror of
https://github.com/php/php-src.git
synced 2024-09-24 11:27:28 +00:00
996f45b688
patch by: ewgraf at gmail dot com
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
|