Re: - Mailing list pgsql-general

From Tom Lane
Subject Re:
Date
Msg-id 28332.1040610393@sss.pgh.pa.us
Whole thread Raw
In response to ...  ("Billy G. Allie" <Bill.Allie@mug.org>)
List pgsql-general
"Billy G. Allie" <Bill.Allie@mug.org> writes:
> I have a question about the behavior of the array input routine.  How should
> the input string, '{abc"def,defghi",jklmnop}' be parsed?  I would think it
> should produce '{"abc\"def","defghi\"","jklmnop"}', but it currently (as of
> 7.3) produces '{"abcdef,defghi","jklmnop"}'.

As did 7.2.  Previous releases (at least back to 7.0, the oldest I have
handy to test) did this:

regression=# select '{abc"def,defghi",jklmnop}'::text[];
         ?column?
--------------------------
 {"def,defghi","jklmnop"}
(1 row)

which is certainly pretty bogus, but it established the precedent that a
double-quoted string could be a substring of an array element, and more
specifically that double-quote didn't stop being special just because it
wasn't the first character of the element string.

> Which should be the correct behavior?

I can't see any strong argument in favor of your proposed change.  I can
tell you that we will get beat up about it if we change anything in this
line --- so you'd better muster a pretty strong argument.

            regards, tom lane

pgsql-general by date:

Previous
From: Gerhard Haering
Date:
Subject: Re: PerformPortalClose warning in 7.3
Next
From: Tom Lane
Date:
Subject: Re: PerformPortalClose warning in 7.3