]> granicus.if.org Git - php/commitdiff
Fixed bug #50195 (pg_copy_to() fails when table name contains schema).
authorIlia Alshanetsky <iliaa@php.net>
Wed, 25 Nov 2009 14:28:00 +0000 (14:28 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 25 Nov 2009 14:28:00 +0000 (14:28 +0000)
NEWS
ext/pgsql/pgsql.c

diff --git a/NEWS b/NEWS
index e20f00f4904205ae676ee3077d7b8acf792b70df..8bb2b41f2482334b7dc2b86ad8c98dcaacc8d39d 100644 (file)
--- 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
index 57fac7e26e37b90998add68a2369ba205a8fe65b..4b79b37c9193d77a0335c50cd03f14311ffbf5a7 100644 (file)
@@ -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);