Syntax conflicts in frame clause - Mailing list pgsql-hackers

From Hitoshi Harada
Subject Syntax conflicts in frame clause
Date
Msg-id e08cc0400911240908s7efaea85wc8505d228220b980@mail.gmail.com
Whole thread Raw
Responses Re: Syntax conflicts in frame clause
List pgsql-hackers
Rewriting my frame support types patch to allow any expression in
PRECEDING/FOLLOWING clause, I found the syntax below in PG conflicts:

frame_extent: frame_bound { ... }   | BETWEEN frame_bound AND frame_bound { ... }
;
frame_bound: UNBOUNDED PRECEDING { ... }   | UNBOUNDED FOLLOWING { ... }   | CURRENT_P ROW { ... }   | a_expr PRECEDING
{... }   | a_expr FOLLOWING { .... }
 
;

because a_expr (and of course b_expr) contains BETWEEN as
type_func_name_keyword, which means the starting BETWEEN in
frame_extend is completely ambiguous. When I tried to move BETWEEN to
reserved_keyword, it was solved as expected.

In my poor mind there's no way to avoid this situation as long as you
keep BETWEEN as type_func_name_keyword, but could anyone have a
solution for this?

Regards,

-- 
Hitoshi Harada


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Initial refactoring of plperl.c - draft [PATCH]
Next
From: "Kevin Grittner"
Date:
Subject: Re: [GENERAL] Updating column on row update