]> granicus.if.org Git - php/commitdiff
Made pg_version() return full connection info.
authorYasuo Ohgaki <yohgaki@php.net>
Tue, 14 Jan 2014 01:10:48 +0000 (10:10 +0900)
committerYasuo Ohgaki <yohgaki@php.net>
Tue, 14 Jan 2014 01:10:48 +0000 (10:10 +0900)
NEWS
ext/pgsql/pgsql.c
ext/pgsql/tests/00version.phpt

diff --git a/NEWS b/NEWS
index a16ae7ba6f84e0efc33048350b108256b75c8a4c..01d100c44826409c21de10e1cc0ef6ecec7cb1e3 100644 (file)
--- 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)
index cab87cf4509cba184067ccfece32de91096282b6..29a5b1082bffac869b8c73f1f1c1eaf29bb67001 100644 (file)
@@ -19,7 +19,7 @@
    |          Chris Kings-Lynne <chriskl@php.net> (v3 protocol)           | 
    +----------------------------------------------------------------------+
  */
+
 /* $Id$ */
 
 #include <stdlib.h>
@@ -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
index d72d9e1f212b7624e75f56fd2600bb45138e46a7..ea070093d448cf5c0c1ed1d75b92189aa9225232 100644 (file)
@@ -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