feat(duckdb)!: handle named arguments and non-integer scale input for ROUND #6495
+71
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Named Arguments
In Snowflake, ROUND() can be used with named arguments, which is not supported in DuckDB.
Previous DuckDB transpilation and execution error:
Fix: DuckDB generator extracts the values from
Kwargexpressions.Handling non-integer scale
In Snowflake,
ROUND(input, scale)expectsscaleto be an integer. But if given a non-integer value, it will handle castingscaleto an integer internally.However, this fails in DuckDB:
Fix: at Snowflake parse-time, we update
Roundexpression to indicate non-integer scale values should be cast. Then, casting can be generated in DuckDB