Skip to content

Commit

Permalink
Merge pull request #7530 from planetscale/show-anywhere-plan-fix
Browse files Browse the repository at this point in the history
[9.0] Show anywhere plan fix to consider default keyspace
  • Loading branch information
harshit-gangal authored Feb 22, 2021
2 parents 1158ed4 + fbd9430 commit c6393a9
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 4 deletions.
4 changes: 3 additions & 1 deletion go/vt/vtgate/executor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ func TestExecutorShowColumns(t *testing.T) {

func TestExecutorShow(t *testing.T) {
executor, _, _, sbclookup := createLegacyExecutorEnv()
session := NewSafeSession(&vtgatepb.Session{TargetString: "@master"})
session := NewSafeSession(&vtgatepb.Session{TargetString: "TestExecutor"})

for _, query := range []string{"show databases", "show vitess_keyspaces", "show keyspaces", "show DATABASES", "show schemas", "show SCHEMAS"} {
qr, err := executor.Execute(ctx, "TestExecute", session, query, nil)
Expand All @@ -449,6 +449,8 @@ func TestExecutorShow(t *testing.T) {
_, err = executor.Execute(ctx, "TestExecute", session, "show collation where `Charset` = 'utf8' and `Collation` = 'utf8_bin'", nil)
require.NoError(t, err)

_, err = executor.Execute(ctx, "TestExecute", session, "use @master", nil)
require.NoError(t, err)
_, err = executor.Execute(ctx, "TestExecute", session, "show tables", nil)
assert.EqualError(t, err, errNoKeyspace.Error(), "'show tables' should fail without a keyspace")
assert.Empty(t, sbclookup.Queries, "sbclookup unexpectedly has queries already")
Expand Down
2 changes: 1 addition & 1 deletion go/vt/vtgate/planbuilder/show.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ func buildShowBasicPlan(show *sqlparser.ShowBasic, vschema ContextVSchema) (engi
}

func showSendAnywhere(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine.Primitive, error) {
ks, err := vschema.FirstSortedKeyspace()
ks, err := vschema.AnyKeyspace()
if err != nil {
return nil, err
}
Expand Down
2 changes: 0 additions & 2 deletions go/vt/vtgate/planbuilder/testdata/show_cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@
}
}


# show variables
"show variables"
{
Expand All @@ -233,7 +232,6 @@
}
}


# show databases
"show databases"
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,21 @@
"SingleShardOnly": true
}
}

# show variables
"show variables"
{
"QueryType": "SHOW",
"Original": "show variables",
"Instructions": {
"OperatorType": "Send",
"Keyspace": {
"Name": "main",
"Sharded": false
},
"TargetDestination": "AnyShard()",
"IsDML": false,
"Query": "show variables",
"SingleShardOnly": true
}
}

0 comments on commit c6393a9

Please sign in to comment.