Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Window Function: frame exclude clause [CORE5338] #2058

Open
firebird-automations opened this issue Aug 24, 2016 · 1 comment
Open

Window Function: frame exclude clause [CORE5338] #2058

firebird-automations opened this issue Aug 24, 2016 · 1 comment

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @asfernandes

Jira_subtask_inward CORE1688

Votes: 3

frame clause is useful, especially for first_value,last_value, and nth_value| that consider only the
rows within the "window frame"

syntax :
<window frame clause> ::=
<window frame units> <window frame extent>
[ <window frame exclusion> ]

<window frame units> ::=
ROWS
| RANGE

<window frame extent> ::=
<window frame start>
| <window frame between>

<window frame start> ::=
UNBOUNDED PRECEDING
| <window frame preceding>
| CURRENT ROW

<window frame preceding> ::=
<unsigned value specification> PRECEDING

<window frame between> ::=
BETWEEN <window frame bound 1> AND <window frame bound 2>

<window frame bound 1> ::=
<window frame bound>

<window frame bound 2> ::=
<window frame bound>

<window frame bound> ::=
<window frame start>
| UNBOUNDED FOLLOWING
| <window frame following>

<window frame following> ::=
<unsigned value specification> FOLLOWING

<window frame exclusion> ::=
EXCLUDE CURRENT ROW
| EXCLUDE GROUP
| EXCLUDE TIES
| EXCLUDE NO OTHERS

@mrotteveel
Copy link
Member

mrotteveel commented May 8, 2023

The currently implemented syntax in parse.y makes window_frame_exclusion_opt independent from the window_frame_extent, which is not correct according to the SQL:2016-2 syntax. The exclusion should only be specified when specifying a frame.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants