[MDEV-9724] Window functions: Frame Exclusion support Created: 2016-03-14  Updated: 2016-04-14  Resolved: 2016-03-17

Status: Closed
Project: MariaDB Server
Component/s: Optimizer - Window functions
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Sergei Petrunia Assignee: Sergei Petrunia
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
PartOf
is part of MDEV-6115 window functions as in the SQL standard Closed

 Description   

SQL standard supports EXCLUDE clause within window frame definition.

We currently have it in sql_yacc.yy. The statement is parsed, but ignored:

opt_window_frame_clause:
          /* empty */ {}
        | window_frame_units window_frame_extent opt_window_frame_exclusion

opt_window_frame_exclusion:
          /* empty */ { $$= Window_frame::EXCL_NONE; }
        | EXCLUDE_SYM CURRENT_SYM ROW_SYM
          { $$= Window_frame::EXCL_CURRENT_ROW; }
        | EXCLUDE_SYM GROUP_SYM
          { $$= Window_frame::EXCL_GROUP; }
        | EXCLUDE_SYM TIES_SYM
          { $$= Window_frame::EXCL_TIES; }
        | EXCLUDE_SYM NO_SYM OTHERS_SYM
          { $$= Window_frame::EXCL_NONE; }
        ;      

The question is - should we implement frame exclusion? It doesn't seem to be supported by anybody:

If we decide not to support Frame Exclusion, we should disable it in the parser so that it doesn't confuse anybody.



 Comments   
Comment by Sergei Petrunia [ 2016-03-15 ]

Made a decision on the optimizer call: we will not support frame exclusion (at least for the first version).

The parts of the grammar should remain, but attempt to specify any exclusion clause will cause a "Not supported" or a "not implemented" error (check what error code/message we have)

Comment by Sergei Petrunia [ 2016-03-17 ]

Pushed to the feature tree.

Generated at Thu Feb 08 07:36:50 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.