sqlglot
sqlglot copied to clipboard
#3706 breaks `::` parsing in tsql
Before #3706 in v25.3.2:
>>> sqlglot.__version__
'25.3.1'
>>> sqlglot.transpile('SELECT foo::INT FROM bar', read='tsql', write='tsql')
['SELECT CAST(foo AS INTEGER) FROM bar']
>>> sqlglot.transpile('SELECT foo::INT FROM bar', read='postgres', write='tsql')
['SELECT CAST(foo AS INTEGER) FROM bar']
After that:
>>> sqlglot.__version__
'25.3.2'
>>> sqlglot.transpile('SELECT foo::INT FROM bar', read='tsql', write='tsql')
['SELECT foo::INT FROM bar']
>>> sqlglot.transpile('SELECT foo::INT FROM bar', read='postgres', write='tsql')
['SELECT CAST(foo AS INTEGER) FROM bar']
This causes a downstream effect on SQLMesh v0.106, when default dialect is set to 'tsql'. Needs to rollback to v0.105.