sqlglot icon indicating copy to clipboard operation
sqlglot copied to clipboard

#3706 breaks `::` parsing in tsql

Open na399 opened this issue 1 year ago • 0 comments

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.

na399 avatar Jun 29 '24 01:06 na399