You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vitess comes with a good expression typing system in the evaluation engine, but that is not used today while planning. This means that for a large number of queries, we end up using weight_strings since the very limited typing system available for the planner can't figure out the type of most expressions.
It would be great if we could use the already existing type system during query planning.
Example
For this simple query:
select1from user order byuser.col+user.col
the produced plan still uses weight_strings because the planner can't figure out the type of user.col + user.col.
{
"QueryType": "SELECT",
"Original": "select 1 from user order by user.col + user.col",
"Instructions": {
"OperatorType": "Route",
"Variant": "Scatter",
"Keyspace": {
"Name": "user",
"Sharded": true
},
"FieldQuery": "select 1, `user`.col + `user`.col, weight_string(`user`.col + `user`.col) from `user` where 1 != 1",
"OrderBy": "(1|2) ASC",
"Query": "select 1, `user`.col + `user`.col, weight_string(`user`.col + `user`.col) from `user` order by `user`.col + `user`.col asc",
"ResultColumns": 1,
"Table": "`user`"
},
"TablesUsed": [
"user.user"
]
}
The text was updated successfully, but these errors were encountered:
Feature Description
Vitess comes with a good expression typing system in the evaluation engine, but that is not used today while planning. This means that for a large number of queries, we end up using
weight_strings
since the very limited typing system available for the planner can't figure out the type of most expressions.It would be great if we could use the already existing type system during query planning.
Example
For this simple query:
the produced plan still uses
weight_strings
because the planner can't figure out the type ofuser.col + user.col
.The text was updated successfully, but these errors were encountered: