From: Ilia Alshanetsky Date: Thu, 27 Jan 2011 16:02:30 +0000 (+0000) Subject: Added support for "extra" parameter for PGNotify(). X-Git-Tag: php-5.4.0alpha1~191^2~309 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=46ff954ca74f7aee80242d6f2e5efce6ca341a46;p=php Added support for "extra" parameter for PGNotify(). --- diff --git a/NEWS b/NEWS index 21e2100194..6fe50843ad 100644 --- a/NEWS +++ b/NEWS @@ -174,6 +174,10 @@ PHP NEWS . Added nextRowset support. . Fixed bug #50755 (PDO DBLIB Fails with OOM). +- Improved PostgreSQL extension: + . Added support for "extra" parameter for PGNotify(). + (r dot i dot k at free dot fr, Ilia) + - Improved Reflection extension: (Johannes) . Added ReflectionExtension::isTemporary() and ReflectionExtension::isPersistent() methods. diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 0ae111646c..d321ec4883 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -4782,10 +4782,24 @@ PHP_FUNCTION(pg_get_notify) if (result_type & PGSQL_NUM) { add_index_string(return_value, 0, pgsql_notify->relname, 1); add_index_long(return_value, 1, pgsql_notify->be_pid); +#if HAVE_PQPROTOCOLVERSION && HAVE_PQPARAMETERSTATUS + if (PQprotocolVersion(pgsql) >= 3 && atof(PQparameterStatus(pgsql, "server_version")) >= 9.0) { +#else + if (atof(PG_VERSION) >= 9.0) { +#endif + add_index_string(return_value, 2, pgsql_notify->extra, 1); + } } if (result_type & PGSQL_ASSOC) { add_assoc_string(return_value, "message", pgsql_notify->relname, 1); add_assoc_long(return_value, "pid", pgsql_notify->be_pid); +#if HAVE_PQPROTOCOLVERSION && HAVE_PQPARAMETERSTATUS + if (PQprotocolVersion(pgsql) >= 3 && atof(PQparameterStatus(pgsql, "server_version")) >= 9.0) { +#else + if (atof(PG_VERSION) >= 9.0) { +#endif + add_assoc_string(return_value, "payload", pgsql_notify->extra, 1); + } } PQfreemem(pgsql_notify); }