On 04.12.23 12:40, Tatsuo Ishii wrote:
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index d631ac89a9..5a77fca17f 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -251,6 +251,8 @@ static Node *makeRecursiveViewSelect(char *relname, List 
*aliases, Node *query);
        DefElem    *defelt;
        SortBy     *sortby;
        WindowDef  *windef;
+       RPCommonSyntax  *rpcom;
+       RPSubsetItem    *rpsubset;
        JoinExpr   *jexpr;
        IndexElem  *ielem;
        StatsElem  *selem;
@@ -278,6 +280,7 @@ static Node *makeRecursiveViewSelect(char *relname, List 
*aliases, Node *query);
        MergeWhenClause *mergewhen;
        struct KeyActions *keyactions;
        struct KeyAction *keyaction;
+       RPSkipTo        skipto;
  }
%type <node> stmt toplevel_stmt schema_stmt routine_body_stmt

It is usually not the style to add an entry for every node type to the %union. Otherwise, we'd have hundreds of entries in there.

@@ -866,6 +878,7 @@ static Node *makeRecursiveViewSelect(char *relname, List 
*aliases, Node *query);
  %nonassoc     UNBOUNDED               /* ideally would have same precedence 
as IDENT */
  %nonassoc     IDENT PARTITION RANGE ROWS GROUPS PRECEDING FOLLOWING CUBE 
ROLLUP
                        SET KEYS OBJECT_P SCALAR VALUE_P WITH WITHOUT
+%nonassoc      MEASURES AFTER INITIAL SEEK PATTERN_P
  %left         Op OPERATOR             /* multi-character ops and user-defined 
operators */
  %left         '+' '-'
  %left         '*' '/' '%'

It was recently discussed that these %nonassoc should ideally all have the same precedence. Did you consider that here?



Reply via email to