[2/2] Parameter match on SqlTypeFamily #1603
Merged
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.
Relevant Issues
#1585
#1598
Description
This PR is Part 2 of 2. It introduces the internal concept of a "SqlTypeFamily" which is internal-only and aids us in accurate typing.
Why are we doing this? Accurate SQL typing requires knowing the exact types of input arguments i.e. what is the precision and scale of the argument decimals. SQL defines this by "enumerating" all permutations and defining a static function for each permutation. In practice, this would mean defining at least 38^2 functions for each function that has a decimal argument.
This implementation is how we get around that. The SqlType family enables defining operators on "acceptable" types and checking if we can coerce to the preferred type when there are multiple choices (postgres style).
Other Information
and Code Style Guidelines? YES
License Information
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.