Skip to content

Commit

Permalink
Use proper keyspace when updating the query graph of a reference DML
Browse files Browse the repository at this point in the history
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
  • Loading branch information
frouioui committed Nov 14, 2024
1 parent f6067e0 commit 579e92c
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
2 changes: 1 addition & 1 deletion go/vt/vtgate/planbuilder/operators/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ func updateQueryGraphWithSource(ctx *plancontext.PlanningContext, input Operator
if tbl.ID != tblID {
continue
}
tbl.Alias = sqlparser.NewAliasedTableExpr(sqlparser.NewTableName(vTbl.Name.String()), tbl.Alias.As.String())
tbl.Alias = sqlparser.NewAliasedTableExpr(sqlparser.NewTableNameWithQualifier(vTbl.Name.String(), vTbl.Keyspace.Name), tbl.Alias.As.String())
tbl.Table, _ = tbl.Alias.TableName()
}
return op, Rewrote("change query table point to source table")
Expand Down
1 change: 1 addition & 0 deletions go/vt/vtgate/planbuilder/plan_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -557,6 +557,7 @@ func (s *planTestSuite) TestWithUserDefaultKeyspaceFromFileSharded() {
}

s.testFile("select_cases_with_user_as_default.json", vschema, false)
s.testFile("dml_cases_with_user_as_default.json", vschema, false)
}

func (s *planTestSuite) TestWithSystemSchemaAsDefaultKeyspace() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[
{
"comment": "Update reference table from sharded keyspace to unsharded keyspace",
"query": "update ambiguous_ref_with_source set done = true where id = 1;",
"plan": {
"QueryType": "UPDATE",
"Original": "update ambiguous_ref_with_source set done = true where id = 1;",
"Instructions": {
"OperatorType": "Update",
"Variant": "Unsharded",
"Keyspace": {
"Name": "main",
"Sharded": false
},
"TargetTabletType": "PRIMARY",
"Query": "update ambiguous_ref_with_source set done = true where id = 1",
"Table": "ambiguous_ref_with_source"
},
"TablesUsed": [
"main.ambiguous_ref_with_source"
]
}
}
]

0 comments on commit 579e92c

Please sign in to comment.