[svn:DBD-Pg] r13042 - DBD-Pg/trunk

[email protected]
Newsgroups gmane.comp.db.postgresql.dbdpg.cvs
Message-ID <[email protected]>
Author: turnstep
Date: Sun Jul 12 11:34:58 2009
New Revision: 13042

Modified:
   DBD-Pg/trunk/Changes
   DBD-Pg/trunk/dbdimp.c

Log:
Proposed fix for RT #46372, array backslash quoting.


Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes	(original)
+++ DBD-Pg/trunk/Changes	Sun Jul 12 11:34:58 2009
@@ -2,12 +2,14 @@
 
 2.14.0
 
-  - Make foreign_key_info() respect FetchHashKeyName (CPAN bug #46103) [GSM]
+  - Return ints and bools-cast-to-number from the db as true Perlish numbers.
+    (CPAN bug #47619) [GSM]
+  - Fix backslash quoting of arrays (CPAN bug #46732) [GSM]
   - Fix problem with foreign_key_info() and NAME_uc (CPAN bug #46109) [GSM]
+  - Make foreign_key_info() respect FetchHashKeyName (CPAN bug #46103) [GSM]
   - Improve Win32 README notes [Curtis Jewell]
   - Fix spelling error in type_info (CPAN bug #47786) [[email protected]]
-  - Return ints and bools-cast-to-number from the db as true Perlish numbers.
-    (CPAN bug #47619) [GSM]
+
 
 2.13.1 Released April 23, 2009 (subversion r12713)
 

Modified: DBD-Pg/trunk/dbdimp.c
==============================================================================
--- DBD-Pg/trunk/dbdimp.c	(original)
+++ DBD-Pg/trunk/dbdimp.c	Sun Jul 12 11:34:58 2009
@@ -2467,10 +2467,14 @@
 					SvUTF8_on(value);
 				string = SvPV(svitem, svlen);
 				while (svlen--) {
+					TRC(DBILOGFP, "%sATTEMPTING (%c)\n", THEADER, *string);
+
+					/* If an embedded quote, throw a backslash before it */
 					if ('\"' == *string)
 						sv_catpvn(value, "\\", 1);
+					/* If a backslash, double it up */
 					if ('\\' == *string) {
-						sv_catpvn(value, "\\\\", 2);
+						sv_catpvn(value, "\\\\\\", 3);
 					}
 					sv_catpvn(value, string, 1);
 					string++;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.