diff options
author | Bruce Momjian <bruce@momjian.us> | 2009-12-26 16:55:21 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2009-12-26 16:55:21 +0000 |
commit | 1fd9883ff49fdc4008c6a17936441b74696ff1a9 (patch) | |
tree | 82cc23f4939a26c84374c1f26914ebb15914ad87 /src/backend/parser | |
parent | f9845aca2b0f123b759ce1624d563c497902703f (diff) | |
download | postgresql-1fd9883ff49fdc4008c6a17936441b74696ff1a9.tar.gz postgresql-1fd9883ff49fdc4008c6a17936441b74696ff1a9.zip |
Zero-label enums:
Allow enums to be created with zero labels, for use during binary upgrade.
Diffstat (limited to 'src/backend/parser')
-rw-r--r-- | src/backend/parser/gram.y | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 30663d578ea..333b65bb9e8 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.699 2009/12/23 17:41:43 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.700 2009/12/26 16:55:21 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -297,7 +297,7 @@ static TypeName *TableFuncTypeName(List *columns); TableFuncElementList opt_type_modifiers prep_type_clause execute_param_clause using_clause returning_clause - enum_val_list table_func_column_list + opt_enum_val_list enum_val_list table_func_column_list create_generic_options alter_generic_options relation_expr_list dostmt_opt_list @@ -3623,7 +3623,7 @@ DefineStmt: n->coldeflist = $6; $$ = (Node *)n; } - | CREATE TYPE_P any_name AS ENUM_P '(' enum_val_list ')' + | CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')' { CreateEnumStmt *n = makeNode(CreateEnumStmt); n->typeName = $3; @@ -3715,6 +3715,11 @@ old_aggr_elem: IDENT '=' def_arg } ; +opt_enum_val_list: + enum_val_list { $$ = $1; } + | /*EMPTY*/ { $$ = NIL; } + ; + enum_val_list: Sconst { $$ = list_make1(makeString($1)); } | enum_val_list ',' Sconst |