Re: BUG #1313: problems with array syntax parsing in SQL

Joe Conway <mail@joeconway.com>

From: Joe Conway <mail@joeconway.com>
To: Pascal Pochet <postgresql@p3-consulting.net>
Cc: pgsql-bugs@postgresql.org
Date: 2004-11-12T16:42:01Z
Lists: pgsql-bugs
PostgreSQL Bugs List wrote:
> In INSERT statements the string '{}' is correctly parsed as an empty array 
> when '{ }' is not, as if the space was signifiant, and generates a syntax 
> error. 
> 
> Also
> '{"A", "B"}' will be correctly parsed when 
> '{"A", "B" }' (note the space before the closing brace ) will generate the 
> following entry '{"A","B "} : the space(s) between the latest double quote 
> and the closing brace is/are added to the latest item of the array. 


Fixed in cvs:

regression=# select version();
                              version
----------------------------------------------------------------------------
  PostgreSQL 8.0.0beta4 on x86_64-unknown-linux-gnu, compiled by GCC gcc
  (GCC) 3.3.3 20040412 (Red Hat Linux 3.3.3-7)
(1 row)

regression=# create table test(f1 text[]);
CREATE TABLE
regression=# insert into test values ('{"A", "B" }');
INSERT 155428 1
regression=# select * from test;
   f1
-------
  {A,B}
(1 row)

regression=# insert into test values ('{ }');
INSERT 155429 1
regression=# select * from test;
   f1
-------
  {A,B}
  {}
(2 rows)

Joe