Reject FOR TIMESTAMP AS OF ... with future temporal value#12720
Merged
findepi merged 2 commits intotrinodb:masterfrom Jun 10, 2022
Merged
Reject FOR TIMESTAMP AS OF ... with future temporal value#12720findepi merged 2 commits intotrinodb:masterfrom
findepi merged 2 commits intotrinodb:masterfrom
Conversation
Member
Author
|
Currently, based on #12719 |
findepi
commented
Jun 7, 2022
Member
Author
There was a problem hiding this comment.
Compare with session start time.
This will make AS OF now() queries fail deterministically. (Otherwise they will work sometimes, but not always)
Member
Author
There was a problem hiding this comment.
Addressed.
However, i decided to do the math with maximum precision. The AS OF now() has millisecond precision and thus may be rounded to a milli that's sub-milli before the session start, thus may or may not be rejected.
The AS OF now(9) (or higher precision) will deterministically be rejected, since session start time is measured with nano precision (Instant).
4223999 to
6d74fb9
Compare
Member
Author
|
rebasing after #12719 merged. |
Member
Author
`StatementAnalyzer` sporadically needs to coerce a value to a desired type. Extract the existing code into a utility method.
6d74fb9 to
1946182
Compare
The time travel `FOR ... AS OF ...` syntax is meant to return consistent state of a table. The future state isn't known, so it cannot be consistently queried. Reject such queries on the engine side so that connectors do not have to deal with this complexity.
1946182 to
02a63bf
Compare
losipiuk
approved these changes
Jun 9, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The time travel
FOR ... AS OF ...syntax is meant to return consistentstate of a table. The future state isn't known, so it cannot be
consistently queried. Reject such queries on the engine side so that
connectors do not have to deal with this complexity.