add_assoc_long(return_value, "protocol", PQprotocolVersion(pgsql));
#if HAVE_PQPARAMETERSTATUS
if (PQprotocolVersion(pgsql) >= 3) {
+ char *tmp;
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);
+ if ((tmp = (char*)PQparameterStatus(pgsql, "server_encoding"))) {
+ add_assoc_string(return_value, "server_encoding", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "application_name"))) {
+ add_assoc_string(return_value, "application_name", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "is_superuser"))) {
+ add_assoc_string(return_value, "is_superuser", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "session_authorization"))) {
+ add_assoc_string(return_value, "session_authorization", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "DateStyle"))) {
+ add_assoc_string(return_value, "DateStyle", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "IntervalStyle"))) {
+ add_assoc_string(return_value, "IntervalStyle", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "TimeZone"))) {
+ add_assoc_string(return_value, "TimeZone", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "integer_datetimes"))) {
+ add_assoc_string(return_value, "integer_datetimes", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "standard_conforming_strings"))) {
+ add_assoc_string(return_value, "standard_conforming_strings", tmp, 1);
+ }
+ if ((tmp = (char*)PQparameterStatus(pgsql, "server_encoding"))) {
+ add_assoc_string(return_value, "server_encoding", tmp, 1);
+ }
}
#endif
#endif