Fix ARRAY[] construct so that in multidimensional case, elements can
Tom Lane <tgl@sss.pgh.pa.us>
Fix ARRAY[] construct so that in multidimensional case, elements can be anything yielding an array of the proper kind, not only sub-ARRAY[] constructs; do subscript checking at runtime not parse time. Also, adjust array_cat to make array || array comply with the SQL99 spec. Joe Conway
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/execQual.c | modified | +24 −9 |
| src/backend/nodes/copyfuncs.c | modified | +2 −2 |
| src/backend/nodes/equalfuncs.c | modified | +2 −2 |
| src/backend/nodes/outfuncs.c | modified | +2 −2 |
| src/backend/nodes/readfuncs.c | modified | +2 −2 |
| src/backend/optimizer/util/clauses.c | modified | +2 −2 |
| src/backend/parser/parse_expr.c | modified | +4 −39 |
| src/backend/utils/adt/array_userfuncs.c | modified | +39 −31 |
| src/include/catalog/catversion.h | modified | +2 −2 |
| src/include/nodes/primnodes.h | modified | +8 −6 |
| src/test/regress/expected/arrays.out | modified | +15 −15 |
| src/test/regress/sql/arrays.sql | modified | +3 −3 |