-
Notifications
You must be signed in to change notification settings - Fork 590
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
refactor(expr): separate user-facing rw_vnode
from the internal one
#18815
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @BugenZhao and the rest of your teammates on Graphite |
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
67df70e
to
5f948a0
Compare
Signed-off-by: Bugen Zhao <[email protected]>
@@ -261,7 +261,8 @@ impl ExprVisitor for ImpureAnalyzer { | |||
| Type::MapContains | |||
| Type::MapDelete | |||
| Type::MapInsert | |||
| Type::MapLength => | |||
| Type::MapLength | |||
| Type::VnodeUser => |
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.
VnodeUser
should be deterministic.
Signed-off-by: Bugen Zhao <[email protected]>
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.
LGTM
Signed-off-by: Bugen Zhao <[email protected]>
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
This PR separates the function type for the user-facing function
rw_vnode(..)
(with typeVnodeUser
, mainly for debugging purposes) from the internal one (with typeVnode
, mainly for two-phase aggregation), while trying to reuse common code as much as possible.The difference between them is that, internal function
Vnode
will obtain the vnode count from the context (i.e. thevnode_count
field of the current fragment), while the user-facingVnodeUser
will use the first const argument for the vnode count.Can refer to e2e tests for its behavior.
Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.