From: Ilia Alshanetsky Date: Wed, 25 Nov 2009 14:28:00 +0000 (+0000) Subject: Fixed bug #50195 (pg_copy_to() fails when table name contains schema). X-Git-Tag: php-5.3.2RC1~175 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23f4da91137967d5769f3100ecc2e712641cf37d;p=php Fixed bug #50195 (pg_copy_to() fails when table name contains schema). --- diff --git a/NEWS b/NEWS index e20f00f490..8bb2b41f24 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,7 @@ PHP NEWS (Ilia, shigeru_kitazaki at cybozu dot co dot jp) - Fixed bug #50207 (segmentation fault when concatenating very large strings on 64bit linux). (Ilia) +- Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia) - Fixed bug #50185 (ldap_get_entries() return false instead of an empty array when there is no error). (Jani) - Fixed bug #50140 (With default compilation option, php symbols are diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 57fac7e26e..4b79b37c91 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -3764,7 +3764,11 @@ PHP_FUNCTION(pg_copy_to) pg_null_as = safe_estrdup("\\\\N"); } - spprintf(&query, 0, "COPY \"%s\" TO STDOUT DELIMITERS '%c' WITH NULL AS '%s'", table_name, *pg_delim, pg_null_as); + if (memchr(table_name, '.', table_name_len)) { + spprintf(&query, 0, "COPY %s TO STDOUT DELIMITERS '%c' WITH NULL AS '%s'", table_name, *pg_delim, pg_null_as); + } else { + spprintf(&query, 0, "COPY \"%s\" TO STDOUT DELIMITERS '%c' WITH NULL AS '%s'", table_name, *pg_delim, pg_null_as); + } while ((pgsql_result = PQgetResult(pgsql))) { PQclear(pgsql_result);