JSqlParser icon indicating copy to clipboard operation
JSqlParser copied to clipboard

[FEATURE] support for Snowflake time travel syntax

Open davidjgoss opened this issue 1 year ago • 0 comments

Grammar or Syntax Description

Snowflake supports an AT | BEFORE clause in SELECT statements to enable time travel functionality. This currently causes the statement to be unparseable.

SQL Example

SELECT * FROM my_table AT(TIMESTAMP => TO_TIMESTAMP(1432669154242, 3));

SELECT * FROM my_table AT(OFFSET => -60*5) AS T WHERE T.flag = 'valid';

SELECT * FROM my_table BEFORE(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726');

Additional context

  • JSQLParser 4.8
  • Snowflake
  • Syntax docs: https://docs.snowflake.com/en/sql-reference/constructs/at-before

davidjgoss avatar Feb 07 '24 10:02 davidjgoss