Possible mistake in new array syntax
The documentation says the following is allowed:
INSERT INTO sal_emp
VALUES ('Bill',
ARRAY[10000, 10000, 10000, 10000],
ARRAY[['meeting', 'lunch'], ['','']]);
I cannot find justification for this in the standard. According to my
reading, it should be
INSERT INTO sal_emp
VALUES ('Bill',
ARRAY[10000, 10000, 10000, 10000],
ARRAY[ARRAY['meeting', 'lunch'], ARRAY['','']]);
--
Peter Eisentraut peter_e@gmx.net
Peter Eisentraut wrote:
The documentation says the following is allowed:
INSERT INTO sal_emp
VALUES ('Bill',
ARRAY[10000, 10000, 10000, 10000],
ARRAY[['meeting', 'lunch'], ['','']]);I cannot find justification for this in the standard. According to my
reading, it should beINSERT INTO sal_emp
VALUES ('Bill',
ARRAY[10000, 10000, 10000, 10000],
ARRAY[ARRAY['meeting', 'lunch'], ARRAY['','']]);
This parallels my question on the last post. I don't see any
justification for multidimensional arrays at all, so my thought was that
we have a free hand to define it. It seemed much nicer to write:
ARRAY[[[[[[1]]]]]]
for a 6 dimensional array, than this:
ARRAY[ARRAY[ARRAY[ARRAY[ARRAY[ARRAY[1]]]]]]
and actually, both do work:
regression=# select ARRAY[ARRAY[ARRAY[ARRAY[ARRAY[ARRAY[1]]]]]];
array
---------------
{{{{{{1}}}}}}
(1 row)
regression=# select ARRAY[[[[[[1]]]]]];
array
---------------
{{{{{{1}}}}}}
(1 row)
Joe
Peter Eisentraut <peter_e@gmx.net> writes:
The documentation says the following is allowed:
INSERT INTO sal_emp
VALUES ('Bill',
ARRAY[10000, 10000, 10000, 10000],
ARRAY[['meeting', 'lunch'], ['','']]);
I cannot find justification for this in the standard. According to my
reading, it should be
INSERT INTO sal_emp
VALUES ('Bill',
ARRAY[10000, 10000, 10000, 10000],
ARRAY[ARRAY['meeting', 'lunch'], ARRAY['','']]);
If it's an extension, it seems like a pretty reasonable one ...
regards, tom lane