Skip to content

Commit 487cf93

Browse files
authored
Merge pull request #2689 from dolthub/zachmu/show-table-schema
Support for schema name in SHOW TABLE statements
2 parents eb9722c + 8287a58 commit 487cf93

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
github.com/dolthub/go-icu-regex v0.0.0-20240916130659-0118adc6b662
77
github.com/dolthub/jsonpath v0.0.2-0.20240227200619-19675ab05c71
88
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81
9-
github.com/dolthub/vitess v0.0.0-20241002230050-2c2ea65cf324
9+
github.com/dolthub/vitess v0.0.0-20241009160728-54c0746cbff7
1010
github.com/go-kit/kit v0.10.0
1111
github.com/go-sql-driver/mysql v1.7.2-0.20231213112541-0004702b931d
1212
github.com/gocraft/dbr/v2 v2.7.2

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ github.com/dolthub/jsonpath v0.0.2-0.20240227200619-19675ab05c71 h1:bMGS25NWAGTE
5858
github.com/dolthub/jsonpath v0.0.2-0.20240227200619-19675ab05c71/go.mod h1:2/2zjLQ/JOOSbbSboojeg+cAwcRV0fDLzIiWch/lhqI=
5959
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 h1:7/v8q9XGFa6q5Ap4Z/OhNkAMBaK5YeuEzwJt+NZdhiE=
6060
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81/go.mod h1:siLfyv2c92W1eN/R4QqG/+RjjX5W2+gCTRjZxBjI3TY=
61-
github.com/dolthub/vitess v0.0.0-20241002230050-2c2ea65cf324 h1:OO1XBXmBM3HBJfbwEwsj8h0m/bwYKIgFgGN8d+S+vrw=
62-
github.com/dolthub/vitess v0.0.0-20241002230050-2c2ea65cf324/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM=
61+
github.com/dolthub/vitess v0.0.0-20241009160728-54c0746cbff7 h1:mepdzTqvr0ZAbyOEsdgLg/nJ2qQzLJIwHD7xityHzz4=
62+
github.com/dolthub/vitess v0.0.0-20241009160728-54c0746cbff7/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM=
6363
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
6464
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
6565
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=

sql/planbuilder/show.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,10 +612,12 @@ func (b *Builder) buildShowAllTables(inScope *scope, s *ast.Show) (outScope *sco
612612
outScope = inScope.push()
613613

614614
var dbName string
615+
var schemaName string
615616
var filter sql.Expression
616617
var asOf sql.Expression
617618
if s.ShowTablesOpt != nil {
618619
dbName = s.ShowTablesOpt.DbName
620+
schemaName = s.ShowTablesOpt.SchemaName
619621
if s.ShowTablesOpt.AsOf != nil {
620622
asOf = b.buildAsOfExpr(inScope, s.ShowTablesOpt.AsOf)
621623
}
@@ -626,6 +628,25 @@ func (b *Builder) buildShowAllTables(inScope *scope, s *ast.Show) (outScope *sco
626628
}
627629
db := b.resolveDb(dbName)
628630

631+
if schemaName != "" {
632+
sdb, ok := db.(sql.SchemaDatabase)
633+
if !ok {
634+
err := sql.ErrDatabaseSchemasNotSupported.New(db.Name())
635+
b.handleErr(err)
636+
}
637+
638+
s, ok, err := sdb.GetSchema(b.ctx, schemaName)
639+
if err != nil {
640+
b.handleErr(err)
641+
}
642+
if !ok {
643+
err := sql.ErrDatabaseSchemaNotFound.New(schemaName)
644+
b.handleErr(err)
645+
}
646+
647+
db = s
648+
}
649+
629650
b.qFlags.Set(sql.QFlagSetDatabase)
630651
showTabs := plan.NewShowTables(db, s.Full, asOf)
631652
for _, c := range showTabs.Schema() {

0 commit comments

Comments
 (0)