diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2008-10-29 11:24:53 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2008-10-29 11:24:53 +0000 |
commit | f7ad874ca860f95f050641cbe6f325b7a2afe0b9 (patch) | |
tree | ad3ac63bdd873b2135f2a3654f22fe72d66042ba /src | |
parent | f7ef575fb72cf5f9e0a6fb530e52c4ff13588f12 (diff) | |
download | postgresql-f7ad874ca860f95f050641cbe6f325b7a2afe0b9.tar.gz postgresql-f7ad874ca860f95f050641cbe6f325b7a2afe0b9.zip |
Since SQL:2003, the array size specification in the SQL ARRAY syntax has
been optional.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/parser/gram.y | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 4759e041340..8b44e5b6ba4 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.631 2008/10/28 14:09:45 petere Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.632 2008/10/29 11:24:53 petere Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -7124,19 +7124,29 @@ Typename: SimpleTypename opt_array_bounds $$->arrayBounds = $3; $$->setof = TRUE; } + /* SQL standard syntax, currently only one-dimensional */ | SimpleTypename ARRAY '[' Iconst ']' { - /* SQL99's redundant syntax */ $$ = $1; $$->arrayBounds = list_make1(makeInteger($4)); } | SETOF SimpleTypename ARRAY '[' Iconst ']' { - /* SQL99's redundant syntax */ $$ = $2; $$->arrayBounds = list_make1(makeInteger($5)); $$->setof = TRUE; } + | SimpleTypename ARRAY + { + $$ = $1; + $$->arrayBounds = list_make1(makeInteger(-1)); + } + | SETOF SimpleTypename ARRAY + { + $$ = $2; + $$->arrayBounds = list_make1(makeInteger(-1)); + $$->setof = TRUE; + } ; opt_array_bounds: |