Re: postgres 7.2.1 parse bug

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Amin Abdulghani <amin(at)quantiva(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: postgres 7.2.1 parse bug
Date: 2002-07-30 14:41:35
Message-ID: 2056.1028040095@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Amin Abdulghani <amin(at)quantiva(dot)com> writes:
> Apparently there seems to be a parsing bug in 7.2.1 (
> though it seems to be OK in 7.2)when inserting into array
> columns. The bug seems to be that if an
> array element is quoted with "" followed by spaces before
> the comma (for the next element), the extra space becomes
> part of the text for the element.

I do not believe this is a bug. The old behavior was quite buggy
though. Consider for example
insert into testa values('{"bob" ,"moo","x"yz,"","theend"}');
7.1 and before would produce "x" as the third array element value,
losing anything to the right of the second double-quote. 7.2 produces
"xyz" which seems a more natural interpretation. What's even stranger
is
insert into testa values('{"bob" ,"moo",ab"x"yz,"","theend"}');
7.2 produces "abxyz", where prior versions produced "x".

You might say "we ignore leading whitespace in an array element, why
not trailing whitespace too"? Well, we could do that, but I'm afraid
of breaking applications. Historically trailing whitespace has not
been ignored --- try
insert into testa values('{"bob" ,"moo", abc ,"","theend"}');
which produces "abc " in all versions.

The array parser still has a lot of strange behaviors (it doesn't
work quite right on non-rectangular inputs, for example) but I haven't
had time to work more on it.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2002-07-30 15:00:02 Re: log sql?
Previous Message Andrew Sullivan 2002-07-30 14:36:17 Re: Importing data