diff --git a/src/common/backend/parser/gram.y b/src/common/backend/parser/gram.y index 79fd7ef4e..03947af9c 100644 --- a/src/common/backend/parser/gram.y +++ b/src/common/backend/parser/gram.y @@ -824,7 +824,7 @@ static int errstate; MAPPING MASKING MASTER MATCH MATERIALIZED MATCHED MAXEXTENTS MAXSIZE MAXTRANS MAXVALUE MERGE MINUS_P MINUTE_P MINVALUE MINEXTENTS MODE MODIFY_P MONTH_P MOVE MOVEMENT MODEL // DB4AI NAME_P NAMES NATIONAL NATURAL NCHAR NEXT NO NOCOMPRESS NOCYCLE NODE NOLOGGING NOMAXVALUE NOMINVALUE NONE - NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLCOLS NULLIF NULLS_P NUMBER_P NUMERIC NUMSTR NVARCHAR2 NVL + NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLCOLS NULLIF NULLS_P NUMBER_P NUMERIC NUMSTR NVARCHAR NVARCHAR2 NVL OBJECT_P OF OFF OFFSET OIDS ON ONLY OPERATOR OPTIMIZATION OPTION OPTIONALLY OPTIONS OR ORDER OUT_P OUTER_P OVER OVERLAPS OVERLAY OWNED OWNER @@ -20084,6 +20084,8 @@ character: CHARACTER opt_varying { $$ = (char *)($2 ? "varchar": "bpchar"); } | CHAR_P opt_varying { $$ = (char *)($2 ? "varchar": "bpchar"); } + | NVARCHAR + { $$ = "nvarchar2"; } | NVARCHAR2 { $$ = "nvarchar2"; } | VARCHAR @@ -23646,6 +23648,7 @@ col_name_keyword: | NULLIF | NUMBER_P | NUMERIC + | NVARCHAR | NVARCHAR2 | NVL | OUT_P diff --git a/src/common/interfaces/libpq/frontend_parser/gram.y b/src/common/interfaces/libpq/frontend_parser/gram.y index b2d31b92b..bd097f36c 100755 --- a/src/common/interfaces/libpq/frontend_parser/gram.y +++ b/src/common/interfaces/libpq/frontend_parser/gram.y @@ -543,7 +543,7 @@ extern THR_LOCAL bool stmt_contains_operator_plus; MAPPING MASKING MASTER MASTR MATCH MATERIALIZED MATCHED MAXEXTENTS MAXSIZE MAXTRANS MAXVALUE MERGE MINUS_P MINUTE_P MINVALUE MINEXTENTS MODE MODIFY_P MONTH_P MOVE MOVEMENT MODEL // DB4AI NAME_P NAMES NATIONAL NATURAL NCHAR NEXT NLSSORT NO NOCOMPRESS NOCYCLE NODE NOLOGGING NOMAXVALUE NOMINVALUE NONE - NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLCOLS NULLIF NULLS_P NUMBER_P NUMERIC NUMSTR NVARCHAR2 NVL + NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLCOLS NULLIF NULLS_P NUMBER_P NUMERIC NUMSTR NVARCHAR NVARCHAR2 NVL OBJECT_P OF OFF OFFSET OIDS ON ONLY OPERATOR OPTIMIZATION OPTION OPTIONALLY OPTIONS OR ORDER OUT_P OUTER_P OVER OVERLAPS OVERLAY OWNED OWNER @@ -8214,6 +8214,8 @@ character: CHARACTER opt_varying { $$ = (char *)($2 ? "varchar": "bpchar"); } | CHAR_P opt_varying { $$ = (char *)($2 ? "varchar": "bpchar"); } + | NVARCHAR + { $$ = "nvarchar2"; } | NVARCHAR2 { $$ = "nvarchar2"; } | VARCHAR @@ -11445,6 +11447,7 @@ col_name_keyword: | NULLIF | NUMBER_P | NUMERIC + | NVARCHAR | NVARCHAR2 | NVL | OUT_P diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h index 176b73081..97fa193fb 100644 --- a/src/include/parser/kwlist.h +++ b/src/include/parser/kwlist.h @@ -395,6 +395,7 @@ PG_KEYWORD("nulls", NULLS_P, UNRESERVED_KEYWORD) PG_KEYWORD("number", NUMBER_P, COL_NAME_KEYWORD) PG_KEYWORD("numeric", NUMERIC, COL_NAME_KEYWORD) PG_KEYWORD("numstr", NUMSTR, UNRESERVED_KEYWORD) +PG_KEYWORD("nvarchar", NVARCHAR, COL_NAME_KEYWORD) PG_KEYWORD("nvarchar2", NVARCHAR2, COL_NAME_KEYWORD) PG_KEYWORD("nvl", NVL, COL_NAME_KEYWORD) PG_KEYWORD("object", OBJECT_P, UNRESERVED_KEYWORD) diff --git a/src/test/regress/parallel_schedule0 b/src/test/regress/parallel_schedule0 index ef23282dc..5781f314a 100644 --- a/src/test/regress/parallel_schedule0 +++ b/src/test/regress/parallel_schedule0 @@ -26,7 +26,7 @@ test: single_node_tablespace # The first group of parallel tests # ---------- test: single_node_boolean single_node_char single_node_name single_node_varchar single_node_text single_node_int2 single_node_int4 single_node_int8 single_node_oid single_node_float4 single_node_float8 single_node_bit single_node_numeric single_node_txid single_node_uuid single_node_enum single_node_money -#test: single_node_nvarchar +test: single_node_nvarchar # Depends on things setup during char, varchar and text #test: single_node_strings