-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix issue with ScanQueryFrameProcessor cursor build not adjusting intervals #17168
fix issue with ScanQueryFrameProcessor cursor build not adjusting intervals #17168
Conversation
cursorFactory.makeCursorHolder(ScanQueryEngine.makeCursorBuildSpec(query, null)); | ||
cursorFactory.makeCursorHolder( | ||
ScanQueryEngine.makeCursorBuildSpec( | ||
query.withQuerySegmentSpec(new MultipleIntervalSegmentSpec(Intervals.ONLY_ETERNITY)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The old code did this too, but, it seems like it'd be incorrect if the query
had an intervals
filter on the __time
column. I am not sure how (or if) this can actually happen, but I wonder if it could be made to happen by doing a query like this:
SELECT * FROM (SELECT * FROM "wikipedia" ORDER BY countryName LIMIT 100)
WHERE TIME_IN_INTERVAL(__time, '2020/P1D') OR TIME_IN_INTERVAL(__time, '2021/P1D')
I tried doing that just now, and got a QueryNotSupported
error, which seems like a different problem. But what if it was supported?
IMO, here we should add a validation here to check that query
has an eternity interval, rather than overriding it to be eternity. If it was anything other than eternity, this wouldn't be correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR for fixing this: #17173
…ervals (apache#17168) * fix issue with ScanQueryFrameProcessor cursor build not adjusting intervals * all hail the robot overlords * style bot
…g. (#17152) (#17168) (#17245) * ScanQueryFrameProcessor: Close CursorHolders as we go along. (#17152) * fix issue with ScanQueryFrameProcessor cursor build not adjusting intervals (#17168) --------- Co-authored-by: Gian Merlino <[email protected]> Co-authored-by: Clint Wylie <[email protected]>
During the refactor of #16533, accidentally lost the calls to
query.withQuerySegmentSpec
inScanQueryFrameProcessor
here and here