Joe Conway <mail@joeconway.com> writes:
> But I was disappointed that this doesn't:
> regression=# select ARRAY['{{1,2},{3,4}}'::int[],'{{5,6},{7,8}}'::int[]];
> ERROR: multidimensional ARRAY[] must be built from nested array expressions
Drat, I was assuming that that *would* work.
> Should I try to make the second and third cases work?
Could you look at how big a change it'd be, anyway? Offhand I think it
may just mean that the subscript-checking done in parse_expr.c needs to
be done at runtime instead. Remember parse_expr should only be
concerned about determining datatype, and for its purposes all arrays of
a given element type are the same --- subscript checking should happen
at runtime. (It seems likely that having an ndims field in ArrayExpr
is inappropriate.)
regards, tom lane