Skip to content

Conversation

keraion
Copy link
Contributor

@keraion keraion commented Jun 25, 2025

Brief summary of the change made

Changes the keyword ACTION from reserved to non-reserved.

Are there any other side effects of this change that we should be aware of?

None

Pull Request checklist

  • Please confirm you have completed any of the necessary steps below.

  • Included test cases to demonstrate any code changes, which may be one or more of the following:

    • .yml rule test cases in test/fixtures/rules/std_rule_cases.
    • .sql/.yml parser test cases in test/fixtures/dialects (note YML files can be auto generated with tox -e generate-fixture-yml).
    • Full autofix test cases in test/fixtures/linter/autofix.
    • Other.
  • Added appropriate documentation for the change.

  • Created GitHub issues for any relevant followup/future enhancements if appropriate.

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary

Makes ACTION a non-reserved keyword in SQLite dialect, allowing its use as an identifier (e.g., column name) while maintaining keyword recognition in appropriate contexts.

  • Moved ACTION from RESERVED_KEYWORDS to UNRESERVED_KEYWORDS in src/sqlfluff/dialects/dialect_sqlite_keywords.py
  • Added test cases in test/fixtures/dialects/sqlite/create_trigger.sql demonstrating valid usage of action as a column name
  • Fixed issue #6965 where SQLFluff couldn't parse valid SQLite trigger statements with action columns
  • Change aligns with SQLite's official behavior where ACTION is not a reserved keyword

3 files reviewed, 1 comment
Edit PR Review Bot Settings | Greptile

@@ -205,4 +204,5 @@
"NOCASE",
"RTRIM",
"STORED", # https://sqlite.org/forum/forumpost/91127ba3db
"ACTION",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Add a comment linking to SQLite docs or the issue for why ACTION was moved to unreserved, similar to the STORED keyword comment

Copy link
Contributor

Coverage Results ✅

Name    Stmts   Miss  Cover   Missing
-------------------------------------
TOTAL   19770      0   100%

249 files skipped due to complete coverage.

Copy link
Contributor

@WittierDinosaur WittierDinosaur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@WittierDinosaur WittierDinosaur added this pull request to the merge queue Jul 1, 2025
Merged via the queue into main with commit c232a2c Jul 1, 2025
30 checks passed
@WittierDinosaur WittierDinosaur deleted the sqlite_non_reserve_keyword_action branch July 1, 2025 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SQLite parse error for triggers with INSERTs
2 participants