diff --git a/sql/snowflake/SnowflakeLexer.g4 b/sql/snowflake/SnowflakeLexer.g4 index 1d9bacf049..01d7d8cb84 100644 --- a/sql/snowflake/SnowflakeLexer.g4 +++ b/sql/snowflake/SnowflakeLexer.g4 @@ -796,6 +796,7 @@ RESULT : 'RESULT'; RESUME : 'RESUME'; // RETAINDAYS: 'RETAINDAYS'; // RETURN: 'RETURN'; +RETRY : 'RETRY'; RETURNS : 'RETURNS'; RETURN_ALL_ERRORS : 'RETURN_ALL_ERRORS'; RETURN_ERRORS : 'RETURN_ERRORS'; diff --git a/sql/snowflake/SnowflakeParser.g4 b/sql/snowflake/SnowflakeParser.g4 index f62f88f97b..288f7488d4 100644 --- a/sql/snowflake/SnowflakeParser.g4 +++ b/sql/snowflake/SnowflakeParser.g4 @@ -248,7 +248,11 @@ execute_immediate ; execute_task - : EXECUTE TASK object_name + : EXECUTE TASK object_name retry_last? + ; + +retry_last + : RETRY LAST ; explain diff --git a/sql/snowflake/examples/task.sql b/sql/snowflake/examples/task.sql index 190698364b..2e08a3726f 100644 --- a/sql/snowflake/examples/task.sql +++ b/sql/snowflake/examples/task.sql @@ -1,2 +1,5 @@ ALTER TASK db_name.sch_name.task_name SUSPEND; ALTER TASK sch_name.task_name SUSPEND; + +EXECUTE TASK t; +EXECUTE TASK t RETRY LAST; \ No newline at end of file