mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
ext/pgsql: Refactor tests (#12608)
This makes the tests independent of each other and allows them to be run in parallel. Co-authored-by: Gina Peter Banyard <girgias@php.net>
This commit is contained in:
parent
6537811527
commit
c15988aab3
88 changed files with 873 additions and 412 deletions
|
@ -3,12 +3,12 @@ PostgreSQL version
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// Get postgresql version for easier debugging.
|
// Get postgresql version for easier debugging.
|
||||||
// Execute run-test.php with --keep-all to get version string in 00version.log or 00version.out
|
// Execute run-test.php with --keep-all to get version string in 00version.log or 00version.out
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
var_dump(pg_version($db));
|
var_dump(pg_version($db));
|
||||||
|
|
|
@ -3,20 +3,20 @@ PostgreSQL create db
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// create test table
|
// create test table
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = 'table_01createdb';
|
||||||
|
$table_name_92 = 'table_01createdb_92';
|
||||||
|
$view_name = "view_01createdb";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
if (!($q = @pg_query($db, "SELECT * FROM ".$table_name)) || !@pg_num_rows($q))
|
if (!($q = @pg_query($db, "SELECT * FROM ".$table_name)) || !@pg_num_rows($q))
|
||||||
{
|
{
|
||||||
pg_query($db,$table_def); // Create table here
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)"); // Create table here
|
||||||
for ($i=0; $i < $num_test_record; $i++) {
|
|
||||||
pg_query($db,"INSERT INTO ".$table_name." VALUES ($i, 'ABC');");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
echo pg_last_error()."\n";
|
echo pg_last_error()."\n";
|
||||||
|
@ -25,18 +25,28 @@ else {
|
||||||
$v = pg_version($db);
|
$v = pg_version($db);
|
||||||
if (version_compare($v['server'], '9.2', '>=') && (!($q = @pg_query($db, "SELECT * FROM ".$table_name_92)) || !@pg_num_rows($q)))
|
if (version_compare($v['server'], '9.2', '>=') && (!($q = @pg_query($db, "SELECT * FROM ".$table_name_92)) || !@pg_num_rows($q)))
|
||||||
{
|
{
|
||||||
pg_query($db,$table_def_92); // Create table here
|
pg_query($db, "CREATE TABLE {$table_name_92} (textary text[], jsn json)"); // Create table here
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
echo pg_last_error()."\n";
|
echo pg_last_error()."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create view here
|
// Create view here
|
||||||
pg_query($db,$view_def);
|
pg_query($db, "CREATE VIEW {$view_name} AS SELECT * FROM {$table_name}");
|
||||||
|
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = 'table_01createdb';
|
||||||
|
$table_name_92 = 'table_01createdb_92';
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name} cascade");
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name_92} cascade");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -3,12 +3,12 @@ PostgreSQL connection
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// connection function tests
|
// connection function tests
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_pconnect($conn_str);
|
$db = pg_pconnect($conn_str);
|
||||||
var_dump($db);
|
var_dump($db);
|
||||||
|
|
|
@ -3,13 +3,16 @@ PostgreSQL sync query
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_03sync_query";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} DEFAULT VALUES");
|
||||||
|
|
||||||
$result = pg_query($db, "SELECT * FROM ".$table_name.";");
|
$result = pg_query($db, "SELECT * FROM ".$table_name.";");
|
||||||
if (!($rows = pg_num_rows($result)))
|
if (!($rows = pg_num_rows($result)))
|
||||||
|
@ -83,7 +86,7 @@ if (function_exists('pg_result_error_field')) {
|
||||||
pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
||||||
pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -134,6 +137,14 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_03sync_query";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
Argument #3 must be greater than or equal to 0
|
Argument #3 must be greater than or equal to 0
|
||||||
Argument #3 must be less than the number of fields for this result set
|
Argument #3 must be less than the number of fields for this result set
|
||||||
|
|
|
@ -3,13 +3,16 @@ PostgreSQL async query
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_04async_query";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} DEFAULT VALUES");
|
||||||
|
|
||||||
if (!pg_send_query($db, "SELECT * FROM ".$table_name.";")) {
|
if (!pg_send_query($db, "SELECT * FROM ".$table_name.";")) {
|
||||||
echo "pg_send_query() error\n";
|
echo "pg_send_query() error\n";
|
||||||
|
@ -46,7 +49,7 @@ for ($i=0; $i < $rows; $i++)
|
||||||
pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
||||||
pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -63,5 +66,13 @@ pg_free_result($result);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_04async_query";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -3,26 +3,26 @@ PostgreSQL large object
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
echo "create/write/close LO\n";
|
echo "create/write/close LO\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$oid = pg_lo_create ($db);
|
$oid = pg_lo_create ($db);
|
||||||
if (!$oid) echo ("pg_lo_create() error\n");
|
if (!$oid) echo ("pg_lo_create() error\n");
|
||||||
$handle = pg_lo_open ($db, $oid, "w");
|
$handle = pg_lo_open ($db, $oid, "w");
|
||||||
if (!$handle) echo ("pg_lo_open() error\n");
|
if (!$handle) echo ("pg_lo_open() error\n");
|
||||||
pg_lo_write ($handle, "large object data");
|
pg_lo_write ($handle, "large object data");
|
||||||
pg_lo_close ($handle);
|
pg_lo_close ($handle);
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "open/read/tell/seek/close LO\n";
|
echo "open/read/tell/seek/close LO\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$handle = pg_lo_open ($db, $oid, "w");
|
$handle = pg_lo_open ($db, $oid, "w");
|
||||||
var_dump(pg_lo_read($handle, 5));
|
var_dump(pg_lo_read($handle, 5));
|
||||||
var_dump(pg_lo_tell($handle));
|
var_dump(pg_lo_tell($handle));
|
||||||
|
@ -34,10 +34,10 @@ var_dump(pg_lo_read($handle));
|
||||||
var_dump(pg_lo_seek($handle, -4, PGSQL_SEEK_END)); /* Seek from the end */
|
var_dump(pg_lo_seek($handle, -4, PGSQL_SEEK_END)); /* Seek from the end */
|
||||||
var_dump(pg_lo_read($handle));
|
var_dump(pg_lo_read($handle));
|
||||||
pg_lo_close($handle);
|
pg_lo_close($handle);
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "open/read_all/close LO\n";
|
echo "open/read_all/close LO\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$handle = pg_lo_open ($db, $oid, "w");
|
$handle = pg_lo_open ($db, $oid, "w");
|
||||||
/* Will write to stdout */
|
/* Will write to stdout */
|
||||||
$bytesWritten = pg_lo_read_all($handle);
|
$bytesWritten = pg_lo_read_all($handle);
|
||||||
|
@ -45,39 +45,39 @@ echo "\n";
|
||||||
var_dump($bytesWritten);
|
var_dump($bytesWritten);
|
||||||
if (pg_last_error($db)) echo "pg_lo_read_all() error\n".pg_last_error();
|
if (pg_last_error($db)) echo "pg_lo_read_all() error\n".pg_last_error();
|
||||||
pg_lo_close($handle);
|
pg_lo_close($handle);
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "unlink LO\n";
|
echo "unlink LO\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
pg_lo_unlink($db, $oid) or print("pg_lo_unlink() error 1\n");
|
pg_lo_unlink($db, $oid) or print("pg_lo_unlink() error 1\n");
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
// more pg_lo_unlink() tests
|
// more pg_lo_unlink() tests
|
||||||
echo "Test without connection\n";
|
echo "Test without connection\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$oid = pg_lo_create ($db) or print("pg_lo_create() error\n");
|
$oid = pg_lo_create ($db) or print("pg_lo_create() error\n");
|
||||||
pg_lo_unlink($oid) or print("pg_lo_unlink() error 2\n");
|
pg_lo_unlink($oid) or print("pg_lo_unlink() error 2\n");
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "Test with string oid value\n";
|
echo "Test with string oid value\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$oid = pg_lo_create ($db) or print("pg_lo_create() error\n");
|
$oid = pg_lo_create ($db) or print("pg_lo_create() error\n");
|
||||||
pg_lo_unlink($db, (string)$oid) or print("pg_lo_unlink() error 3\n");
|
pg_lo_unlink($db, (string)$oid) or print("pg_lo_unlink() error 3\n");
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "import/export LO\n";
|
echo "import/export LO\n";
|
||||||
$path = __DIR__ . '/';
|
$path = __DIR__ . '/';
|
||||||
pg_query($db, 'begin');
|
pg_query($db, 'BEGIN');
|
||||||
$oid = pg_lo_import($db, $path . 'php.gif');
|
$oid = pg_lo_import($db, $path . 'php.gif');
|
||||||
pg_query($db, 'commit');
|
pg_query($db, 'COMMIT');
|
||||||
pg_query($db, 'begin');
|
pg_query($db, 'BEGIN');
|
||||||
@unlink($path . 'php.gif.exported');
|
@unlink($path . 'php.gif.exported');
|
||||||
pg_lo_export($db, $oid, $path . 'php.gif.exported');
|
pg_lo_export($db, $oid, $path . 'php.gif.exported');
|
||||||
if (!file_exists($path . 'php.gif.exported')) {
|
if (!file_exists($path . 'php.gif.exported')) {
|
||||||
echo "Export failed\n";
|
echo "Export failed\n";
|
||||||
}
|
}
|
||||||
@unlink($path . 'php.gif.exported');
|
@unlink($path . 'php.gif.exported');
|
||||||
pg_query($db, 'commit');
|
pg_query($db, 'COMMIT');
|
||||||
|
|
||||||
/* invalid OID values */
|
/* invalid OID values */
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -3,19 +3,34 @@ Bug 73498 Incorrect DELIMITER syntax for pg_copy_to()
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_06_bug73498";
|
||||||
|
$view_name = "view_06_bug73498";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "CREATE VIEW {$view_name} as SELECT * FROM {$table_name}");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} DEFAULT VALUES");
|
||||||
|
|
||||||
$rows = pg_copy_to($db, "(select * from {$view_name})");
|
$rows = pg_copy_to($db, "(SELECT * FROM {$view_name})");
|
||||||
|
|
||||||
var_dump(gettype($rows));
|
var_dump(gettype($rows));
|
||||||
var_dump(count($rows) > 0);
|
var_dump(count($rows) > 0);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_06_bug73498";
|
||||||
|
$view_name = "view_06_bug73498";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP VIEW IF EXISTS {$view_name}");
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(5) "array"
|
string(5) "array"
|
||||||
|
|
|
@ -3,13 +3,15 @@ PostgreSQL copy functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_06copy";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
$rows = pg_copy_to($db, $table_name);
|
$rows = pg_copy_to($db, $table_name);
|
||||||
|
|
||||||
|
@ -19,6 +21,14 @@ pg_copy_from($db, $table_name, $rows);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_06copy";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -3,27 +3,33 @@ PostgreSQL copy functions, part 2
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = 'table_06copy_2';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($db, 'CREATE TABLE test_copy (x int)');
|
pg_query($db, "CREATE TABLE {$table_name} (x int)");
|
||||||
|
|
||||||
pg_query($db, 'COPY test_copy FROM STDIN');
|
pg_query($db, "COPY {$table_name} FROM STDIN");
|
||||||
|
|
||||||
pg_put_line($db, "1\n");
|
pg_put_line($db, "1\n");
|
||||||
pg_put_line($db, "\\N\n");
|
pg_put_line($db, "\\N\n");
|
||||||
pg_put_line($db, "\\.\n");
|
pg_put_line($db, "\\.\n");
|
||||||
pg_end_copy($db);
|
pg_end_copy($db);
|
||||||
|
|
||||||
var_dump(pg_fetch_all_columns(pg_query($db, 'SELECT * FROM test_copy ORDER BY 1')));
|
var_dump(pg_fetch_all_columns(pg_query($db, "SELECT * FROM {$table_name} ORDER BY 1")));
|
||||||
|
?>
|
||||||
pg_query($db, 'DROP TABLE test_copy');
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = 'table_06copy_2';
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -3,12 +3,12 @@ PostgreSQL optional functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$enc = pg_client_encoding($db);
|
$enc = pg_client_encoding($db);
|
||||||
|
|
|
@ -3,11 +3,13 @@ PostgreSQL escape functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_08escape";
|
||||||
|
|
||||||
define('FILE_NAME', __DIR__ . '/php.gif');
|
define('FILE_NAME', __DIR__ . '/php.gif');
|
||||||
|
|
||||||
// pg_escape_string() test
|
// pg_escape_string() test
|
||||||
|
@ -42,6 +44,7 @@ else {
|
||||||
// Test using database
|
// Test using database
|
||||||
$data = file_get_contents(FILE_NAME);
|
$data = file_get_contents(FILE_NAME);
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
// Insert binary to DB
|
// Insert binary to DB
|
||||||
$escaped_data = pg_escape_bytea($db, $data);
|
$escaped_data = pg_escape_bytea($db, $data);
|
||||||
|
@ -97,6 +100,14 @@ else {
|
||||||
var_dump($expect);
|
var_dump($expect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_08escape";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Deprecated: pg_escape_string(): Automatic fetching of PostgreSQL connection is deprecated in %s on line %d
|
Deprecated: pg_escape_string(): Automatic fetching of PostgreSQL connection is deprecated in %s on line %d
|
||||||
|
|
|
@ -5,15 +5,15 @@ pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
|
|
||||||
_skip_lc_messages($conn);
|
_skip_lc_messages($conn);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
include 'lcmess.inc';
|
include 'inc/lcmess.inc';
|
||||||
|
|
||||||
ini_set('pgsql.log_notice', TRUE);
|
ini_set('pgsql.log_notice', TRUE);
|
||||||
ini_set('pgsql.ignore_notice', FALSE);
|
ini_set('pgsql.ignore_notice', FALSE);
|
||||||
|
|
|
@ -4,14 +4,14 @@ PostgreSQL pg_convert()
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_escape();
|
skip_bytea_not_escape();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
|
|
|
@ -4,16 +4,19 @@ PostgreSQL pg_convert() (9.0+)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_hex();
|
skip_bytea_not_hex();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_10pg_convert_9";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
pg_query($db, "SET standard_conforming_strings = 0");
|
pg_query($db, "SET standard_conforming_strings = 0");
|
||||||
|
|
||||||
$fields = array('num'=>'1234', 'str'=>'AAA', 'bin'=>'BBB');
|
$fields = array('num'=>'1234', 'str'=>'AAA', 'bin'=>'BBB');
|
||||||
|
@ -49,6 +52,14 @@ try {
|
||||||
echo $e->getMessage(), \PHP_EOL;
|
echo $e->getMessage(), \PHP_EOL;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_10pg_convert_9";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(3) {
|
array(3) {
|
||||||
[""num""]=>
|
[""num""]=>
|
||||||
|
|
|
@ -4,16 +4,18 @@ PostgreSQL pg_convert() and JSON/Array
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_server_version('9.2');
|
skip_server_version('9.2');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name_92 = "table_10pg_convert_json_array_92";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name_92} (textary text[], jsn json)");
|
||||||
|
|
||||||
$fields = array(
|
$fields = array(
|
||||||
'textary'=>'{"meeting", "lunch", "training", "presentation"}',
|
'textary'=>'{"meeting", "lunch", "training", "presentation"}',
|
||||||
|
@ -28,6 +30,14 @@ if (!pg_insert($db, $table_name_92, $fields)) {
|
||||||
echo "OK\n";
|
echo "OK\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name_92 = "table_10pg_convert_json_array_92";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name_92}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -3,19 +3,29 @@ PostgreSQL pg_metadata()
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_11pg_meta_data";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
$meta = pg_meta_data($db, $table_name);
|
$meta = pg_meta_data($db, $table_name);
|
||||||
|
|
||||||
var_dump($meta);
|
var_dump($meta);
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_11pg_meta_data";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(3) {
|
array(3) {
|
||||||
["num"]=>
|
["num"]=>
|
||||||
|
|
|
@ -4,14 +4,14 @@ PostgreSQL pg_insert()
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_escape();
|
skip_bytea_not_escape();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$fields = array('num'=>'1234', 'str'=>'AAA', 'bin'=>'BBB');
|
$fields = array('num'=>'1234', 'str'=>'AAA', 'bin'=>'BBB');
|
||||||
|
|
|
@ -4,16 +4,19 @@ PostgreSQL pg_insert() (9.0+)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_hex();
|
skip_bytea_not_hex();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_12pg_insert_9";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
pg_query($db, "SET standard_conforming_strings = 0");
|
pg_query($db, "SET standard_conforming_strings = 0");
|
||||||
|
|
||||||
$fields = array('num'=>'1234', 'str'=>'AAA', 'bin'=>'BBB');
|
$fields = array('num'=>'1234', 'str'=>'AAA', 'bin'=>'BBB');
|
||||||
|
@ -53,9 +56,17 @@ try {
|
||||||
|
|
||||||
echo "Ok\n";
|
echo "Ok\n";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_12pg_insert_9";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
INSERT INTO "php_pgsql_test" ("num","str","bin") VALUES (1234,E'AAA',E'\\x424242');
|
INSERT INTO "table_12pg_insert_9" ("num","str","bin") VALUES (1234,E'AAA',E'\\x424242');
|
||||||
INSERT INTO "php_pgsql_test" ("num","str","bin") VALUES ('1234','AAA','BBB');
|
INSERT INTO "table_12pg_insert_9" ("num","str","bin") VALUES ('1234','AAA','BBB');
|
||||||
object(PgSql\Result)#%d (0) {
|
object(PgSql\Result)#%d (0) {
|
||||||
}
|
}
|
||||||
Array of values must be an associative array with string keys
|
Array of values must be an associative array with string keys
|
||||||
|
|
|
@ -4,14 +4,14 @@ PostgreSQL pg_select()
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_server_version('8.5dev', '>=');
|
skip_server_version('8.5dev', '>=');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
||||||
|
|
|
@ -4,19 +4,23 @@ PostgreSQL pg_select() (9.0+)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_server_version('9.0', '<');
|
skip_server_version('9.0', '<');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_13pg_select_9";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1234, 'AAA', 'BBB')");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1234, 'AAA', 'BBB')");
|
||||||
|
|
||||||
pg_query($db, "SET bytea_output = 'hex'");
|
pg_query($db, "SET bytea_output = 'hex'");
|
||||||
|
|
||||||
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
|
||||||
$ids = array('num'=>'1234');
|
$ids = array('num'=>'1234');
|
||||||
|
|
||||||
$res = pg_select($db, $table_name, $ids) or print "Error\n";
|
$res = pg_select($db, $table_name, $ids) or print "Error\n";
|
||||||
|
@ -54,6 +58,14 @@ try {
|
||||||
|
|
||||||
echo "Ok\n";
|
echo "Ok\n";
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_13pg_select_9";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(2) {
|
array(2) {
|
||||||
|
@ -76,8 +88,8 @@ array(2) {
|
||||||
string(8) "\x424242"
|
string(8) "\x424242"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SELECT * FROM "php_pgsql_test" WHERE "num"=1234;
|
SELECT * FROM "table_13pg_select_9" WHERE "num"=1234;
|
||||||
SELECT * FROM "php_pgsql_test" WHERE "num"='1234';
|
SELECT * FROM "table_13pg_select_9" WHERE "num"='1234';
|
||||||
Array of values must be an associative array with string keys
|
Array of values must be an associative array with string keys
|
||||||
Array of values must be an associative array with string keys
|
Array of values must be an associative array with string keys
|
||||||
Values must be of type string|int|float|bool|null, array given
|
Values must be of type string|int|float|bool|null, array given
|
||||||
|
|
|
@ -4,14 +4,14 @@ PostgreSQL pg_update()
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_escape();
|
skip_bytea_not_escape();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
||||||
|
|
|
@ -4,16 +4,21 @@ PostgreSQL pg_update() (9.0+)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_hex();
|
skip_bytea_not_hex();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_14pg_update_9";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1, 'ABC', null)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1, 'ABC', null)");
|
||||||
|
|
||||||
pg_query($db, "SET standard_conforming_strings = 0");
|
pg_query($db, "SET standard_conforming_strings = 0");
|
||||||
|
|
||||||
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
||||||
|
@ -25,7 +30,15 @@ echo pg_update($db, $table_name, $fields, $ids, PGSQL_DML_STRING|PGSQL_DML_ESCAP
|
||||||
|
|
||||||
echo "Ok\n";
|
echo "Ok\n";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_14pg_update_9";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
UPDATE "php_pgsql_test" SET "num"=1234,"str"=E'ABC',"bin"=E'\\x58595a' WHERE "num"=1234;
|
UPDATE "table_14pg_update_9" SET "num"=1234,"str"=E'ABC',"bin"=E'\\x58595a' WHERE "num"=1234;
|
||||||
UPDATE "php_pgsql_test" SET "num"='1234',"str"='ABC',"bin"='XYZ' WHERE "num"='1234';
|
UPDATE "table_14pg_update_9" SET "num"='1234',"str"='ABC',"bin"='XYZ' WHERE "num"='1234';
|
||||||
Ok
|
Ok
|
||||||
|
|
|
@ -3,14 +3,18 @@ PostgreSQL pg_delete()
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_15pg_delete";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1, 'ABC', null)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1, 'ABC', null)");
|
||||||
|
|
||||||
$fields = array('num'=>'1234', 'str'=>'XXX', 'bin'=>'YYY');
|
$fields = array('num'=>'1234', 'str'=>'XXX', 'bin'=>'YYY');
|
||||||
$ids = array('num'=>'1234');
|
$ids = array('num'=>'1234');
|
||||||
|
@ -23,7 +27,15 @@ else {
|
||||||
echo "Ok\n";
|
echo "Ok\n";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_15pg_delete";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
DELETE FROM "php_pgsql_test" WHERE "num"=1234;
|
DELETE FROM "table_15pg_delete" WHERE "num"=1234;
|
||||||
DELETE FROM "php_pgsql_test" WHERE "num"='1234';
|
DELETE FROM "table_15pg_delete" WHERE "num"='1234';
|
||||||
Ok
|
Ok
|
||||||
|
|
|
@ -3,12 +3,14 @@ PostgreSQL pg_result_status()
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_16pg_result_status";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
$sql = "SELECT * FROM ".$table_name." WHERE num = -2";
|
$sql = "SELECT * FROM ".$table_name." WHERE num = -2";
|
||||||
$result = pg_query($db, "BEGIN;END");
|
$result = pg_query($db, "BEGIN;END");
|
||||||
|
@ -16,6 +18,14 @@ $result = pg_query($db, "BEGIN;END");
|
||||||
echo pg_result_status($result)."\n";
|
echo pg_result_status($result)."\n";
|
||||||
echo pg_result_status($result, PGSQL_STATUS_STRING)."\n";
|
echo pg_result_status($result, PGSQL_STATUS_STRING)."\n";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_16pg_result_status";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
1
|
1
|
||||||
COMMIT
|
COMMIT
|
||||||
|
|
|
@ -3,14 +3,18 @@ PostgreSQL pg_fetch_*() functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_17result";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1, 'ABC', null)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(1, 'ABC', null)");
|
||||||
|
|
||||||
$sql = "SELECT * FROM $table_name ORDER BY num";
|
$sql = "SELECT * FROM $table_name ORDER BY num";
|
||||||
$result = pg_query($db, $sql) or die('Cannot query db');
|
$result = pg_query($db, $sql) or die('Cannot query db');
|
||||||
|
@ -25,6 +29,14 @@ var_dump(pg_result_seek($result, 0));
|
||||||
|
|
||||||
echo "Ok\n";
|
echo "Ok\n";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_17result";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
bool(true)
|
bool(true)
|
||||||
object(stdClass)#%d (3) {
|
object(stdClass)#%d (3) {
|
||||||
|
|
|
@ -3,17 +3,20 @@ PostgreSQL pg_escape_bytea() functions (before connection)
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_18pg_escape_bytea_before";
|
||||||
|
|
||||||
$image = file_get_contents(__DIR__ . '/php.gif');
|
$image = file_get_contents(__DIR__ . '/php.gif');
|
||||||
$esc_image = pg_escape_bytea($image);
|
$esc_image = pg_escape_bytea($image);
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
@pg_query($db, "SET bytea_output = 'escape'");
|
@pg_query($db, "SET bytea_output = 'escape'");
|
||||||
|
|
||||||
pg_query($db, 'INSERT INTO '.$table_name.' (num, bin) VALUES (9876, E\''.$esc_image.'\');');
|
pg_query($db, 'INSERT INTO '.$table_name.' (num, bin) VALUES (9876, E\''.$esc_image.'\');');
|
||||||
|
@ -28,6 +31,14 @@ else {
|
||||||
echo "OK";
|
echo "OK";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_18pg_escape_bytea_before";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Deprecated: pg_escape_bytea(): Automatic fetching of PostgreSQL connection is deprecated in %s on line %d
|
Deprecated: pg_escape_bytea(): Automatic fetching of PostgreSQL connection is deprecated in %s on line %d
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -3,14 +3,17 @@ PostgreSQL pg_escape_bytea() functions (escape format)
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_18pg_escape_bytea_esc";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
@pg_query($db, "SET bytea_output = 'escape'");
|
@pg_query($db, "SET bytea_output = 'escape'");
|
||||||
|
|
||||||
$image = file_get_contents(__DIR__ . '/php.gif');
|
$image = file_get_contents(__DIR__ . '/php.gif');
|
||||||
|
@ -28,5 +31,13 @@ else {
|
||||||
echo "OK";
|
echo "OK";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_18pg_escape_bytea_esc";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,16 +4,19 @@ PostgreSQL pg_escape_bytea() functions (hex format)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_hex();
|
skip_bytea_not_hex();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_18pg_escape_bytea_hex";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
|
||||||
@pg_query($db, "SET bytea_output = 'hex'");
|
@pg_query($db, "SET bytea_output = 'hex'");
|
||||||
|
|
||||||
$image = file_get_contents(__DIR__ . '/php.gif');
|
$image = file_get_contents(__DIR__ . '/php.gif');
|
||||||
|
@ -31,5 +34,13 @@ else {
|
||||||
echo "OK";
|
echo "OK";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_18pg_escape_bytea_hex";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -3,12 +3,12 @@ PostgreSQL pg_ping() functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
var_dump(pg_ping($db));
|
var_dump(pg_ping($db));
|
||||||
|
|
|
@ -3,12 +3,12 @@ PostgreSQL pg_get_pid() functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$pid = pg_get_pid($db);
|
$pid = pg_get_pid($db);
|
||||||
|
|
|
@ -3,12 +3,12 @@ PostgreSQL pg_get_notify() functions
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// optional functions
|
// optional functions
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
pg_query($db, 'LISTEN test_msg');
|
pg_query($db, 'LISTEN test_msg');
|
||||||
|
|
|
@ -3,12 +3,13 @@ PostgreSQL pg_fetch_object()
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = "table_22pg_fetch_object";
|
||||||
|
|
||||||
class test_class {
|
class test_class {
|
||||||
function __construct($arg1, $arg2) {
|
function __construct($arg1, $arg2) {
|
||||||
|
@ -17,6 +18,8 @@ class test_class {
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES(0, 'ABC', null)");
|
||||||
|
|
||||||
$sql = "SELECT * FROM $table_name WHERE num = 0";
|
$sql = "SELECT * FROM $table_name WHERE num = 0";
|
||||||
$result = pg_query($db, $sql) or die('Cannot query db');
|
$result = pg_query($db, $sql) or die('Cannot query db');
|
||||||
|
@ -32,6 +35,14 @@ try {
|
||||||
|
|
||||||
echo "Ok\n";
|
echo "Ok\n";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_22pg_fetch_object";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
test_class::__construct(1,2)
|
test_class::__construct(1,2)
|
||||||
object(test_class)#%d (3) {
|
object(test_class)#%d (3) {
|
||||||
|
|
|
@ -4,15 +4,19 @@ PostgreSQL sync query params
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_query_params')) die('skip function pg_query_params() does not exist');
|
if (!function_exists('pg_query_params')) die('skip function pg_query_params() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_23sync_query_params";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} (num) VALUES(1000)");
|
||||||
|
|
||||||
$result = pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100));
|
$result = pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100));
|
||||||
if (!($rows = pg_num_rows($result)))
|
if (!($rows = pg_num_rows($result)))
|
||||||
{
|
{
|
||||||
|
@ -39,7 +43,7 @@ pg_result_error($result);
|
||||||
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, null, 0);
|
pg_field_prtlen($result, null, 0);
|
||||||
|
@ -53,5 +57,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_23sync_query_params";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,15 +4,18 @@ PostgreSQL sync prepared queries
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_prepare')) die('skip function pg_prepare() does not exist');
|
if (!function_exists('pg_prepare')) die('skip function pg_prepare() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_24sync_query_prepared";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} (num) VALUES(1000)");
|
||||||
|
|
||||||
$result = pg_prepare($db, "php_test", "SELECT * FROM ".$table_name." WHERE num > \$1;");
|
$result = pg_prepare($db, "php_test", "SELECT * FROM ".$table_name." WHERE num > \$1;");
|
||||||
pg_result_error($result);
|
pg_result_error($result);
|
||||||
|
@ -43,7 +46,7 @@ pg_result_error($result);
|
||||||
pg_num_rows(pg_execute($db, "php_test", array(100)));
|
pg_num_rows(pg_execute($db, "php_test", array(100)));
|
||||||
pg_num_fields(pg_execute($db, "php_test", array(100)));
|
pg_num_fields(pg_execute($db, "php_test", array(100)));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -60,5 +63,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_24sync_query_prepared";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,15 +4,19 @@ PostgreSQL async query params
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_send_query_params')) die('skip function pg_send_query_params() does not exist');
|
if (!function_exists('pg_send_query_params')) die('skip function pg_send_query_params() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_25async_query_params";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} (num) VALUES(1000)");
|
||||||
|
|
||||||
if (!pg_send_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100))) {
|
if (!pg_send_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100))) {
|
||||||
echo "pg_send_query_params() error\n";
|
echo "pg_send_query_params() error\n";
|
||||||
}
|
}
|
||||||
|
@ -47,7 +51,7 @@ for ($i=0; $i < $rows; $i++)
|
||||||
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -64,5 +68,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_25async_query_params";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,15 +4,19 @@ PostgreSQL async prepared queries
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
|
if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_26async_query_prepared";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} (num) VALUES(1000)");
|
||||||
|
|
||||||
if (!pg_send_prepare($db, 'php_test', "SELECT * FROM ".$table_name." WHERE num > \$1;")) {
|
if (!pg_send_prepare($db, 'php_test', "SELECT * FROM ".$table_name." WHERE num > \$1;")) {
|
||||||
echo "pg_send_prepare() error\n";
|
echo "pg_send_prepare() error\n";
|
||||||
}
|
}
|
||||||
|
@ -61,7 +65,7 @@ for ($i=0; $i < $rows; $i++)
|
||||||
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -100,5 +104,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_26async_query_prepared";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,7 +4,7 @@ PostgreSQL create large object with given oid
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
$v = pg_version($conn);
|
$v = pg_version($conn);
|
||||||
if (version_compare("8.3", $v["client"]) > 0) die("skip - requires pg client >= 8.3\n");
|
if (version_compare("8.3", $v["client"]) > 0) die("skip - requires pg client >= 8.3\n");
|
||||||
if (version_compare("8.3", $v["server"]) > 0) die("skip - requires pg server >= 8.3\n");
|
if (version_compare("8.3", $v["server"]) > 0) die("skip - requires pg server >= 8.3\n");
|
||||||
|
@ -12,33 +12,33 @@ if (version_compare("8.3", $v["server"]) > 0) die("skip - requires pg server >=
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
echo "create LO from int\n";
|
echo "create LO from int\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$oid = pg_lo_create ($db, 21000);
|
$oid = pg_lo_create ($db, 21000);
|
||||||
if (!$oid) echo ("pg_lo_create() error\n");
|
if (!$oid) echo ("pg_lo_create() error\n");
|
||||||
if ($oid != 21000) echo ("pg_lo_create() wrong id\n");
|
if ($oid != 21000) echo ("pg_lo_create() wrong id\n");
|
||||||
pg_lo_unlink ($db, $oid);
|
pg_lo_unlink ($db, $oid);
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "create LO from string\n";
|
echo "create LO from string\n";
|
||||||
pg_exec ($db, "begin");
|
pg_exec ($db, "BEGIN");
|
||||||
$oid = pg_lo_create ($db, "21001");
|
$oid = pg_lo_create ($db, "21001");
|
||||||
if (!$oid) echo ("pg_lo_create() error\n");
|
if (!$oid) echo ("pg_lo_create() error\n");
|
||||||
if ($oid != 21001) echo ("pg_lo_create() wrong id\n");
|
if ($oid != 21001) echo ("pg_lo_create() wrong id\n");
|
||||||
pg_lo_unlink ($db, $oid);
|
pg_lo_unlink ($db, $oid);
|
||||||
pg_exec ($db, "commit");
|
pg_exec ($db, "COMMIT");
|
||||||
|
|
||||||
echo "create LO using default connection\n";
|
echo "create LO using default connection\n";
|
||||||
pg_exec ("begin");
|
pg_exec ("BEGIN");
|
||||||
$oid = pg_lo_create (21002);
|
$oid = pg_lo_create (21002);
|
||||||
if (!$oid) echo ("pg_lo_create() error\n");
|
if (!$oid) echo ("pg_lo_create() error\n");
|
||||||
if ($oid != 21002) echo ("pg_lo_create() wrong id\n");
|
if ($oid != 21002) echo ("pg_lo_create() wrong id\n");
|
||||||
pg_lo_unlink ($oid);
|
pg_lo_unlink ($oid);
|
||||||
pg_exec ("commit");
|
pg_exec ("COMMIT");
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -4,7 +4,7 @@ PostgreSQL import large object with given oid
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
$v = pg_version($conn);
|
$v = pg_version($conn);
|
||||||
if (version_compare("8.4devel", $v["client"]) > 0) die("skip - requires pg client >= 8.4\n");
|
if (version_compare("8.4devel", $v["client"]) > 0) die("skip - requires pg client >= 8.4\n");
|
||||||
if (version_compare("8.4devel", $v["server"]) > 0) die("skip - requires pg server >= 8.4\n");
|
if (version_compare("8.4devel", $v["server"]) > 0) die("skip - requires pg server >= 8.4\n");
|
||||||
|
@ -12,33 +12,33 @@ if (version_compare("8.4devel", $v["server"]) > 0) die("skip - requires pg serve
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
echo "import LO from int\n";
|
echo "import LO from int\n";
|
||||||
pg_exec($db, 'begin');
|
pg_exec($db, 'BEGIN');
|
||||||
$oid = pg_lo_import($db, __FILE__, 21003);
|
$oid = pg_lo_import($db, __FILE__, 21003);
|
||||||
if (!$oid) echo ("pg_lo_import() error\n");
|
if (!$oid) echo ("pg_lo_import() error\n");
|
||||||
if ($oid != 21003) echo ("pg_lo_import() wrong id\n");
|
if ($oid != 21003) echo ("pg_lo_import() wrong id\n");
|
||||||
pg_lo_unlink ($db, $oid);
|
pg_lo_unlink ($db, $oid);
|
||||||
pg_exec($db, 'commit');
|
pg_exec($db, 'COMMIT');
|
||||||
|
|
||||||
echo "import LO from string\n";
|
echo "import LO from string\n";
|
||||||
pg_exec($db, 'begin');
|
pg_exec($db, 'BEGIN');
|
||||||
$oid = pg_lo_import($db, __FILE__, "21004");
|
$oid = pg_lo_import($db, __FILE__, "21004");
|
||||||
if (!$oid) echo ("pg_lo_import() error\n");
|
if (!$oid) echo ("pg_lo_import() error\n");
|
||||||
if ($oid != 21004) echo ("pg_lo_import() wrong id\n");
|
if ($oid != 21004) echo ("pg_lo_import() wrong id\n");
|
||||||
pg_lo_unlink ($db, $oid);
|
pg_lo_unlink ($db, $oid);
|
||||||
pg_exec($db, 'commit');
|
pg_exec($db, 'COMMIT');
|
||||||
|
|
||||||
echo "import LO using default connection\n";
|
echo "import LO using default connection\n";
|
||||||
pg_exec('begin');
|
pg_exec('BEGIN');
|
||||||
$oid = pg_lo_import($db, __FILE__, 21005);
|
$oid = pg_lo_import($db, __FILE__, 21005);
|
||||||
if (!$oid) echo ("pg_lo_import() error\n");
|
if (!$oid) echo ("pg_lo_import() error\n");
|
||||||
if ($oid != 21005) echo ("pg_lo_import() wrong id\n");
|
if ($oid != 21005) echo ("pg_lo_import() wrong id\n");
|
||||||
pg_lo_unlink ($oid);
|
pg_lo_unlink ($oid);
|
||||||
pg_exec('commit');
|
pg_exec('COMMIT');
|
||||||
|
|
||||||
/* Invalide OID */
|
/* Invalide OID */
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -4,13 +4,13 @@ PostgreSQL non-blocking async connect
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
include('nonblocking.inc');
|
include('inc/nonblocking.inc');
|
||||||
|
|
||||||
if (!$db = pg_connect($conn_str, PGSQL_CONNECT_ASYNC)) {
|
if (!$db = pg_connect($conn_str, PGSQL_CONNECT_ASYNC)) {
|
||||||
die("pg_connect() error");
|
die("pg_connect() error");
|
||||||
|
|
|
@ -4,16 +4,20 @@ PostgreSQL non-blocking async query params
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_send_query_params')) die('skip function pg_send_query_params() does not exist');
|
if (!function_exists('pg_send_query_params')) die('skip function pg_send_query_params() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
include('nonblocking.inc');
|
include('inc/nonblocking.inc');
|
||||||
|
$table_name = "table_30nb_async_query_params";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} (num) VALUES(1000)");
|
||||||
|
|
||||||
$db_socket = pg_socket($db);
|
$db_socket = pg_socket($db);
|
||||||
stream_set_blocking($db_socket, false);
|
stream_set_blocking($db_socket, false);
|
||||||
|
|
||||||
|
@ -48,7 +52,7 @@ for ($i=0; $i < $rows; $i++) {
|
||||||
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -69,5 +73,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_30nb_async_query_params";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,16 +4,20 @@ PostgreSQL non-blocking async prepared queries
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
|
if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
include('nonblocking.inc');
|
include('inc/nonblocking.inc');
|
||||||
|
$table_name = "table_31nb_async_query_prepared";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} (num) VALUES(1000)");
|
||||||
|
|
||||||
$db_socket = pg_socket($db);
|
$db_socket = pg_socket($db);
|
||||||
stream_set_blocking($db_socket, false);
|
stream_set_blocking($db_socket, false);
|
||||||
|
|
||||||
|
@ -63,7 +67,7 @@ for ($i=0; $i < $rows; $i++) {
|
||||||
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, 0);
|
pg_field_prtlen($result, 0);
|
||||||
|
@ -102,5 +106,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_31nb_async_query_prepared";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,16 +4,20 @@ PostgreSQL non-blocking async queries
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
|
if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
include('nonblocking.inc');
|
include('inc/nonblocking.inc');
|
||||||
|
$table_name = "table_32nb_async_query";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} DEFAULT VALUES");
|
||||||
|
|
||||||
$db_socket = pg_socket($db);
|
$db_socket = pg_socket($db);
|
||||||
stream_set_blocking($db_socket, false);
|
stream_set_blocking($db_socket, false);
|
||||||
|
|
||||||
|
@ -49,7 +53,7 @@ for ($i=0; $i < $rows; $i++) {
|
||||||
pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
||||||
pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";"));
|
||||||
pg_field_name($result, 0);
|
pg_field_name($result, 0);
|
||||||
pg_field_num($result, $field_name);
|
pg_field_num($result, "num");
|
||||||
pg_field_size($result, 0);
|
pg_field_size($result, 0);
|
||||||
pg_field_type($result, 0);
|
pg_field_type($result, 0);
|
||||||
pg_field_prtlen($result, null, 0);
|
pg_field_prtlen($result, null, 0);
|
||||||
|
@ -74,5 +78,13 @@ pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_32nb_async_query";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -7,11 +7,11 @@ pgsql
|
||||||
<?php
|
<?php
|
||||||
require_once dirname(__DIR__, 2) . '/dba/tests/setup/setup_dba_tests.inc';
|
require_once dirname(__DIR__, 2) . '/dba/tests/setup/setup_dba_tests.inc';
|
||||||
check_skip_any();
|
check_skip_any();
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = @pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
|
|
|
@ -4,24 +4,23 @@ Bug #24499 (Notice: Undefined property: stdClass::)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug24499';
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = @pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
die ("Could not connect to the server");
|
die ("Could not connect to the server");
|
||||||
}
|
}
|
||||||
|
|
||||||
@pg_query($dbh, "DROP SEQUENCE id_id_seq");
|
pg_query($dbh, "CREATE TABLE {$table_name} (id SERIAL, t INT)");
|
||||||
@pg_query($dbh, "DROP TABLE id");
|
|
||||||
pg_query($dbh, "CREATE TABLE id (id SERIAL, t INT)");
|
|
||||||
|
|
||||||
for ($i=0; $i<4; $i++) {
|
for ($i=0; $i<4; $i++) {
|
||||||
pg_query($dbh, "INSERT INTO id (t) VALUES ($i)");
|
pg_query($dbh, "INSERT INTO {$table_name} (t) VALUES ($i)");
|
||||||
}
|
}
|
||||||
|
|
||||||
class Id
|
class Id
|
||||||
|
@ -31,8 +30,9 @@ class Id
|
||||||
public function getId()
|
public function getId()
|
||||||
{
|
{
|
||||||
global $dbh;
|
global $dbh;
|
||||||
|
global $table_name;
|
||||||
|
|
||||||
$q = pg_query($dbh, "SELECT id FROM id");
|
$q = pg_query($dbh, "SELECT id FROM {$table_name}");
|
||||||
print_r(pg_fetch_array($q));
|
print_r(pg_fetch_array($q));
|
||||||
print_r(pg_fetch_array($q));
|
print_r(pg_fetch_array($q));
|
||||||
$id = pg_fetch_object($q);
|
$id = pg_fetch_object($q);
|
||||||
|
@ -48,6 +48,14 @@ pg_close($dbh);
|
||||||
|
|
||||||
echo "Done\n";
|
echo "Done\n";
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug24499';
|
||||||
|
|
||||||
|
$dbh = pg_connect($conn_str);
|
||||||
|
pg_query($dbh, "DROP TABLE IF EXISTS {$table_name} CASCADE");
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Array
|
Array
|
||||||
|
|
|
@ -4,23 +4,23 @@ Bug #27597 (pg_fetch_array not returning false)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once(__DIR__ . '/config.inc');
|
require_once(__DIR__ . '/inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug27597';
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = @pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
die ("Could not connect to the server");
|
die ("Could not connect to the server");
|
||||||
}
|
}
|
||||||
|
|
||||||
@pg_query($dbh, "DROP TABLE id");
|
pg_query($dbh, "CREATE TABLE {$table_name} (id INT)");
|
||||||
pg_query($dbh, "CREATE TABLE id (id INT)");
|
|
||||||
|
|
||||||
for ($i=0; $i<4; $i++) {
|
for ($i=0; $i<4; $i++) {
|
||||||
pg_query($dbh, "INSERT INTO id (id) VALUES ($i)");
|
pg_query($dbh, "INSERT INTO {$table_name} (id) VALUES ($i)");
|
||||||
}
|
}
|
||||||
|
|
||||||
function xi_fetch_array($res, $type = PGSQL_ASSOC) {
|
function xi_fetch_array($res, $type = PGSQL_ASSOC) {
|
||||||
|
@ -28,7 +28,7 @@ function xi_fetch_array($res, $type = PGSQL_ASSOC) {
|
||||||
return $a ;
|
return $a ;
|
||||||
}
|
}
|
||||||
|
|
||||||
$res = pg_query($dbh, "SELECT * FROM id");
|
$res = pg_query($dbh, "SELECT * FROM {$table_name}");
|
||||||
$i = 0; // endless-loop protection
|
$i = 0; // endless-loop protection
|
||||||
while($row = xi_fetch_array($res)) {
|
while($row = xi_fetch_array($res)) {
|
||||||
print_r($row);
|
print_r($row);
|
||||||
|
@ -40,6 +40,14 @@ while($row = xi_fetch_array($res)) {
|
||||||
|
|
||||||
pg_close($dbh);
|
pg_close($dbh);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug27597';
|
||||||
|
|
||||||
|
$dbh = pg_connect($conn_str);
|
||||||
|
pg_query($dbh, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
Array
|
Array
|
||||||
|
|
|
@ -4,7 +4,7 @@ Bug #32223 (weird behaviour of pg_last_notice)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
|
|
||||||
_skip_lc_messages($conn);
|
_skip_lc_messages($conn);
|
||||||
|
|
||||||
|
@ -22,8 +22,8 @@ pgsql.ignore_notice=0
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
require_once('lcmess.inc');
|
require_once('inc/lcmess.inc');
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = @pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ Bug #32223 (weird behaviour of pg_last_notice using define)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
|
|
||||||
_skip_lc_messages($conn);
|
_skip_lc_messages($conn);
|
||||||
|
|
||||||
|
@ -22,8 +22,8 @@ pgsql.ignore_notice=0
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
require_once('lcmess.inc');
|
require_once('inc/lcmess.inc');
|
||||||
|
|
||||||
$dbh = pg_connect($conn_str);
|
$dbh = pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
|
|
|
@ -4,12 +4,12 @@ Bug #36625 (8.0+) (pg_trace() does not work)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = @pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
|
@ -22,14 +22,14 @@ $tracefile = __DIR__ . '/trace.tmp';
|
||||||
var_dump(file_exists($tracefile));
|
var_dump(file_exists($tracefile));
|
||||||
|
|
||||||
pg_trace($tracefile, 'w', $dbh);
|
pg_trace($tracefile, 'w', $dbh);
|
||||||
$res = pg_query($dbh, 'select 1');
|
$res = pg_query($dbh, 'SELECT 1');
|
||||||
var_dump($res);
|
var_dump($res);
|
||||||
pg_close($dbh);
|
pg_close($dbh);
|
||||||
|
|
||||||
$found = 0;
|
$found = 0;
|
||||||
function search_trace_file($line)
|
function search_trace_file($line)
|
||||||
{
|
{
|
||||||
if (strpos($line, '"select 1"') !== false || strpos($line, "'select 1'") !== false) {
|
if (strpos($line, '"SELECT 1"') !== false || strpos($line, "'SELECT 1'") !== false) {
|
||||||
$GLOBALS['found']++;
|
$GLOBALS['found']++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,29 +4,34 @@ Bug #39971 (8.0+) (pg_insert/pg_update do not allow now() to be used for timesta
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug39971';
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
|
||||||
die ("Could not connect to the server");
|
|
||||||
}
|
|
||||||
|
|
||||||
pg_query($dbh, "CREATE TABLE php_test (id SERIAL, tm timestamp NOT NULL)");
|
pg_query($dbh, "CREATE TABLE {$table_name} (id SERIAL, tm timestamp NOT NULL)");
|
||||||
|
|
||||||
$values = array('tm' => 'now()');
|
$values = array('tm' => 'now()');
|
||||||
pg_insert($dbh, 'php_test', $values);
|
pg_insert($dbh, $table_name, $values);
|
||||||
|
|
||||||
$ids = array('id' => 1);
|
$ids = array('id' => 1);
|
||||||
pg_update($dbh, 'php_test', $values, $ids);
|
pg_update($dbh, $table_name, $values, $ids);
|
||||||
|
|
||||||
pg_query($dbh, "DROP TABLE php_test");
|
|
||||||
pg_close($dbh);
|
pg_close($dbh);
|
||||||
?>
|
?>
|
||||||
===DONE===
|
===DONE===
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug39971';
|
||||||
|
|
||||||
|
$dbh = pg_connect($conn_str);
|
||||||
|
pg_query($dbh, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
===DONE===
|
===DONE===
|
||||||
|
|
|
@ -4,27 +4,35 @@ Bug #42783 (pg_insert() does not support an empty value array)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug42783';
|
||||||
|
|
||||||
$dbh = @pg_connect($conn_str);
|
$dbh = @pg_connect($conn_str);
|
||||||
if (!$dbh) {
|
if (!$dbh) {
|
||||||
die ("Could not connect to the server");
|
die ("Could not connect to the server");
|
||||||
}
|
}
|
||||||
|
|
||||||
pg_query($dbh, "CREATE TABLE php_test (id SERIAL PRIMARY KEY, time TIMESTAMP NOT NULL DEFAULT now())");
|
pg_query($dbh, "CREATE TABLE {$table_name} (id SERIAL PRIMARY KEY, time TIMESTAMP NOT NULL DEFAULT now())");
|
||||||
|
|
||||||
pg_insert($dbh, 'php_test', array());
|
pg_insert($dbh, $table_name, array());
|
||||||
|
|
||||||
var_dump(pg_fetch_assoc(pg_query($dbh, "SELECT * FROM php_test")));
|
var_dump(pg_fetch_assoc(pg_query($dbh, "SELECT * FROM {$table_name}")));
|
||||||
|
|
||||||
pg_query($dbh, "DROP TABLE php_test");
|
|
||||||
pg_close($dbh);
|
pg_close($dbh);
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_80_bug42783';
|
||||||
|
|
||||||
|
$dbh = pg_connect($conn_str);
|
||||||
|
pg_query($dbh, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
array(2) {
|
array(2) {
|
||||||
["id"]=>
|
["id"]=>
|
||||||
|
|
|
@ -3,13 +3,17 @@ PostgreSQL old api
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_98old_api";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} DEFAULT VALUES");
|
||||||
|
|
||||||
$result = pg_exec($db, "SELECT * FROM ".$table_name);
|
$result = pg_exec($db, "SELECT * FROM ".$table_name);
|
||||||
pg_numrows($result);
|
pg_numrows($result);
|
||||||
pg_numfields($result);
|
pg_numfields($result);
|
||||||
|
@ -30,10 +34,16 @@ pg_errormessage($db);
|
||||||
$result = pg_exec($db, "UPDATE ".$table_name." SET str = 'QQQ' WHERE str like 'RGD';");
|
$result = pg_exec($db, "UPDATE ".$table_name." SET str = 'QQQ' WHERE str like 'RGD';");
|
||||||
pg_cmdtuples($result);
|
pg_cmdtuples($result);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_98old_api";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Deprecated: Function pg_numrows() is deprecated in %s on line %d
|
Deprecated: Function pg_numrows() is deprecated in %s on line %d
|
||||||
|
|
||||||
|
|
|
@ -3,20 +3,41 @@ PostgreSQL drop db
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// drop test table
|
// drop test table
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_9999dropdb";
|
||||||
|
$table_name_92 = "table_9999dropdb_92";
|
||||||
|
$view_name = "view_9999dropdb";
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)");
|
||||||
|
pg_query($db, "CREATE TABLE {$table_name_92} (textary text[], jsn json)");
|
||||||
|
pg_query($db, "CREATE VIEW {$view_name} as SELECT * FROM {$table_name}");
|
||||||
|
|
||||||
pg_query($db, "DROP VIEW {$view_name}");
|
pg_query($db, "DROP VIEW {$view_name}");
|
||||||
pg_query($db, "DROP TABLE ".$table_name);
|
pg_query($db, "DROP TABLE {$table_name}");
|
||||||
@pg_query($db, "DROP TABLE ".$table_name_92);
|
pg_query($db, "DROP TABLE {$table_name_92}");
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
include('inc/config.inc');
|
||||||
|
$table_name = "table_9999dropdb";
|
||||||
|
$table_name_92 = "table_9999dropdb_92";
|
||||||
|
$view_name = "view_9999dropdb";
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP VIEW IF EXISTS {$view_name}");
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name_92}");
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
OK
|
OK
|
||||||
|
|
|
@ -4,29 +4,28 @@ Bug #37100 (data is returned truncated with BINARY CURSOR)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_escape();
|
skip_bytea_not_escape();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = 'table_bug37100';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
@pg_query("SET bytea_output = 'escape'");
|
@pg_query("SET bytea_output = 'escape'");
|
||||||
|
|
||||||
@pg_query('DROP TABLE test_bug');
|
pg_query("CREATE TABLE {$table_name} (binfield byteA) ;");
|
||||||
|
pg_query("INSERT INTO {$table_name} VALUES (decode('0103AA000812','hex'))");
|
||||||
pg_query('CREATE TABLE test_bug (binfield byteA) ;');
|
|
||||||
pg_query("INSERT INTO test_bug VALUES (decode('0103AA000812','hex'))");
|
|
||||||
|
|
||||||
|
|
||||||
$data = pg_query("SELECT binfield FROM test_bug");
|
$data = pg_query("SELECT binfield FROM {$table_name}");
|
||||||
$res = pg_fetch_result($data,0);
|
$res = pg_fetch_result($data,0);
|
||||||
var_dump($res);
|
var_dump($res);
|
||||||
var_dump(bin2hex(pg_unescape_bytea($res)));
|
var_dump(bin2hex(pg_unescape_bytea($res)));
|
||||||
|
|
||||||
$sql = "BEGIN; DECLARE mycursor BINARY CURSOR FOR SELECT binfield FROM test_bug; FETCH ALL IN mycursor;";
|
$sql = "BEGIN; DECLARE mycursor BINARY CURSOR FOR SELECT binfield FROM {$table_name}; FETCH ALL IN mycursor;";
|
||||||
|
|
||||||
$data = pg_query($sql);
|
$data = pg_query($sql);
|
||||||
$res = pg_fetch_result($data,0);
|
$res = pg_fetch_result($data,0);
|
||||||
|
@ -35,12 +34,14 @@ var_dump(strlen($res));
|
||||||
var_dump(bin2hex($res));
|
var_dump(bin2hex($res));
|
||||||
|
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_bug37100';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
pg_query('DROP TABLE test_bug');
|
pg_query("DROP TABLE IF EXISTS {$table_name}");
|
||||||
pg_close($db);
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(24) "\001\003\252\000\010\022"
|
string(24) "\001\003\252\000\010\022"
|
||||||
|
|
|
@ -4,28 +4,27 @@ Bug #37100 (data is returned truncated with BINARY CURSOR) (9.0+)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_bytea_not_hex();
|
skip_bytea_not_hex();
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = 'table_bug37100_9';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
@pg_query($db, 'DROP TABLE test_bug');
|
pg_query($db, "CREATE TABLE {$table_name} (binfield byteA) ;");
|
||||||
|
pg_query($db, "INSERT INTO {$table_name} VALUES (decode('0103AA000812','hex'))");
|
||||||
pg_query($db, 'CREATE TABLE test_bug (binfield byteA) ;');
|
|
||||||
pg_query($db, "INSERT INTO test_bug VALUES (decode('0103AA000812','hex'))");
|
|
||||||
|
|
||||||
|
|
||||||
$data = pg_query($db, "SELECT binfield FROM test_bug");
|
$data = pg_query($db, "SELECT binfield FROM {$table_name}");
|
||||||
$res = pg_fetch_result($data, null, 0);
|
$res = pg_fetch_result($data, null, 0);
|
||||||
var_dump($res);
|
var_dump($res);
|
||||||
var_dump(bin2hex(pg_unescape_bytea($res)));
|
var_dump(bin2hex(pg_unescape_bytea($res)));
|
||||||
|
|
||||||
$sql = "BEGIN; DECLARE mycursor BINARY CURSOR FOR SELECT binfield FROM test_bug; FETCH ALL IN mycursor;";
|
$sql = "BEGIN; DECLARE mycursor BINARY CURSOR FOR SELECT binfield FROM {$table_name}; FETCH ALL IN mycursor;";
|
||||||
|
|
||||||
$data = pg_query($db, $sql);
|
$data = pg_query($db, $sql);
|
||||||
$res = pg_fetch_result($data, null, 0);
|
$res = pg_fetch_result($data, null, 0);
|
||||||
|
@ -36,10 +35,17 @@ var_dump(bin2hex($res));
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
pg_query($db, 'DROP TABLE test_bug');
|
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_bug37100_9';
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(14) "\x0103aa000812"
|
string(14) "\x0103aa000812"
|
||||||
|
|
|
@ -4,7 +4,7 @@ Bug #46408 (Locale number format settings can cause pg_query_params to break wit
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
if (false === setlocale(LC_ALL, "de", "de_DE", "de_DE.ISO8859-1", "de_DE.ISO_8859-1", "de_DE.UTF-8")) {
|
if (false === setlocale(LC_ALL, "de", "de_DE", "de_DE.ISO8859-1", "de_DE.ISO_8859-1", "de_DE.UTF-8")) {
|
||||||
echo "skip Locale de-DE not present";
|
echo "skip Locale de-DE not present";
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ if (false === setlocale(LC_ALL, "de", "de_DE", "de_DE.ISO8859-1", "de_DE.ISO_885
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
|
||||||
$dbh = pg_connect($conn_str);
|
$dbh = pg_connect($conn_str);
|
||||||
setlocale(LC_ALL, "de", "de_DE", "de_DE.ISO8859-1", "de_DE.ISO_8859-1", "de_DE.UTF-8");
|
setlocale(LC_ALL, "de", "de_DE", "de_DE.ISO8859-1", "de_DE.ISO_8859-1", "de_DE.UTF-8");
|
||||||
|
|
|
@ -4,16 +4,15 @@ Bug #47199 (pg_delete fails on NULL)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
require_once('skipif.inc');
|
require_once('inc/skipif.inc');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.inc');
|
require_once('inc/config.inc');
|
||||||
|
|
||||||
$dbh = pg_connect($conn_str);
|
$dbh = pg_connect($conn_str);
|
||||||
$tbl_name = 'test_47199';
|
$tbl_name = 'test_47199';
|
||||||
@pg_query($dbh, "DROP TABLE $tbl_name");
|
|
||||||
pg_query($dbh, "CREATE TABLE $tbl_name (null_field INT, not_null_field INT NOT NULL)");
|
pg_query($dbh, "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' => 1));
|
||||||
|
@ -31,11 +30,18 @@ echo $query, "\n";
|
||||||
|
|
||||||
var_dump(pg_fetch_all(pg_query($dbh, 'SELECT * FROM '. $tbl_name)));
|
var_dump(pg_fetch_all(pg_query($dbh, 'SELECT * FROM '. $tbl_name)));
|
||||||
|
|
||||||
@pg_query($dbh, "DROP TABLE $tbl_name");
|
|
||||||
pg_close($dbh);
|
pg_close($dbh);
|
||||||
|
|
||||||
echo PHP_EOL."Done".PHP_EOL;
|
echo PHP_EOL."Done".PHP_EOL;
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$dbh = pg_connect($conn_str);
|
||||||
|
|
||||||
|
$tbl_name = 'test_47199';
|
||||||
|
pg_query($dbh, "DROP TABLE IF EXISTS $tbl_name");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -4,15 +4,15 @@ Bug #60244 (pg_fetch_* functions do not validate that row param is >0)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$result = pg_query($db, "select 'a' union select 'b'");
|
$result = pg_query($db, "SELECT 'a' UNION SELECT 'b'");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var_dump(pg_fetch_array($result, -1));
|
var_dump(pg_fetch_array($result, -1));
|
||||||
|
|
|
@ -4,22 +4,24 @@ Bug #64609 (pg_convert enum type support)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
skip_server_version('8.3', '<');
|
skip_server_version('8.3', '<');
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = 'table_bug64609';
|
||||||
|
$type_name = 'type_bug64609';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
pg_query($db, "BEGIN");
|
pg_query($db, "BEGIN");
|
||||||
pg_query($db, "CREATE TYPE t_enum AS ENUM ('ok', 'ko')");
|
pg_query($db, "CREATE TYPE {$type_name} AS ENUM ('ok', 'ko')");
|
||||||
pg_query($db, "CREATE TABLE test_enum (a t_enum)");
|
pg_query($db, "CREATE TABLE {$table_name} (a {$type_name})");
|
||||||
|
|
||||||
$fields = array('a' => 'ok');
|
$fields = array('a' => 'ok');
|
||||||
$converted = pg_convert($db, 'test_enum', $fields);
|
$converted = pg_convert($db, $table_name, $fields);
|
||||||
|
|
||||||
pg_query($db, "ROLLBACK");
|
pg_query($db, "ROLLBACK");
|
||||||
|
|
||||||
|
|
|
@ -4,18 +4,20 @@ Bug #65119 (pg_copy_from() modifies input array variable)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = 'table_bug65119';
|
||||||
|
|
||||||
function test(Array $values, $conn_str) {
|
function test(Array $values, $conn_str) {
|
||||||
|
global $table_name;
|
||||||
$connection = pg_pconnect($conn_str, PGSQL_CONNECT_FORCE_NEW);
|
$connection = pg_pconnect($conn_str, PGSQL_CONNECT_FORCE_NEW);
|
||||||
pg_query($connection, "begin");
|
pg_query($connection, "BEGIN");
|
||||||
pg_query($connection, "CREATE TABLE bug65119 (i INTEGER)");
|
pg_query($connection, "CREATE TABLE {$table_name} (i INTEGER)");
|
||||||
pg_copy_from($connection, "bug65119", $values, "\t", "NULL");
|
pg_copy_from($connection, $table_name, $values, "\t", "NULL");
|
||||||
pg_query($connection, "rollback");
|
pg_query($connection, "ROLLBACK");
|
||||||
}
|
}
|
||||||
|
|
||||||
$values = Array(1,2,3);
|
$values = Array(1,2,3);
|
||||||
|
|
|
@ -3,11 +3,11 @@ Bug #68638 pg_update() fails to store infinite values
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
@ -30,8 +30,15 @@ while ($row = pg_fetch_assoc($rs)) {
|
||||||
var_dump($row);
|
var_dump($row);
|
||||||
}
|
}
|
||||||
|
|
||||||
pg_query($conn, "DROP TABLE $table");
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$conn = pg_connect($conn_str);
|
||||||
|
$table='test_68638';
|
||||||
|
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS $table");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(52) "UPDATE "test_68638" SET "value"=E'inf' WHERE "id"=1;"
|
string(52) "UPDATE "test_68638" SET "value"=E'inf' WHERE "id"=1;"
|
||||||
|
|
|
@ -3,11 +3,11 @@ Bug #71062 pg_convert() doesn't accept ISO 8601 for datatype timestamp
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
|
@ -30,10 +30,16 @@ pg_convert($db, $table, ['test_field' => $date_string_modified_iso8601]);
|
||||||
|
|
||||||
print "done\n";
|
print "done\n";
|
||||||
|
|
||||||
pg_query($db, "DROP TABLE $table");
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
==OK==
|
==OK==
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$db = @pg_connect($conn_str);
|
||||||
|
$table = "public.test_table_bug71062_bug71062";
|
||||||
|
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS $table");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
trying format Y-m-d\TH:i:sO
|
trying format Y-m-d\TH:i:sO
|
||||||
trying format Y-m-d H:i:sO
|
trying format Y-m-d H:i:sO
|
||||||
|
|
|
@ -3,17 +3,18 @@ Bug #71998 Function pg_insert does not insert when column type = inet
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// Kudos for the IP regex to
|
// Kudos for the IP regex to
|
||||||
// http://stackoverflow.com/a/17871737/3358424
|
// http://stackoverflow.com/a/17871737/3358424
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$table_name = 'table_bug71998';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($db, "CREATE TABLE tmp_statistics (id integer NOT NULL, remote_addr inet);");
|
pg_query($db, "CREATE TABLE {$table_name} (id integer NOT NULL, remote_addr inet);");
|
||||||
|
|
||||||
$ips = array(
|
$ips = array(
|
||||||
/* IPv4*/
|
/* IPv4*/
|
||||||
|
@ -59,7 +60,7 @@ foreach ($ips as $ip) {
|
||||||
$data = array("id" => ++$i, "remote_addr" => $ip);
|
$data = array("id" => ++$i, "remote_addr" => $ip);
|
||||||
$r = true;
|
$r = true;
|
||||||
try {
|
try {
|
||||||
@pg_insert($db, 'tmp_statistics', $data);
|
@pg_insert($db, $table_name, $data);
|
||||||
} catch (\ValueError $e) {
|
} catch (\ValueError $e) {
|
||||||
echo $e->getMessage() . PHP_EOL;
|
echo $e->getMessage() . PHP_EOL;
|
||||||
$r = false;
|
$r = false;
|
||||||
|
@ -70,19 +71,27 @@ foreach ($ips as $ip) {
|
||||||
//echo pg_last_error($db);
|
//echo pg_last_error($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
//pg_query($db, "INSERT INTO tmp_statistics (id, remote_addr) VALUES (2, '127.0.0.1')"); // OK, record inserted
|
//pg_query($db, "INSERT INTO {$table_name} (id, remote_addr) VALUES (2, '127.0.0.1')"); // OK, record inserted
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$r = pg_query($db, "SELECT * FROM tmp_statistics");
|
$r = pg_query($db, "SELECT * FROM {$table_name}");
|
||||||
while (false != ($row = pg_fetch_row($r))) {
|
while (false != ($row = pg_fetch_row($r))) {
|
||||||
var_dump($row);
|
var_dump($row);
|
||||||
}
|
}
|
||||||
echo $errors, " errors caught\n";
|
echo $errors, " errors caught\n";
|
||||||
|
|
||||||
pg_query($db, "DROP TABLE tmp_statistics");
|
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_bug71998';
|
||||||
|
|
||||||
|
$db = @pg_connect($conn_str);
|
||||||
|
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
pg_insert(): Field "remote_addr" must be a valid IPv4 or IPv6 address string, "256.257.258.259" given
|
pg_insert(): Field "remote_addr" must be a valid IPv4 or IPv6 address string, "256.257.258.259" given
|
||||||
|
|
|
@ -3,16 +3,16 @@ Bug #72028 pg_query_params(): NULL converts to empty string
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
// create test table
|
// create test table
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
$table = "bug72028_" . md5(uniqid(time()));
|
$table = "bug72028";
|
||||||
|
|
||||||
pg_query($conn, "CREATE TABLE $table (value TEXT, details TEXT);");
|
pg_query($conn, "CREATE TABLE $table (value TEXT, details TEXT);");
|
||||||
|
|
||||||
|
@ -33,9 +33,14 @@ $r = pg_query($conn, "SELECT * FROM $table");
|
||||||
while (false !== ($i = pg_fetch_assoc($r))) {
|
while (false !== ($i = pg_fetch_assoc($r))) {
|
||||||
var_dump($i);
|
var_dump($i);
|
||||||
}
|
}
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table = "bug72028";;
|
||||||
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($conn, "DROP TABLE $table");
|
pg_query($conn, "DROP TABLE IF EXISTS $table");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ Bug #72195 (pg_pconnect/pg_connect cause use-after-free)
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
$val = [];
|
$val = [];
|
||||||
|
|
|
@ -3,7 +3,7 @@ Bug #72197 pg_lo_create arbitrary read
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
/* This shouldn't crash. */
|
/* This shouldn't crash. */
|
||||||
|
@ -16,7 +16,7 @@ try {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This should work correctly. */
|
/* This should work correctly. */
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
/* Check with explicit link. */
|
/* Check with explicit link. */
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
|
@ -3,10 +3,10 @@ Bug #75419 Default link leaked via pg_close()
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db1 = pg_connect($conn_str, PGSQL_CONNECT_FORCE_NEW);
|
$db1 = pg_connect($conn_str, PGSQL_CONNECT_FORCE_NEW);
|
||||||
$db2 = pg_connect($conn_str, PGSQL_CONNECT_FORCE_NEW);
|
$db2 = pg_connect($conn_str, PGSQL_CONNECT_FORCE_NEW);
|
||||||
|
|
|
@ -3,10 +3,10 @@ Bug #76548 pg_fetch_result did not fetch the next row
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
|
|
@ -4,41 +4,49 @@ Bug #77047 pg_insert has a broken regex for the 'TIME WITHOUT TIMEZONE' data typ
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
include 'config.inc';
|
include 'inc/config.inc';
|
||||||
|
$table_name = 'table_bug77047';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($db, "DROP TABLE IF EXISTS bug77047");
|
pg_query($db, "CREATE TABLE {$table_name} (
|
||||||
pg_query($db, "CREATE TABLE bug77047 (
|
|
||||||
t TIME WITHOUT TIME ZONE
|
t TIME WITHOUT TIME ZONE
|
||||||
)");
|
)");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
pg_insert($db, "bug77047", array("t" => "13:31"));
|
pg_insert($db, $table_name, array("t" => "13:31"));
|
||||||
} catch (\TypeError $e) {
|
} catch (\TypeError $e) {
|
||||||
echo $e->getMessage();
|
echo $e->getMessage();
|
||||||
}
|
}
|
||||||
pg_insert($db, "bug77047", array("t" => "13:31:13"));
|
pg_insert($db, $table_name, array("t" => "13:31:13"));
|
||||||
pg_insert($db, "bug77047", array("t" => "1:2:3"));
|
pg_insert($db, $table_name, array("t" => "1:2:3"));
|
||||||
try {
|
try {
|
||||||
pg_insert($db, "bug77047", array("t" => "xyz"));
|
pg_insert($db, $table_name, array("t" => "xyz"));
|
||||||
} catch (\TypeError $e) {
|
} catch (\TypeError $e) {
|
||||||
echo $e->getMessage() . PHP_EOL;
|
echo $e->getMessage() . PHP_EOL;
|
||||||
}
|
}
|
||||||
pg_insert($db, "bug77047", array("t" => NULL));
|
pg_insert($db, $table_name, array("t" => NULL));
|
||||||
pg_insert($db, "bug77047", array("t" => ""));
|
pg_insert($db, $table_name, array("t" => ""));
|
||||||
|
|
||||||
$res = pg_query($db, "SELECT t FROM bug77047");
|
$res = pg_query($db, "SELECT t FROM {$table_name}");
|
||||||
while (false !== ($row = pg_fetch_row($res))) {
|
while (false !== ($row = pg_fetch_row($res))) {
|
||||||
var_dump(array_pop($row));
|
var_dump(array_pop($row));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_bug77047';
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
pg_insert(): Field "t" must be of type string|null, time given
|
pg_insert(): Field "t" must be of type string|null, time given
|
||||||
|
|
|
@ -3,10 +3,10 @@ Bug #81720 (Uninitialized array in pg_query_params() leading to RCE)
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,10 @@ pg_close() default link after connection variable has been dropped
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
/* Run me under valgrind */
|
/* Run me under valgrind */
|
||||||
$db1 = pg_connect($conn_str);
|
$db1 = pg_connect($conn_str);
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
// These vars are used to connect db and create test table.
|
|
||||||
// values can be set to meet your environment with the
|
|
||||||
// environment var PGSQL_TEST_CONNSTR
|
|
||||||
|
|
||||||
// "test" database must exist. i.e. "createdb test" before testing
|
|
||||||
$conn_str = getenv('PGSQL_TEST_CONNSTR') ?: "host=localhost dbname=test port=5432 user=postgres password=postgres"; // connection string
|
|
||||||
|
|
||||||
$table_name = "php_pgsql_test"; // test table that will be created
|
|
||||||
$table_name_92 = "php_pgsql_test_92"; // test table that will be created
|
|
||||||
$num_test_record = 1000; // Number of records to create
|
|
||||||
|
|
||||||
// Test view
|
|
||||||
$view_name = "php_pgsql_viewtest";
|
|
||||||
$view_def = "CREATE VIEW {$view_name} AS SELECT * FROM {$table_name};";
|
|
||||||
|
|
||||||
// Test table
|
|
||||||
$table_def = "CREATE TABLE {$table_name} (num int, str text, bin bytea);";
|
|
||||||
$table_def_92 = "CREATE TABLE {$table_name_92} (textary text[], jsn json);";
|
|
||||||
$field_name = "num"; // For pg_field_num()
|
|
||||||
|
|
||||||
?>
|
|
|
@ -3,10 +3,10 @@ Reopen connection after it was closed
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
/* Run me under valgrind */
|
/* Run me under valgrind */
|
||||||
$db1 = pg_connect($conn_str);
|
$db1 = pg_connect($conn_str);
|
||||||
|
|
|
@ -3,10 +3,10 @@ Reusing connection with same connection string
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db1 = pg_connect($conn_str);
|
$db1 = pg_connect($conn_str);
|
||||||
$db2 = pg_connect($conn_str);
|
$db2 = pg_connect($conn_str);
|
||||||
|
|
|
@ -3,11 +3,11 @@ PostgreSQL fetching default link automatically is deprecated
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
// We don't care about warnings
|
// We don't care about warnings
|
||||||
|
|
|
@ -4,17 +4,17 @@ GH-10672 (pg_lo_open segfaults in the strict_types mode)
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
include "config.inc";
|
include "inc/config.inc";
|
||||||
|
$table_name = 'table_gh10672';
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
pg_query($db, "DROP TABLE IF EXISTS gh10672");
|
pg_query($db, "CREATE TABLE {$table_name} (bar text);");
|
||||||
pg_query($db, "CREATE TABLE gh10672 (bar text);");
|
|
||||||
|
|
||||||
// Begin a transaction
|
// Begin a transaction
|
||||||
pg_query($db, 'BEGIN');
|
pg_query($db, 'BEGIN');
|
||||||
|
@ -35,5 +35,13 @@ if ($oid === false) {
|
||||||
|
|
||||||
echo 'The large object has been opened successfully.', PHP_EOL;
|
echo 'The large object has been opened successfully.', PHP_EOL;
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_gh10672';
|
||||||
|
|
||||||
|
$dbh = pg_connect($conn_str);
|
||||||
|
pg_query($dbh, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
The large object has been opened successfully.
|
The large object has been opened successfully.
|
||||||
|
|
|
@ -4,23 +4,31 @@ pg_insert() fails for references
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
?>
|
?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include "config.inc";
|
include "inc/config.inc";
|
||||||
|
$table_name = 'table_gh8253';
|
||||||
|
|
||||||
function fee(&$a) {}
|
function fee(&$a) {}
|
||||||
$a = ["bar" => "testing"];
|
$a = ["bar" => "testing"];
|
||||||
fee($a["bar"]);
|
fee($a["bar"]);
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
pg_query($db, "DROP TABLE IF EXISTS gh8253");
|
pg_query($db, "CREATE TABLE {$table_name} (bar text);");
|
||||||
pg_query($db, "CREATE TABLE gh8253 (bar text);");
|
pg_insert($db, $table_name, $a);
|
||||||
pg_insert($db, "gh8253", $a);
|
$res = pg_query($db, "SELECT * FROM {$table_name}");
|
||||||
$res = pg_query($db, "SELECT * FROM gh8253");
|
|
||||||
var_dump(pg_fetch_all($res));
|
var_dump(pg_fetch_all($res));
|
||||||
?>
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$table_name = 'table_gh8253';
|
||||||
|
|
||||||
|
$db = pg_connect($conn_str);
|
||||||
|
pg_query($db, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(1) {
|
array(1) {
|
||||||
[0]=>
|
[0]=>
|
||||||
|
|
9
ext/pgsql/tests/inc/config.inc
Normal file
9
ext/pgsql/tests/inc/config.inc
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// These vars are used to connect db.
|
||||||
|
// values can be set to meet your environment with the
|
||||||
|
// environment var PGSQL_TEST_CONNSTR
|
||||||
|
|
||||||
|
// "test" database must exist. i.e. "createdb test" before testing
|
||||||
|
$conn_str = getenv('PGSQL_TEST_CONNSTR') ?: "host=localhost dbname=test port=5432 user=postgres password=postgres"; // connection string
|
||||||
|
?>
|
|
@ -3,52 +3,62 @@ PostgreSQL pg_delete() - basic test using schema
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_delete_001';
|
||||||
|
$table_name = 'table_pg_delete_001';
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($conn, 'CREATE SCHEMA phptests');
|
pg_query($conn, "CREATE SCHEMA {$schema_name}");
|
||||||
|
|
||||||
pg_query($conn, 'CREATE TABLE foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$table_name} (id INT, id2 INT)");
|
||||||
pg_query($conn, 'CREATE TABLE phptests.foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$schema_name}.{$table_name} (id INT, id2 INT)");
|
||||||
|
|
||||||
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 1));
|
pg_insert($conn, $table_name, array('id' => 1, 'id2' => 1));
|
||||||
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 2));
|
pg_insert($conn, $table_name, array('id' => 1, 'id2' => 2));
|
||||||
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 2));
|
pg_insert($conn, $table_name, array('id' => 1, 'id2' => 2));
|
||||||
pg_insert($conn, 'foo', array('id' => 3, 'id2' => 3));
|
pg_insert($conn, $table_name, array('id' => 3, 'id2' => 3));
|
||||||
|
|
||||||
pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 1));
|
pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 1, 'id2' => 1));
|
||||||
pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 2));
|
pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 1, 'id2' => 2));
|
||||||
pg_insert($conn, 'phptests.foo', array('id' => 2, 'id2' => 3));
|
pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 2, 'id2' => 3));
|
||||||
pg_insert($conn, 'phptests.foo', array('id' => 2, 'id2' => 3));
|
pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 2, 'id2' => 3));
|
||||||
|
|
||||||
pg_delete($conn, 'foo', array('id' => 1, 'id2' => 0));
|
pg_delete($conn, $table_name, array('id' => 1, 'id2' => 0));
|
||||||
pg_delete($conn, 'foo', array('id' => 1, 'id2' => 2));
|
pg_delete($conn, $table_name, array('id' => 1, 'id2' => 2));
|
||||||
var_dump(pg_delete($conn, 'foo', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
var_dump(pg_delete($conn, $table_name, array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
||||||
|
|
||||||
pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 1));
|
pg_delete($conn, "{$schema_name}.{$table_name}", array('id' => 2, 'id2' => 1));
|
||||||
pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 3));
|
pg_delete($conn, "{$schema_name}.{$table_name}", array('id' => 2, 'id2' => 3));
|
||||||
var_dump(pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 3), PGSQL_DML_STRING));
|
var_dump(pg_delete($conn, "{$schema_name}.{$table_name}", array('id' => 2, 'id2' => 3), PGSQL_DML_STRING));
|
||||||
|
|
||||||
var_dump(pg_fetch_all(pg_query($conn, 'SELECT * FROM foo')));
|
var_dump(pg_fetch_all(pg_query($conn, "SELECT * FROM {$table_name}")));
|
||||||
var_dump(pg_fetch_all(pg_query($conn, 'SELECT * FROM phptests.foo')));
|
var_dump(pg_fetch_all(pg_query($conn, "SELECT * FROM {$schema_name}.{$table_name}")));
|
||||||
|
|
||||||
/* Inexistent */
|
/* Inexistent */
|
||||||
pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2));
|
pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2));
|
||||||
var_dump(pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
var_dump(pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
||||||
|
|
||||||
pg_query($conn, 'DROP TABLE foo');
|
?>
|
||||||
pg_query($conn, 'DROP TABLE phptests.foo');
|
--CLEAN--
|
||||||
pg_query($conn, 'DROP SCHEMA phptests');
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_delete_001';
|
||||||
|
$table_name = 'table_pg_delete_001';
|
||||||
|
|
||||||
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$schema_name}.{$table_name}");
|
||||||
|
pg_query($conn, "DROP SCHEMA IF EXISTS {$schema_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
string(43) "DELETE FROM "foo" WHERE "id"=1 AND "id2"=2;"
|
string(59) "DELETE FROM "table_pg_delete_001" WHERE "id"=1 AND "id2"=2;"
|
||||||
string(54) "DELETE FROM "phptests"."foo" WHERE "id"=2 AND "id2"=3;"
|
string(82) "DELETE FROM "schema_pg_delete_001"."table_pg_delete_001" WHERE "id"=2 AND "id2"=3;"
|
||||||
array(2) {
|
array(2) {
|
||||||
[0]=>
|
[0]=>
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -3,33 +3,42 @@ PostgreSQL pg_select() - basic test using schema
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_insert_001';
|
||||||
|
$table_name = 'table_pg_insert_001';
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($conn, 'CREATE SCHEMA phptests');
|
pg_query($conn, "CREATE SCHEMA {$schema_name}");
|
||||||
pg_query($conn, 'CREATE TABLE phptests.foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$schema_name}.{$table_name} (id INT, id2 INT)");
|
||||||
|
|
||||||
|
|
||||||
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 1));
|
pg_insert($conn, $table_name, array('id' => 1, 'id2' => 1));
|
||||||
|
|
||||||
pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 2));
|
pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 1, 'id2' => 2));
|
||||||
|
|
||||||
var_dump(pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
var_dump(pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 1, 'id2' => 2), PGSQL_DML_STRING));
|
||||||
|
|
||||||
var_dump(pg_select($conn, 'phptests.foo', array('id' => 1)));
|
var_dump(pg_select($conn, "{$schema_name}.{$table_name}", array('id' => 1)));
|
||||||
|
|
||||||
pg_query($conn, 'DROP TABLE phptests.foo');
|
|
||||||
pg_query($conn, 'DROP SCHEMA phptests');
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_insert_001';
|
||||||
|
$table_name = 'table_pg_insert_001';
|
||||||
|
|
||||||
|
$conn = pg_connect($conn_str);
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$schema_name}.{$table_name}");
|
||||||
|
pg_query($conn, "DROP SCHEMA IF EXISTS {$schema_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Warning: pg_insert(): Table 'foo' doesn't exists in %s on line %d
|
Warning: pg_insert(): Table 'table_pg_insert_001' doesn't exists in %s on line %d
|
||||||
string(55) "INSERT INTO "phptests"."foo" ("id","id2") VALUES (1,2);"
|
string(83) "INSERT INTO "schema_pg_insert_001"."table_pg_insert_001" ("id","id2") VALUES (1,2);"
|
||||||
array(1) {
|
array(1) {
|
||||||
[0]=>
|
[0]=>
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -3,11 +3,11 @@ PostgreSQL pg_insert() - test for CVE-2015-1532
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
|
|
@ -3,30 +3,38 @@ PostgreSQL pg_meta_data() - basic test using schema
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_meta_data_001';
|
||||||
|
$table_name = 'table_pg_meta_data_001';
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($conn, 'CREATE SCHEMA phptests');
|
pg_query($conn, "CREATE SCHEMA {$schema_name}");
|
||||||
|
|
||||||
pg_query($conn, 'CREATE TABLE phptests.foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$schema_name}.{$table_name} (id INT, id2 INT)");
|
||||||
|
|
||||||
pg_query($conn, 'CREATE TABLE foo (id INT, id3 INT)');
|
pg_query($conn, "CREATE TABLE {$table_name} (id INT, id3 INT)");
|
||||||
|
|
||||||
|
|
||||||
var_dump(pg_meta_data($conn, 'foo'));
|
var_dump(pg_meta_data($conn, $table_name));
|
||||||
var_dump(pg_meta_data($conn, 'phptests.foo'));
|
var_dump(pg_meta_data($conn, "{$schema_name}.{$table_name}"));
|
||||||
var_dump(pg_meta_data($conn, 'phptests.foo', TRUE));
|
var_dump(pg_meta_data($conn, "{$schema_name}.{$table_name}", TRUE));
|
||||||
|
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_meta_data_001';
|
||||||
|
$table_name = 'table_pg_meta_data_001';
|
||||||
|
|
||||||
pg_query($conn, 'DROP TABLE foo');
|
$conn = pg_connect($conn_str);
|
||||||
pg_query($conn, 'DROP TABLE phptests.foo');
|
pg_query($conn, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
pg_query($conn, 'DROP SCHEMA phptests');
|
pg_query($conn, "DROP TABLE IF EXISTS {$schema_name}.{$table_name}");
|
||||||
|
pg_query($conn, "DROP SCHEMA IF EXISTS {$schema_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
array(2) {
|
array(2) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ PostgreSQL pipeline mode
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php
|
<?php
|
||||||
include("skipif.inc");
|
include("inc/skipif.inc");
|
||||||
if (!defined('PGSQL_PIPELINE_SYNC') || !function_exists('pg_send_query_params')) {
|
if (!defined('PGSQL_PIPELINE_SYNC') || !function_exists('pg_send_query_params')) {
|
||||||
die('skip pipeline mode not available');
|
die('skip pipeline mode not available');
|
||||||
}
|
}
|
||||||
|
@ -12,8 +12,8 @@ if (!defined('PGSQL_PIPELINE_SYNC') || !function_exists('pg_send_query_params'))
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
include('nonblocking.inc');
|
include('inc/nonblocking.inc');
|
||||||
|
|
||||||
if (!$db = pg_connect($conn_str, PGSQL_CONNECT_ASYNC)) {
|
if (!$db = pg_connect($conn_str, PGSQL_CONNECT_ASYNC)) {
|
||||||
die("pg_connect() error");
|
die("pg_connect() error");
|
||||||
|
@ -46,7 +46,7 @@ if (!pg_enter_pipeline_mode($db)) {
|
||||||
die('pg_enter_pipeline_mode{}');
|
die('pg_enter_pipeline_mode{}');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pg_send_query_params($db, "select $1 as index, now() + ($1||' day')::interval as time", array(1))) {
|
if (!pg_send_query_params($db, "SELECT $1 as index, now() + ($1||' day')::interval as time", array(1))) {
|
||||||
die('pg_send_query_params failed');
|
die('pg_send_query_params failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,49 +3,57 @@ PostgreSQL pg_select() - basic test using schema
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_select_001';
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($conn, 'CREATE SCHEMA phptests');
|
pg_query($conn, "CREATE SCHEMA {$schema_name}");
|
||||||
|
|
||||||
pg_query($conn, 'CREATE TABLE phptests.foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$schema_name}.foo (id INT, id2 INT)");
|
||||||
pg_query($conn, 'INSERT INTO phptests.foo VALUES (1,2)');
|
pg_query($conn, "INSERT INTO {$schema_name}.foo VALUES (1,2)");
|
||||||
pg_query($conn, 'INSERT INTO phptests.foo VALUES (2,3)');
|
pg_query($conn, "INSERT INTO {$schema_name}.foo VALUES (2,3)");
|
||||||
|
|
||||||
pg_query($conn, 'CREATE TABLE phptests.bar (id4 INT, id3 INT)');
|
pg_query($conn, "CREATE TABLE {$schema_name}.bar (id4 INT, id3 INT)");
|
||||||
pg_query($conn, 'INSERT INTO phptests.bar VALUES (4,5)');
|
pg_query($conn, "INSERT INTO {$schema_name}.bar VALUES (4,5)");
|
||||||
pg_query($conn, 'INSERT INTO phptests.bar VALUES (6,7)');
|
pg_query($conn, "INSERT INTO {$schema_name}.bar VALUES (6,7)");
|
||||||
|
|
||||||
/* Nonexistent table */
|
/* Nonexistent table */
|
||||||
var_dump(pg_select($conn, 'foo', array('id' => 1)));
|
var_dump(pg_select($conn, 'foo', array('id' => 1)));
|
||||||
|
|
||||||
/* Existent column */
|
/* Existent column */
|
||||||
var_dump(pg_select($conn, 'phptests.foo', array('id' => 1)));
|
var_dump(pg_select($conn, "{$schema_name}.foo", array('id' => 1)));
|
||||||
|
|
||||||
/* Testing with inexistent column */
|
/* Testing with inexistent column */
|
||||||
var_dump(pg_select($conn, 'phptests.bar', array('id' => 1)));
|
var_dump(pg_select($conn, "{$schema_name}.bar", array('id' => 1)));
|
||||||
|
|
||||||
/* Existent column */
|
/* Existent column */
|
||||||
var_dump(pg_select($conn, 'phptests.bar', array('id4' => 4)));
|
var_dump(pg_select($conn, "{$schema_name}.bar", array('id4' => 4)));
|
||||||
|
|
||||||
/* Use a different result type */
|
/* Use a different result type */
|
||||||
var_dump(pg_select($conn, 'phptests.bar', array('id4' => 4), 0, PGSQL_NUM));
|
var_dump(pg_select($conn, "{$schema_name}.bar", array('id4' => 4), 0, PGSQL_NUM));
|
||||||
|
|
||||||
/* Empty array */
|
/* Empty array */
|
||||||
var_dump(pg_select($conn, 'phptests.bar', array()));
|
var_dump(pg_select($conn, "{$schema_name}.bar", array()));
|
||||||
|
|
||||||
/* No array */
|
/* No array */
|
||||||
var_dump(pg_select($conn, 'phptests.bar'));
|
var_dump(pg_select($conn, "{$schema_name}.bar"));
|
||||||
|
|
||||||
pg_query($conn, 'DROP TABLE phptests.foo');
|
?>
|
||||||
pg_query($conn, 'DROP TABLE phptests.bar');
|
--CLEAN--
|
||||||
pg_query($conn, 'DROP SCHEMA phptests');
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_select_001';
|
||||||
|
|
||||||
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$schema_name}.foo");
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$schema_name}.bar");
|
||||||
|
pg_query($conn, "DROP SCHEMA IF EXISTS {$schema_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Warning: pg_select(): Table 'foo' doesn't exists in %s on line %d
|
Warning: pg_select(): Table 'foo' doesn't exists in %s on line %d
|
||||||
|
|
|
@ -3,11 +3,11 @@ pg_trace
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
$tracefile = __DIR__ . '/trace.tmp';
|
$tracefile = __DIR__ . '/trace.tmp';
|
||||||
|
@ -18,7 +18,7 @@ try {
|
||||||
echo $e->getMessage() . PHP_EOL;
|
echo $e->getMessage() . PHP_EOL;
|
||||||
}
|
}
|
||||||
var_dump(pg_trace($tracefile, 'w', $db, 0));
|
var_dump(pg_trace($tracefile, 'w', $db, 0));
|
||||||
$res = pg_query($db, 'select 1');
|
$res = pg_query($db, 'SELECT 1');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
|
|
|
@ -3,42 +3,52 @@ PostgreSQL pg_update() - basic test using schema
|
||||||
--EXTENSIONS--
|
--EXTENSIONS--
|
||||||
pgsql
|
pgsql
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php include("skipif.inc"); ?>
|
<?php include("inc/skipif.inc"); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('config.inc');
|
include('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_update_001';
|
||||||
|
$table_name = 'table_pg_update_001';
|
||||||
|
|
||||||
$conn = pg_connect($conn_str);
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
pg_query($conn, 'CREATE SCHEMA phptests');
|
pg_query($conn, "CREATE SCHEMA {$schema_name}");
|
||||||
|
|
||||||
pg_query($conn, 'CREATE TABLE foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$table_name} (id INT, id2 INT)");
|
||||||
pg_query($conn, 'CREATE TABLE phptests.foo (id INT, id2 INT)');
|
pg_query($conn, "CREATE TABLE {$schema_name}.{$table_name} (id INT, id2 INT)");
|
||||||
|
|
||||||
|
|
||||||
pg_insert($conn, 'foo', array('id' => 1, 'id2' => 1));
|
pg_insert($conn, $table_name, array('id' => 1, 'id2' => 1));
|
||||||
pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 2));
|
pg_insert($conn, "{$schema_name}.{$table_name}", array('id' => 1, 'id2' => 2));
|
||||||
|
|
||||||
pg_update($conn, 'foo', array('id' => 10), array('id' => 1));
|
pg_update($conn, $table_name, array('id' => 10), array('id' => 1));
|
||||||
var_dump(pg_update($conn, 'foo', array('id' => 10), array('id' => 1), PGSQL_DML_STRING));
|
var_dump(pg_update($conn, $table_name, array('id' => 10), array('id' => 1), PGSQL_DML_STRING));
|
||||||
|
|
||||||
pg_update($conn, 'phptests.foo', array('id' => 100), array('id2' => 2));
|
pg_update($conn, "{$schema_name}.{$table_name}", array('id' => 100), array('id2' => 2));
|
||||||
var_dump(pg_update($conn, 'phptests.foo', array('id' => 100), array('id2' => 2), PGSQL_DML_STRING));
|
var_dump(pg_update($conn, "{$schema_name}.{$table_name}", array('id' => 100), array('id2' => 2), PGSQL_DML_STRING));
|
||||||
|
|
||||||
$rs = pg_query($conn, 'SELECT * FROM foo UNION SELECT * FROM phptests.foo ORDER BY id');
|
$rs = pg_query($conn, "SELECT * FROM {$table_name} UNION SELECT * FROM {$schema_name}.{$table_name} ORDER BY id");
|
||||||
while ($row = pg_fetch_assoc($rs)) {
|
while ($row = pg_fetch_assoc($rs)) {
|
||||||
var_dump($row);
|
var_dump($row);
|
||||||
}
|
}
|
||||||
|
|
||||||
pg_query($conn, 'DROP TABLE foo');
|
?>
|
||||||
pg_query($conn, 'DROP TABLE phptests.foo');
|
--CLEAN--
|
||||||
pg_query($conn, 'DROP SCHEMA phptests');
|
<?php
|
||||||
|
require_once('inc/config.inc');
|
||||||
|
$schema_name = 'schema_pg_update_001';
|
||||||
|
$table_name = 'table_pg_update_001';
|
||||||
|
|
||||||
|
$conn = pg_connect($conn_str);
|
||||||
|
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$table_name}");
|
||||||
|
pg_query($conn, "DROP TABLE IF EXISTS {$schema_name}.{$table_name}");
|
||||||
|
pg_query($conn, "DROP SCHEMA IF EXISTS {$schema_name}");
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(38) "UPDATE "foo" SET "id"=10 WHERE "id"=1;"
|
string(54) "UPDATE "table_pg_update_001" SET "id"=10 WHERE "id"=1;"
|
||||||
string(51) "UPDATE "phptests"."foo" SET "id"=100 WHERE "id2"=2;"
|
string(79) "UPDATE "schema_pg_update_001"."table_pg_update_001" SET "id"=100 WHERE "id2"=2;"
|
||||||
array(2) {
|
array(2) {
|
||||||
["id"]=>
|
["id"]=>
|
||||||
string(2) "10"
|
string(2) "10"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue