fix: avoid invalid CAST(NULL AS NULL) in SQLGlot compiler#17487
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the SQLGlot compilation logic to return a plain NULL expression instead of a cast when the value is None and the SQLGlot type is "NULL". It also adds a unit test to verify this behavior. The reviewer noted that calling .upper() directly on sqlglot_type could raise an AttributeError if it is a DataType object rather than a string, and suggested converting it to a string first.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
TrevorBergeron
left a comment
There was a problem hiding this comment.
Seems like on ok fix, but I wonder if we should be handling this earlier, upstream? Like where are the casts to NULL type happening?
Good idea. I will use another PR for this upstream fix. |
This PR resolves a compilation crash caused by the SQLGlot compiler attempting to generate an invalid CAST(NULL AS NULL) statement in BigQuery, which triggers a syntax/validation error (e.g., Unexpected keyword NULL).
Fixes #<524701452> 🦕