fix(cubesql): Match CubeScan timestamp literal types to member types #9275
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.
Check List
Description of Changes Made
This PR changes type of timestamp literal values in
CubeScan
toTimestampNanosecond
. They previously converted toTimestampMillisecond
which does not match member type (which is actuallyTimestampNanosecond
despite Cube returning millisecond precision values). This led to issues with two CubeScans, one containing a member and another a literal, being unable toUNION
.Example plan that fails to execute:
As Cube date time columns are considered
TimestampMillisecond
, initial planning providesMillisecond
type; butCubeScan
member types areTimestampNanosecond
, and twoCubeScan
s cannot be unioned in this case. As such, rewriting produces an invalid plan.