-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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 the Window operator with overflowed empty k-rows frames #9476
Conversation
This pull request was exported from Phabricator. Differential Revision: D56085211 |
✅ Deploy Preview for meta-velox canceled.
|
Hi @aditi-pandit, could you help review this PR? Thanks! |
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.
Thanks @kagamiori. LGTM.
c42c352
to
daea8a7
Compare
…incubator#9476) Summary: The boundaries of Window frames are int32 integers. When the frame boundaries given in the query exceed int32 limit, the Window operator needs to adjust the frame bounds. However, the current code has a bug that when the frame end is below INT32_MIN, it adjust the frame end to 0. This is wrong because the original frame is empty, but after the adjustment, it always include row 0. This diff fixes this bug by setting the frame bound to -1 when the frame bound belows INT32_MIN. A subsequent call to computeValidFrames will check whether this frame is empty and mark it properly. This diff fixes facebookincubator#9375. Differential Revision: D56085211
This pull request was exported from Phabricator. Differential Revision: D56085211 |
…incubator#9476) Summary: The boundaries of Window frames are int32 integers. When the frame boundaries given in the query exceed int32 limit, the Window operator needs to adjust the frame bounds. However, the current code has a bug that when the frame end is below INT32_MIN, it adjust the frame end to 0. This is wrong because the original frame is empty, but after the adjustment, it always include row 0. This diff fixes this bug by setting the frame bound to -1 when the frame bound belows INT32_MIN. A subsequent call to computeValidFrames will check whether this frame is empty and mark it properly. This diff fixes facebookincubator#9375. Differential Revision: D56085211
daea8a7
to
da58d6c
Compare
This pull request was exported from Phabricator. Differential Revision: D56085211 |
…incubator#9476) Summary: The boundaries of Window frames are int32 integers. When the frame boundaries given in the query exceed int32 limit, the Window operator needs to adjust the frame bounds. However, the current code has a bug that when the frame end is below INT32_MIN, it adjust the frame end to 0. This is wrong because the original frame is empty, but after the adjustment, it always include row 0. This diff fixes this bug by setting the frame bound to -1 when the frame bound belows INT32_MIN. A subsequent call to computeValidFrames will check whether this frame is empty and mark it properly. This diff fixes facebookincubator#9375. Reviewed By: Yuhta Differential Revision: D56085211
da58d6c
to
4803b58
Compare
This pull request was exported from Phabricator. Differential Revision: D56085211 |
…incubator#9476) Summary: The boundaries of Window frames are int32 integers. When the frame boundaries given in the query exceed int32 limit, the Window operator needs to adjust the frame bounds. However, the current code has a bug that when the frame end is below INT32_MIN, it adjust the frame end to 0. This is wrong because the original frame is empty, but after the adjustment, it always include row 0. This diff fixes this bug by setting the frame bound to -1 when the frame bound belows INT32_MIN. A subsequent call to computeValidFrames will check whether this frame is empty and mark it properly. This diff fixes facebookincubator#9375. Reviewed By: Yuhta Differential Revision: D56085211
4803b58
to
f009024
Compare
This pull request was exported from Phabricator. Differential Revision: D56085211 |
…incubator#9476) Summary: The boundaries of Window frames are int32 integers. When the frame boundaries given in the query exceed int32 limit, the Window operator needs to adjust the frame bounds. However, the current code has a bug that when the frame end is below INT32_MIN, it adjust the frame end to 0. This is wrong because the original frame is empty, but after the adjustment, it always include row 0. This diff fixes this bug by setting the frame bound to -1 when the frame bound belows INT32_MIN. A subsequent call to computeValidFrames will check whether this frame is empty and mark it properly. This diff fixes facebookincubator#9375. Reviewed By: Yuhta Differential Revision: D56085211
…incubator#9476) Summary: The boundaries of Window frames are int32 integers. When the frame boundaries given in the query exceed int32 limit, the Window operator needs to adjust the frame bounds. However, the current code has a bug that when the frame end is below INT32_MIN, it adjust the frame end to 0. This is wrong because the original frame is empty, but after the adjustment, it always include row 0. This diff fixes this bug by setting the frame bound to -1 when the frame bound belows INT32_MIN. A subsequent call to computeValidFrames will check whether this frame is empty and mark it properly. This diff fixes facebookincubator#9375. Reviewed By: Yuhta Differential Revision: D56085211
This pull request has been merged in 79f3add. |
Conbench analyzed the 1 benchmark run on commit There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
Summary:
The boundaries of Window frames are int32 integers. When the frame
boundaries given in the query exceed int32 limit, the Window
operator needs to adjust the frame bounds. However, the current
code has a bug that when the frame end is below INT32_MIN, it
adjust the frame end to 0. This is wrong because the original frame is
empty, but after the adjustment, it always include row 0. This diff fixes
this bug by setting the frame bound to -1 when the frame bound
belows INT32_MIN. A subsequent call to computeValidFrames will
check whether this frame is empty and mark it properly.
This diff fixes #9375.
Differential Revision: D56085211