File tree Expand file tree Collapse file tree 3 files changed +24
-3
lines changed Expand file tree Collapse file tree 3 files changed +24
-3
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change @@ -58,8 +58,8 @@ github.com/dolthub/jsonpath v0.0.2-0.20240227200619-19675ab05c71 h1:bMGS25NWAGTE
5858github.com/dolthub/jsonpath v0.0.2-0.20240227200619-19675ab05c71 /go.mod h1:2/2zjLQ/JOOSbbSboojeg+cAwcRV0fDLzIiWch/lhqI =
5959github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 h1:7/v8q9XGFa6q5Ap4Z/OhNkAMBaK5YeuEzwJt+NZdhiE =
6060github.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 =
6363github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4 /go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk =
6464github.com/eapache/go-resiliency v1.1.0 /go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs =
6565github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 /go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU =
Original file line number Diff line number Diff 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 () {
You can’t perform that action at this time.
0 commit comments