mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
ext/pgsql: cleanup the 3rd protocol is supported since circa 2010. (#12465)
This commit is contained in:
parent
6518feced0
commit
045dc10b1b
8 changed files with 222 additions and 260 deletions
|
@ -362,7 +362,7 @@ static int _rollback_transactions(zval *el)
|
||||||
while ((res = PQgetResult(link))) {
|
while ((res = PQgetResult(link))) {
|
||||||
PQclear(res);
|
PQclear(res);
|
||||||
}
|
}
|
||||||
if ((PQprotocolVersion(link) >= 3 && PQtransactionStatus(link) != PQTRANS_IDLE) || PQprotocolVersion(link) < 3) {
|
if (PQtransactionStatus(link) != PQTRANS_IDLE) {
|
||||||
int orig = PGG(ignore_notices);
|
int orig = PGG(ignore_notices);
|
||||||
PGG(ignore_notices) = 1;
|
PGG(ignore_notices) = 1;
|
||||||
res = PQexec(link,"ROLLBACK;");
|
res = PQexec(link,"ROLLBACK;");
|
||||||
|
@ -614,7 +614,7 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
|
||||||
}
|
}
|
||||||
pgsql = (PGconn *) le->ptr;
|
pgsql = (PGconn *) le->ptr;
|
||||||
/* consider to use php_version_compare() here */
|
/* consider to use php_version_compare() here */
|
||||||
if (PQprotocolVersion(pgsql) >= 3 && zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 7.2) {
|
if (zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 7.2) {
|
||||||
pg_result = PQexec(pgsql, "RESET ALL;");
|
pg_result = PQexec(pgsql, "RESET ALL;");
|
||||||
PQclear(pg_result);
|
PQclear(pg_result);
|
||||||
}
|
}
|
||||||
|
@ -815,31 +815,29 @@ static void php_pgsql_get_link_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type
|
||||||
case PHP_PG_HOST:
|
case PHP_PG_HOST:
|
||||||
result = PQhost(pgsql);
|
result = PQhost(pgsql);
|
||||||
break;
|
break;
|
||||||
case PHP_PG_VERSION:
|
case PHP_PG_VERSION: {
|
||||||
array_init(return_value);
|
array_init(return_value);
|
||||||
|
char *tmp;
|
||||||
add_assoc_string(return_value, "client", pgsql_libpq_version);
|
add_assoc_string(return_value, "client", pgsql_libpq_version);
|
||||||
add_assoc_long(return_value, "protocol", PQprotocolVersion(pgsql));
|
add_assoc_long(return_value, "protocol", PQprotocolVersion(pgsql));
|
||||||
if (PQprotocolVersion(pgsql) >= 3) {
|
add_assoc_string(return_value, "server", (char*)PQparameterStatus(pgsql, "server_version"));
|
||||||
/* 8.0 or grater supports protorol version 3 */
|
|
||||||
char *tmp;
|
|
||||||
add_assoc_string(return_value, "server", (char*)PQparameterStatus(pgsql, "server_version"));
|
|
||||||
|
|
||||||
#define PHP_PQ_COPY_PARAM(_x) tmp = (char*)PQparameterStatus(pgsql, _x); \
|
#define PHP_PQ_COPY_PARAM(_x) tmp = (char*)PQparameterStatus(pgsql, _x); \
|
||||||
if(tmp) add_assoc_string(return_value, _x, tmp); \
|
if(tmp) add_assoc_string(return_value, _x, tmp); \
|
||||||
else add_assoc_null(return_value, _x);
|
else add_assoc_null(return_value, _x);
|
||||||
|
|
||||||
PHP_PQ_COPY_PARAM("server_encoding");
|
PHP_PQ_COPY_PARAM("server_encoding");
|
||||||
PHP_PQ_COPY_PARAM("client_encoding");
|
PHP_PQ_COPY_PARAM("client_encoding");
|
||||||
PHP_PQ_COPY_PARAM("is_superuser");
|
PHP_PQ_COPY_PARAM("is_superuser");
|
||||||
PHP_PQ_COPY_PARAM("session_authorization");
|
PHP_PQ_COPY_PARAM("session_authorization");
|
||||||
PHP_PQ_COPY_PARAM("DateStyle");
|
PHP_PQ_COPY_PARAM("DateStyle");
|
||||||
PHP_PQ_COPY_PARAM("IntervalStyle");
|
PHP_PQ_COPY_PARAM("IntervalStyle");
|
||||||
PHP_PQ_COPY_PARAM("TimeZone");
|
PHP_PQ_COPY_PARAM("TimeZone");
|
||||||
PHP_PQ_COPY_PARAM("integer_datetimes");
|
PHP_PQ_COPY_PARAM("integer_datetimes");
|
||||||
PHP_PQ_COPY_PARAM("standard_conforming_strings");
|
PHP_PQ_COPY_PARAM("standard_conforming_strings");
|
||||||
PHP_PQ_COPY_PARAM("application_name");
|
PHP_PQ_COPY_PARAM("application_name");
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
EMPTY_SWITCH_DEFAULT_CASE()
|
EMPTY_SWITCH_DEFAULT_CASE()
|
||||||
}
|
}
|
||||||
if (result) {
|
if (result) {
|
||||||
|
@ -4015,7 +4013,7 @@ PHP_FUNCTION(pg_get_notify)
|
||||||
add_index_string(return_value, 0, pgsql_notify->relname);
|
add_index_string(return_value, 0, pgsql_notify->relname);
|
||||||
add_index_long(return_value, 1, pgsql_notify->be_pid);
|
add_index_long(return_value, 1, pgsql_notify->be_pid);
|
||||||
/* consider to use php_version_compare() here */
|
/* consider to use php_version_compare() here */
|
||||||
if (PQprotocolVersion(pgsql) >= 3 && zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 9.0) {
|
if (zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 9.0) {
|
||||||
add_index_string(return_value, 2, pgsql_notify->extra);
|
add_index_string(return_value, 2, pgsql_notify->extra);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4023,7 +4021,7 @@ PHP_FUNCTION(pg_get_notify)
|
||||||
add_assoc_string(return_value, "message", pgsql_notify->relname);
|
add_assoc_string(return_value, "message", pgsql_notify->relname);
|
||||||
add_assoc_long(return_value, "pid", pgsql_notify->be_pid);
|
add_assoc_long(return_value, "pid", pgsql_notify->be_pid);
|
||||||
/* consider to use php_version_compare() here */
|
/* consider to use php_version_compare() here */
|
||||||
if (PQprotocolVersion(pgsql) >= 3 && zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 9.0) {
|
if (zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 9.0) {
|
||||||
add_assoc_string(return_value, "payload", pgsql_notify->extra);
|
add_assoc_string(return_value, "payload", pgsql_notify->extra);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,46 +13,42 @@ if (!function_exists('pg_query_params')) die('skip function pg_query_params() do
|
||||||
include('config.inc');
|
include('config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
$result = pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100));
|
||||||
$version = pg_version($db);
|
if (!($rows = pg_num_rows($result)))
|
||||||
if ($version['protocol'] >= 3) {
|
{
|
||||||
$result = pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100));
|
echo "pg_num_row() error\n";
|
||||||
if (!($rows = pg_num_rows($result)))
|
|
||||||
{
|
|
||||||
echo "pg_num_row() error\n";
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_array($result, $i, PGSQL_NUM);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_object($result);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_row($result, $i);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_result($result, $i, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
pg_result_error($result);
|
|
||||||
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_field_name($result, 0);
|
|
||||||
pg_field_num($result, $field_name);
|
|
||||||
pg_field_size($result, 0);
|
|
||||||
pg_field_type($result, 0);
|
|
||||||
pg_field_prtlen($result, null, 0);
|
|
||||||
pg_field_is_null($result, null, 0);
|
|
||||||
|
|
||||||
$result = pg_query_params($db, "INSERT INTO ".$table_name." VALUES (\$1, \$2);", array(9999, "A'BC"));
|
|
||||||
pg_last_oid($result);
|
|
||||||
|
|
||||||
pg_free_result($result);
|
|
||||||
}
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_array($result, $i, PGSQL_NUM);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_object($result);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_row($result, $i);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_result($result, $i, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
pg_result_error($result);
|
||||||
|
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_field_name($result, 0);
|
||||||
|
pg_field_num($result, $field_name);
|
||||||
|
pg_field_size($result, 0);
|
||||||
|
pg_field_type($result, 0);
|
||||||
|
pg_field_prtlen($result, null, 0);
|
||||||
|
pg_field_is_null($result, null, 0);
|
||||||
|
|
||||||
|
$result = pg_query_params($db, "INSERT INTO ".$table_name." VALUES (\$1, \$2);", array(9999, "A'BC"));
|
||||||
|
pg_last_oid($result);
|
||||||
|
|
||||||
|
pg_free_result($result);
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
|
|
|
@ -14,51 +14,48 @@ include('config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
$version = pg_version($db);
|
$result = pg_prepare($db, "php_test", "SELECT * FROM ".$table_name." WHERE num > \$1;");
|
||||||
if ($version['protocol'] >= 3) {
|
pg_result_error($result);
|
||||||
$result = pg_prepare($db, "php_test", "SELECT * FROM ".$table_name." WHERE num > \$1;");
|
pg_free_result($result);
|
||||||
pg_result_error($result);
|
$result = pg_execute($db, "php_test", array(100));
|
||||||
pg_free_result($result);
|
if (!($rows = pg_num_rows($result)))
|
||||||
$result = pg_execute($db, "php_test", array(100));
|
{
|
||||||
if (!($rows = pg_num_rows($result)))
|
echo "pg_num_row() error\n";
|
||||||
{
|
|
||||||
echo "pg_num_row() error\n";
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_array($result, $i, PGSQL_NUM);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_object($result);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_row($result, $i);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_result($result, $i, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
pg_result_error($result);
|
|
||||||
pg_num_rows(pg_execute($db, "php_test", array(100)));
|
|
||||||
pg_num_fields(pg_execute($db, "php_test", array(100)));
|
|
||||||
pg_field_name($result, 0);
|
|
||||||
pg_field_num($result, $field_name);
|
|
||||||
pg_field_size($result, 0);
|
|
||||||
pg_field_type($result, 0);
|
|
||||||
pg_field_prtlen($result, 0);
|
|
||||||
pg_field_is_null($result, 0);
|
|
||||||
|
|
||||||
$result = pg_prepare($db, "php_test2", "INSERT INTO ".$table_name." VALUES (\$1, \$2);");
|
|
||||||
pg_result_error($result);
|
|
||||||
pg_free_result($result);
|
|
||||||
$result = pg_execute($db, "php_test2", array(9999, "A'BC"));
|
|
||||||
pg_last_oid($result);
|
|
||||||
|
|
||||||
pg_free_result($result);
|
|
||||||
}
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_array($result, $i, PGSQL_NUM);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_object($result);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_row($result, $i);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_result($result, $i, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
pg_result_error($result);
|
||||||
|
pg_num_rows(pg_execute($db, "php_test", array(100)));
|
||||||
|
pg_num_fields(pg_execute($db, "php_test", array(100)));
|
||||||
|
pg_field_name($result, 0);
|
||||||
|
pg_field_num($result, $field_name);
|
||||||
|
pg_field_size($result, 0);
|
||||||
|
pg_field_type($result, 0);
|
||||||
|
pg_field_prtlen($result, 0);
|
||||||
|
pg_field_is_null($result, 0);
|
||||||
|
|
||||||
|
$result = pg_prepare($db, "php_test2", "INSERT INTO ".$table_name." VALUES (\$1, \$2);");
|
||||||
|
pg_result_error($result);
|
||||||
|
pg_free_result($result);
|
||||||
|
$result = pg_execute($db, "php_test2", array(9999, "A'BC"));
|
||||||
|
pg_last_oid($result);
|
||||||
|
|
||||||
|
pg_free_result($result);
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
|
|
|
@ -13,57 +13,53 @@ if (!function_exists('pg_send_query_params')) die('skip function pg_send_query_p
|
||||||
include('config.inc');
|
include('config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
if (!pg_send_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100))) {
|
||||||
$version = pg_version($db);
|
echo "pg_send_query_params() error\n";
|
||||||
if ($version['protocol'] >= 3) {
|
|
||||||
if (!pg_send_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100))) {
|
|
||||||
echo "pg_send_query_params() error\n";
|
|
||||||
}
|
|
||||||
while(pg_connection_busy($db)); // busy wait: intended
|
|
||||||
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
|
||||||
echo "pg_connection_status() error\n";
|
|
||||||
}
|
|
||||||
if (!($result = pg_get_result($db)))
|
|
||||||
{
|
|
||||||
echo "pg_get_result() error\n";
|
|
||||||
}
|
|
||||||
if (!($rows = pg_num_rows($result))) {
|
|
||||||
echo "pg_num_rows() error\n";
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_array($result, $i, PGSQL_NUM);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_object($result);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_row($result, $i);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_result($result, $i, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
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_field_name($result, 0);
|
|
||||||
pg_field_num($result, $field_name);
|
|
||||||
pg_field_size($result, 0);
|
|
||||||
pg_field_type($result, 0);
|
|
||||||
pg_field_prtlen($result, 0);
|
|
||||||
pg_field_is_null($result, 0);
|
|
||||||
|
|
||||||
if (!pg_send_query_params($db, "INSERT INTO ".$table_name." VALUES (\$1, \$2);", array(9999, "A'BC")))
|
|
||||||
{
|
|
||||||
echo "pg_send_query_params() error\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
pg_last_oid($result);
|
|
||||||
pg_free_result($result);
|
|
||||||
}
|
}
|
||||||
|
while(pg_connection_busy($db)); // busy wait: intended
|
||||||
|
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
||||||
|
echo "pg_connection_status() error\n";
|
||||||
|
}
|
||||||
|
if (!($result = pg_get_result($db)))
|
||||||
|
{
|
||||||
|
echo "pg_get_result() error\n";
|
||||||
|
}
|
||||||
|
if (!($rows = pg_num_rows($result))) {
|
||||||
|
echo "pg_num_rows() error\n";
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_array($result, $i, PGSQL_NUM);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_object($result);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_row($result, $i);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_result($result, $i, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
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_field_name($result, 0);
|
||||||
|
pg_field_num($result, $field_name);
|
||||||
|
pg_field_size($result, 0);
|
||||||
|
pg_field_type($result, 0);
|
||||||
|
pg_field_prtlen($result, 0);
|
||||||
|
pg_field_is_null($result, 0);
|
||||||
|
|
||||||
|
if (!pg_send_query_params($db, "INSERT INTO ".$table_name." VALUES (\$1, \$2);", array(9999, "A'BC")))
|
||||||
|
{
|
||||||
|
echo "pg_send_query_params() error\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
pg_last_oid($result);
|
||||||
|
pg_free_result($result);
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
|
|
|
@ -13,93 +13,89 @@ if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() do
|
||||||
include('config.inc');
|
include('config.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
if (!pg_send_prepare($db, 'php_test', "SELECT * FROM ".$table_name." WHERE num > \$1;")) {
|
||||||
$version = pg_version($db);
|
echo "pg_send_prepare() error\n";
|
||||||
if ($version['protocol'] >= 3) {
|
|
||||||
if (!pg_send_prepare($db, 'php_test', "SELECT * FROM ".$table_name." WHERE num > \$1;")) {
|
|
||||||
echo "pg_send_prepare() error\n";
|
|
||||||
}
|
|
||||||
while(pg_connection_busy($db)); // busy wait: intended
|
|
||||||
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
|
||||||
echo "pg_connection_status() error\n";
|
|
||||||
}
|
|
||||||
if (!($result = pg_get_result($db)))
|
|
||||||
{
|
|
||||||
echo "pg_get_result() error\n";
|
|
||||||
}
|
|
||||||
pg_free_result($result);
|
|
||||||
|
|
||||||
if (!pg_send_execute($db, 'php_test', array(100))) {
|
|
||||||
echo "pg_send_execute() error\n";
|
|
||||||
}
|
|
||||||
while(pg_connection_busy($db)); // busy wait: intended
|
|
||||||
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
|
||||||
echo "pg_connection_status() error\n";
|
|
||||||
}
|
|
||||||
if (!($result = pg_get_result($db)))
|
|
||||||
{
|
|
||||||
echo "pg_get_result() error\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!($rows = pg_num_rows($result))) {
|
|
||||||
echo "pg_num_rows() error\n";
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_array($result, $i, PGSQL_NUM);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_object($result);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_row($result, $i);
|
|
||||||
}
|
|
||||||
for ($i=0; $i < $rows; $i++)
|
|
||||||
{
|
|
||||||
pg_fetch_result($result, $i, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
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_field_name($result, 0);
|
|
||||||
pg_field_num($result, $field_name);
|
|
||||||
pg_field_size($result, 0);
|
|
||||||
pg_field_type($result, 0);
|
|
||||||
pg_field_prtlen($result, 0);
|
|
||||||
pg_field_is_null($result, 0);
|
|
||||||
|
|
||||||
if (!pg_send_prepare($db, "php_test2", "INSERT INTO ".$table_name." VALUES (\$1, \$2);"))
|
|
||||||
{
|
|
||||||
echo "pg_send_prepare() error\n";
|
|
||||||
}
|
|
||||||
while(pg_connection_busy($db)); // busy wait: intended
|
|
||||||
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
|
||||||
echo "pg_connection_status() error\n";
|
|
||||||
}
|
|
||||||
if (!($result = pg_get_result($db)))
|
|
||||||
{
|
|
||||||
echo "pg_get_result() error\n";
|
|
||||||
}
|
|
||||||
pg_free_result($result);
|
|
||||||
|
|
||||||
if (!pg_send_execute($db, "php_test2", array(9999, "A'BC")))
|
|
||||||
{
|
|
||||||
echo "pg_send_execute() error\n";
|
|
||||||
}
|
|
||||||
while(pg_connection_busy($db)); // busy wait: intended
|
|
||||||
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
|
||||||
echo "pg_connection_status() error\n";
|
|
||||||
}
|
|
||||||
if (!($result = pg_get_result($db)))
|
|
||||||
{
|
|
||||||
echo "pg_get_result() error\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
pg_last_oid($result);
|
|
||||||
pg_free_result($result);
|
|
||||||
}
|
}
|
||||||
|
while(pg_connection_busy($db)); // busy wait: intended
|
||||||
|
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
||||||
|
echo "pg_connection_status() error\n";
|
||||||
|
}
|
||||||
|
if (!($result = pg_get_result($db)))
|
||||||
|
{
|
||||||
|
echo "pg_get_result() error\n";
|
||||||
|
}
|
||||||
|
pg_free_result($result);
|
||||||
|
|
||||||
|
if (!pg_send_execute($db, 'php_test', array(100))) {
|
||||||
|
echo "pg_send_execute() error\n";
|
||||||
|
}
|
||||||
|
while(pg_connection_busy($db)); // busy wait: intended
|
||||||
|
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
||||||
|
echo "pg_connection_status() error\n";
|
||||||
|
}
|
||||||
|
if (!($result = pg_get_result($db)))
|
||||||
|
{
|
||||||
|
echo "pg_get_result() error\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!($rows = pg_num_rows($result))) {
|
||||||
|
echo "pg_num_rows() error\n";
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_array($result, $i, PGSQL_NUM);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_object($result);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_row($result, $i);
|
||||||
|
}
|
||||||
|
for ($i=0; $i < $rows; $i++)
|
||||||
|
{
|
||||||
|
pg_fetch_result($result, $i, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
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_field_name($result, 0);
|
||||||
|
pg_field_num($result, $field_name);
|
||||||
|
pg_field_size($result, 0);
|
||||||
|
pg_field_type($result, 0);
|
||||||
|
pg_field_prtlen($result, 0);
|
||||||
|
pg_field_is_null($result, 0);
|
||||||
|
|
||||||
|
if (!pg_send_prepare($db, "php_test2", "INSERT INTO ".$table_name." VALUES (\$1, \$2);"))
|
||||||
|
{
|
||||||
|
echo "pg_send_prepare() error\n";
|
||||||
|
}
|
||||||
|
while(pg_connection_busy($db)); // busy wait: intended
|
||||||
|
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
||||||
|
echo "pg_connection_status() error\n";
|
||||||
|
}
|
||||||
|
if (!($result = pg_get_result($db)))
|
||||||
|
{
|
||||||
|
echo "pg_get_result() error\n";
|
||||||
|
}
|
||||||
|
pg_free_result($result);
|
||||||
|
|
||||||
|
if (!pg_send_execute($db, "php_test2", array(9999, "A'BC")))
|
||||||
|
{
|
||||||
|
echo "pg_send_execute() error\n";
|
||||||
|
}
|
||||||
|
while(pg_connection_busy($db)); // busy wait: intended
|
||||||
|
if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
|
||||||
|
echo "pg_connection_status() error\n";
|
||||||
|
}
|
||||||
|
if (!($result = pg_get_result($db)))
|
||||||
|
{
|
||||||
|
echo "pg_get_result() error\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
pg_last_oid($result);
|
||||||
|
pg_free_result($result);
|
||||||
pg_close($db);
|
pg_close($db);
|
||||||
|
|
||||||
echo "OK";
|
echo "OK";
|
||||||
|
|
|
@ -14,13 +14,6 @@ include('config.inc');
|
||||||
include('nonblocking.inc');
|
include('nonblocking.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
$version = pg_version($db);
|
|
||||||
if ($version['protocol'] < 3) {
|
|
||||||
echo "OK";
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
$db_socket = pg_socket($db);
|
$db_socket = pg_socket($db);
|
||||||
stream_set_blocking($db_socket, false);
|
stream_set_blocking($db_socket, false);
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,6 @@ include('config.inc');
|
||||||
include('nonblocking.inc');
|
include('nonblocking.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
$version = pg_version($db);
|
|
||||||
if ($version['protocol'] < 3) {
|
|
||||||
echo "OK";
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
$db_socket = pg_socket($db);
|
$db_socket = pg_socket($db);
|
||||||
stream_set_blocking($db_socket, false);
|
stream_set_blocking($db_socket, false);
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,6 @@ include('config.inc');
|
||||||
include('nonblocking.inc');
|
include('nonblocking.inc');
|
||||||
|
|
||||||
$db = pg_connect($conn_str);
|
$db = pg_connect($conn_str);
|
||||||
|
|
||||||
$version = pg_version($db);
|
|
||||||
if ($version['protocol'] < 3) {
|
|
||||||
echo "OK";
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
$db_socket = pg_socket($db);
|
$db_socket = pg_socket($db);
|
||||||
stream_set_blocking($db_socket, false);
|
stream_set_blocking($db_socket, false);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue