public inbox for [email protected]  
help / color / mirror / Atom feed
From: Peter Eisentraut <[email protected]>
To: Tatsuo Ishii <[email protected]>
To: [email protected]
To: [email protected]
To: [email protected]
Cc: [email protected]
Subject: Re: Row pattern recognition
Date: Wed, 6 Dec 2023 12:05:33 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

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?







view thread (3+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Row pattern recognition
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox