From: Yasuo Ohgaki Date: Tue, 14 Jan 2014 01:10:48 +0000 (+0900) Subject: Made pg_version() return full connection info. X-Git-Tag: php-5.6.0alpha1~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58dff7cee52c3df839517aa3eb3da6c4d0f23066;p=php Made pg_version() return full connection info. --- diff --git a/NEWS b/NEWS index a16ae7ba6f..01d100c448 100644 --- a/NEWS +++ b/NEWS @@ -73,6 +73,9 @@ PHP NEWS . Included phpdbg sapi (RFC: https://wiki.php.net/rfc/phpdbg). (Felipe Pena, Joe Watkins and Bob Weinand) +- pgsql: + . pg_version() returns full report which obtained by PQparameterStatus(). + - Session: . Fixed Bug #65315 (session.hash_function silently fallback to default md5) (Yasuo) diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index cab87cf450..29a5b1082b 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -19,7 +19,7 @@ | Chris Kings-Lynne (v3 protocol) | +----------------------------------------------------------------------+ */ - + /* $Id$ */ #include @@ -1505,6 +1505,16 @@ static void php_pgsql_get_link_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type #if HAVE_PQPARAMETERSTATUS if (PQprotocolVersion(pgsql) >= 3) { add_assoc_string(return_value, "server", (char*)PQparameterStatus(pgsql, "server_version"), 1); + add_assoc_string(return_value, "server_encoding", (char*)PQparameterStatus(pgsql, "server_encoding"), 1); + add_assoc_string(return_value, "application_name", (char*)PQparameterStatus(pgsql, "application_name"), 1); + add_assoc_string(return_value, "is_superuser", (char*)PQparameterStatus(pgsql, "is_superuser"), 1); + add_assoc_string(return_value, "session_authorization", (char*)PQparameterStatus(pgsql, "session_authorization"), 1); + add_assoc_string(return_value, "DateStyle", (char*)PQparameterStatus(pgsql, "DateStyle"), 1); + add_assoc_string(return_value, "IntervalStyle", (char*)PQparameterStatus(pgsql, "IntervalStyle"), 1); + add_assoc_string(return_value, "TimeZone", (char*)PQparameterStatus(pgsql, "TimeZone"), 1); + add_assoc_string(return_value, "integer_datetimes", (char*)PQparameterStatus(pgsql, "integer_datetimes"), 1); + add_assoc_string(return_value, "standard_conforming_strings", (char*)PQparameterStatus(pgsql, "standard_conforming_strings"), 1); + add_assoc_string(return_value, "server_encoding", (char*)PQparameterStatus(pgsql, "server_encoding"), 1); } #endif #endif diff --git a/ext/pgsql/tests/00version.phpt b/ext/pgsql/tests/00version.phpt index d72d9e1f21..ea070093d4 100644 --- a/ext/pgsql/tests/00version.phpt +++ b/ext/pgsql/tests/00version.phpt @@ -18,13 +18,31 @@ var_dump(serialize($_ENV)); echo "OK"; ?> --EXPECTF-- -array(3) { +array(12) { ["client"]=> string(%d) "%s" ["protocol"]=> int(%d) ["server"]=> string(%d) "%s" + ["server_encoding"]=> + string(%d) "%s" + ["application_name"]=> + string(0) "" + ["is_superuser"]=> + string(%d) "%s" + ["session_authorization"]=> + string(%d) "%s" + ["DateStyle"]=> + string(%d) "%s" + ["IntervalStyle"]=> + string(%d) "%s" + ["TimeZone"]=> + string(%d) "%s" + ["integer_datetimes"]=> + string(%d) "%s" + ["standard_conforming_strings"]=> + string(%d) "%s" } string(%d) "%s" OK