mirror of
https://github.com/php/php-src.git
synced 2024-10-19 23:44:13 +00:00
8563497a94
- Fixed: . Memory leak in pg_delete() when using PGSQL_DML_STRING. . Bug #24679 (pg_insert problem!) . Bug #35996 (pg_meta_data should take the schema into account) . Bug #40808 (pg_insert problem) . Bug #42078 (pg_meta_data mix tables metadata from different schemas) - Improved: . Error messages - Added: . Tests
87 lines
2.2 KiB
PHP
87 lines
2.2 KiB
PHP
--TEST--
|
|
PostgreSQL pg_delete() - basic test using schema
|
|
--SKIPIF--
|
|
<?php include("skipif.inc"); ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
include('config.inc');
|
|
|
|
$conn = pg_connect($conn_str);
|
|
|
|
pg_query('CREATE SCHEMA phptests');
|
|
|
|
pg_query('CREATE TABLE foo (id INT, id2 INT)');
|
|
pg_query('CREATE TABLE phptests.foo (id INT, id2 INT)');
|
|
|
|
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 1));
|
|
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 2));
|
|
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 2));
|
|
pg_insert($conn, 'foo', array('id' => 3, 'id2' => 3));
|
|
|
|
pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 1));
|
|
pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 2));
|
|
pg_insert($conn, 'phptests.foo', array('id' => 2, 'id2' => 3));
|
|
pg_insert($conn, 'phptests.foo', array('id' => 2, 'id2' => 3));
|
|
|
|
pg_delete($conn, 'foo', array('id' => 1, 'id2' => 0));
|
|
pg_delete($conn, 'foo', array('id' => 1, 'id2' => 2));
|
|
var_dump(pg_delete($conn, 'foo', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
|
|
|
pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 1));
|
|
pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 3));
|
|
var_dump(pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 3), PGSQL_DML_STRING));
|
|
|
|
var_dump(pg_fetch_all(pg_query('SELECT * FROM foo')));
|
|
var_dump(pg_fetch_all(pg_query('SELECT * FROM phptests.foo')));
|
|
|
|
/* Inexistent */
|
|
pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2));
|
|
var_dump(pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
|
|
|
pg_query('DROP TABLE foo');
|
|
pg_query('DROP TABLE phptests.foo');
|
|
pg_query('DROP SCHEMA phptests');
|
|
|
|
?>
|
|
--EXPECTF--
|
|
string(37) "DELETE FROM foo WHERE id=1 AND id2=2;"
|
|
string(46) "DELETE FROM phptests.foo WHERE id=2 AND id2=3;"
|
|
array(2) {
|
|
[0]=>
|
|
array(2) {
|
|
["id"]=>
|
|
string(1) "1"
|
|
["id2"]=>
|
|
string(1) "1"
|
|
}
|
|
[1]=>
|
|
array(2) {
|
|
["id"]=>
|
|
string(1) "3"
|
|
["id2"]=>
|
|
string(1) "3"
|
|
}
|
|
}
|
|
array(2) {
|
|
[0]=>
|
|
array(2) {
|
|
["id"]=>
|
|
string(1) "1"
|
|
["id2"]=>
|
|
string(1) "1"
|
|
}
|
|
[1]=>
|
|
array(2) {
|
|
["id"]=>
|
|
string(1) "1"
|
|
["id2"]=>
|
|
string(1) "2"
|
|
}
|
|
}
|
|
|
|
Warning: pg_delete(): Table 'bar' doesn't exists in %s on line %d
|
|
|
|
Warning: pg_delete(): Table 'bar' doesn't exists in %s on line %d
|
|
bool(false)
|