Browse Source
- Fixed bug #47199 (pg_delete() fails on NULL)
- Fixed bug #47199 (pg_delete() fails on NULL)
patch by: ewgraf at gmail dot comexperimental/with_scalar_types
2 changed files with 77 additions and 6 deletions
@ -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 |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue