-
Notifications
You must be signed in to change notification settings - Fork 2.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
Use evalengine for Vindex lookups in route primitive #9291
Conversation
7e52ab3
to
28d04b2
Compare
go/vt/vtgate/planbuilder/testdata/ddl_cases_no_default_keyspace.txt
Outdated
Show resolved
Hide resolved
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
…r will not use the returned value if it is nil and will check for other expression Signed-off-by: Harshit Gangal <harshit@planetscale.com>
…egacy back to route (v3) Signed-off-by: Harshit Gangal <harshit@planetscale.com>
18eed15
to
af0e7a0
Compare
Signed-off-by: Andres Taylor <andres@planetscale.com>
9a0a9dc
to
4f40d2a
Compare
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
if n.selectedVindex() != nil { | ||
singleColumn = n.selected.foundVindex.(vindexes.SingleColumn) | ||
values = n.selected.values | ||
if len(n.selected.values) == 1 { |
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.
is this safe to do? @harshit-gangal
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 length is always going to be 1
for singleColumn Vindex. This check is not required.
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
9da8bfb
to
11878b4
Compare
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
case querypb.Type_TUPLE: | ||
tuple := make([]EvalResult, 0, len(val.Values)) | ||
for _, value := range val.Values { | ||
single, err := evaluateByTypeSingle(value.Type, value.Value) |
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.
this should be evaluateByType
, so we can support tuples inside of tuples
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.
that takes in bindvariable and val.Values range will give query.Value
5821afb
to
9da8bfb
Compare
9da8bfb
to
57510b2
Compare
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
57510b2
to
754a568
Compare
Description
This PR replaces PlanValue with EvalEngineExpr to be used in route primitive. Created a separate logical plan and engine primitive of route for Gen4 planner.
Related Issue(s)
Checklist
Deployment Notes