Обсуждение: no quotes in arrays in 7.2

Поиск
Список
Период
Сортировка

no quotes in arrays in 7.2

От
Peter Keller
Дата:
I upgraded to pg 7.2.
When I do a SELECT on a column defined as text[ ] I get:

{{FLTL,DFBV2bI16nfqCEag,1000}}

when I do the same SELECT on postgres 7.1 I get the same result but with
quotes:

{{"FLTL","DFBV2bI16nfqCEag","1000"}}

Only using a comma as a separator is not very good, because the text in the
array can contain commas, so seperating can get impossible.
Is the new output a bug?

Peter
--
        Bezirksfinanzdirektion Muenchen
              Vermessungsabteilung
...............................................................................................
Peter Keller     :  Tel: (+49) 089-2190-2594
Alexandrastr. 4 :  Fax: (+49) 089-2190-2459
(Liebigbau)     :  mailto:Peter.Keller@bvv.bayern.de
80538 Muenchen  :  web: http://www.bayern.de/vermessung

Re: no quotes in arrays in 7.2

От
Stephan Szabo
Дата:
On Wed, 20 Mar 2002, Peter Keller wrote:

> I upgraded to pg 7.2.
> When I do a SELECT on a column defined as text[ ] I get:
>
> {{FLTL,DFBV2bI16nfqCEag,1000}}
>
> when I do the same SELECT on postgres 7.1 I get the same result but with
> quotes:
>
> {{"FLTL","DFBV2bI16nfqCEag","1000"}}
>
> Only using a comma as a separator is not very good, because the text in the
> array can contain commas, so seperating can get impossible.

If the string contained a comma it should get quotes put around it on
output:
sszabo=# create table aat(a text[]);
insert into aCREATE
sszabo=# insert into aat values ('{"aaa", "fdadfa,fdad", "3"}');
INSERT 148041 1
sszabo=# select * from aat;
           a
-----------------------
 {aaa,"fdadfa,fdad",3}
(1 row)

> Is the new output a bug?

Maybe (see recent discussion on the topic)


Re: no quotes in arrays in 7.2

От
Tom Lane
Дата:
Peter Keller <peter.keller@bvv.bayern.de> writes:
> Only using a comma as a separator is not very good, because the text in the
> array can contain commas, so seperating can get impossible.

If there are any commas then the value will be quoted.

> Is the new output a bug?

I don't think so.  The point was to avoid quoting numeric elements while
fixing the extremely broken rule that array_out used to use to decide
whether to quote or not.  The new rule is to look at the text to decide
if it needs any quotes.

            regards, tom lane