[TSQL] Error parsing statements with the words Class and Property
martinswan opened this issue · comments
Search before asking
- I searched the issues and found no similar issues.
What Happened
SQL code that we have in or system contains unbracketed references to fields named "Class" and "Property". The code runs fine in the system, but SQLFluff is not able to parse this code.
Expected Behaviour
I would expect the following code to run without error:
import sqlfluff
query = f"""
SELECT
Class
, Property
FROM MyDatabase.MySchema.MyTable
"""
sqlfluff.parse(query, dialect='tsql')
The code does run without error if you update it to include brackets around the field names likes so:
query = f"""
SELECT
[Class]
, [Property]
FROM MyDatabase.MySchema.MyTable
"""
sqlfluff.parse(query, dialect='tsql')
Observed Behaviour
Instead of the code running without error, I get the following error:
sqlfluff.api.simple.APIParsingError: Found 1 issues while parsing string.
Line 2, Position 1: Found unparsable section: 'SELECT\n Class\n, Property\nFROM MyDatabas...'
How to reproduce
Run the following code to get this error:
import sqlfluff
query = f"""
SELECT
Class
, Property
FROM MyDatabase.MySchema.MyTable
"""
sqlfluff.parse(query, dialect='tsql')
Dialect
tsql
Version
sqlfluff 2.3.5
python 3.12.1
Configuration
(no configuration)
Are you willing to work on and submit a PR to address the issue?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct
I'm raising a PR to remove PROPERTY
from the reserved keywords. The docs list CLASS
as a future reserved keyword, so users are discouraged from using it