Re: Row pattern recognition

From: Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>
To: peter(at)eisentraut(dot)org
Cc: champion(dot)p(at)gmail(dot)com, er(at)xs4all(dot)nl, vik(at)postgresfriends(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Row pattern recognition
Date: 2023-12-08 22:22:58
Message-ID: 20231209.072258.1171973265340692754.t-ishii@sranhm.sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 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.

Ok, I have removed the node types and used existing node types. Also
I have moved RPR related %types to same place to make it easier to know
what are added by RPR.

>> @@ -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?

No, I didn't realize it. Thanks for pointing it out. I have removed
%nonassoc so that MEASURES etc. have the same precedence as IDENT etc.

Attached is the new diff of gram.y against master branch.

Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp

Attachment Content-Type Size
unknown_filename text/plain 11.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-12-08 22:29:45 Re: backtrace_on_internal_error
Previous Message Andres Freund 2023-12-08 22:15:54 Re: backtrace_on_internal_error