From cd1ad418343cea671764599a95b5039769beebb5 Mon Sep 17 00:00:00 2001 From: Zach Musgrave Date: Mon, 18 Oct 2021 11:47:36 -0700 Subject: [PATCH] Removed RegisterSchemaFramgments --- go/cmd/dolt/commands/filter-branch.go | 7 -- go/cmd/dolt/commands/sql.go | 12 ---- go/libraries/doltcore/sqle/database.go | 68 +------------------ .../doltcore/sqle/enginetest/dolt_harness.go | 2 +- .../doltcore/sqle/show_create_table.go | 2 - go/libraries/doltcore/sqle/testutil.go | 7 -- 6 files changed, 3 insertions(+), 95 deletions(-) diff --git a/go/cmd/dolt/commands/filter-branch.go b/go/cmd/dolt/commands/filter-branch.go index 16c9825518..342a202ccf 100644 --- a/go/cmd/dolt/commands/filter-branch.go +++ b/go/cmd/dolt/commands/filter-branch.go @@ -238,8 +238,6 @@ func rebaseSqlEngine(ctx context.Context, dEnv *env.DoltEnv, cm *doltdb.Commit) sqlCtx := sql.NewContext(ctx, sql.WithSession(sess), - sql.WithIndexRegistry(sql.NewIndexRegistry()), - sql.WithViewRegistry(sql.NewViewRegistry()), sql.WithTracer(tracing.Tracer(ctx))) err := sqlCtx.SetSessionVariable(sqlCtx, sql.AutoCommitSessionVar, false) if err != nil { @@ -298,11 +296,6 @@ func rebaseSqlEngine(ctx context.Context, dEnv *env.DoltEnv, cm *doltdb.Commit) return nil, nil, err } - err = dsqle.RegisterSchemaFragments(sqlCtx, db, root) - if err != nil { - return nil, nil, err - } - sqlCtx.SetCurrentDatabase(dbName) se := &sqlEngine{ diff --git a/go/cmd/dolt/commands/sql.go b/go/cmd/dolt/commands/sql.go index c51383d9b7..2f3173637f 100644 --- a/go/cmd/dolt/commands/sql.go +++ b/go/cmd/dolt/commands/sql.go @@ -1495,22 +1495,10 @@ func newSqlContext(sess *dsess.Session, cat sql.Catalog) func(ctx context.Contex return func(ctx context.Context) (*sql.Context, error) { sqlCtx := sql.NewContext(ctx, sql.WithSession(sess), - sql.WithIndexRegistry(sql.NewIndexRegistry()), - sql.WithViewRegistry(sql.NewViewRegistry()), sql.WithTracer(tracing.Tracer(ctx))) seenOne := false for _, db := range dsqle.DbsAsDSQLDBs(cat.AllDatabases()) { - root, err := db.GetRoot(sqlCtx) - if err != nil { - return nil, err - } - - err = dsqle.RegisterSchemaFragments(sqlCtx, db, root) - if err != nil { - return nil, err - } - if !seenOne { sqlCtx.SetCurrentDatabase(db.Name()) seenOne = true diff --git a/go/libraries/doltcore/sqle/database.go b/go/libraries/doltcore/sqle/database.go index 29e98ca29a..adc814ba82 100644 --- a/go/libraries/doltcore/sqle/database.go +++ b/go/libraries/doltcore/sqle/database.go @@ -22,8 +22,6 @@ import ( "time" "github.com/dolthub/go-mysql-server/sql" - "github.com/dolthub/go-mysql-server/sql/parse" - "github.com/dolthub/go-mysql-server/sql/plan" "github.com/dolthub/vitess/go/vt/proto/query" "gopkg.in/src-d/go-errors.v1" @@ -36,7 +34,6 @@ import ( "github.com/dolthub/dolt/go/libraries/doltcore/sqle/dsess" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/dtables" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/globalstate" - "github.com/dolthub/dolt/go/libraries/doltcore/sqle/sqlfmt" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/sqlutil" "github.com/dolthub/dolt/go/libraries/doltcore/table/editor" "github.com/dolthub/dolt/go/store/types" @@ -885,7 +882,7 @@ func (db Database) CreateView(ctx *sql.Context, name string, definition string) // dolt database. Returns sql.ErrNonExistingView if the view did not // exist. func (db Database) DropView(ctx *sql.Context, name string) error { - return db.dropFragFromSchemasTable(ctx, "view", name, sql.ErrNonExistingView.New(name)) + return db.dropFragFromSchemasTable(ctx, "view", name, sql.ErrViewDoesNotExist.New(name)) } // GetTriggers implements sql.TriggerDatabase. @@ -1176,65 +1173,4 @@ func (db Database) GetAllTemporaryTables(ctx *sql.Context) ([]sql.Table, error) } return tables, nil -} - -// RegisterSchemaFragments register SQL schema fragments that are persisted in the given -// `Database` with the provided `sql.ViewRegistry`. Returns an error if -// there are I/O issues, but currently silently fails to register some -// schema fragments if they don't parse, or if registries within the -// `catalog` return errors. -func RegisterSchemaFragments(ctx *sql.Context, db SqlDatabase, root *doltdb.RootValue) error { - root, err := db.GetRoot(ctx) - if err != nil { - return err - } - - tbl, found, err := root.GetTable(ctx, doltdb.SchemasTableName) - if err != nil { - return err - } - if !found { - return nil - } - - rowData, err := tbl.GetRowData(ctx) - - if err != nil { - return err - } - - iter, err := newRowIterator(ctx, tbl, nil, &doltTablePartition{rowData: rowData, end: NoUpperBound}) - if err != nil { - return err - } - defer iter.Close(ctx) - - var parseErrors []error - - r, err := iter.Next() - for err == nil { - if r[0] == "view" { - name := r[1].(string) - definition := r[2].(string) - cv, err := parse.Parse(ctx, fmt.Sprintf("create view %s as %s", sqlfmt.QuoteIdentifier(name), definition)) - if err != nil { - parseErrors = append(parseErrors, err) - } else { - err = ctx.Register(db.Name(), cv.(*plan.CreateView).Definition.AsView()) - if err != nil { - return err - } - } - } - r, err = iter.Next() - } - if err != io.EOF { - return err - } - - if len(parseErrors) > 0 { - // TODO: Warning for uncreated views... - } - - return nil -} +} \ No newline at end of file diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_harness.go b/go/libraries/doltcore/sqle/enginetest/dolt_harness.go index 2e6e0a7dae..65e514f87d 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_harness.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_harness.go @@ -260,7 +260,7 @@ func (d *DoltHarness) SnapshotTable(db sql.VersionedDatabase, name string, asOf panic("not a Dolt SQL Database") } - e := enginetest.NewEngineWithDbs(d.t, d, []sql.Database{db}, nil) + e := enginetest.NewEngineWithDbs(d.t, d, []sql.Database{db}) asOfString, ok := asOf.(string) require.True(d.t, ok) diff --git a/go/libraries/doltcore/sqle/show_create_table.go b/go/libraries/doltcore/sqle/show_create_table.go index 3c08a85e57..161769776a 100644 --- a/go/libraries/doltcore/sqle/show_create_table.go +++ b/go/libraries/doltcore/sqle/show_create_table.go @@ -32,8 +32,6 @@ func PrepareCreateTableStmt(ctx context.Context, sqlDb sql.Database) (*sql.Conte sess := dsess.DefaultSession() sqlCtx := sql.NewContext(ctx, sql.WithSession(sess), - sql.WithIndexRegistry(sql.NewIndexRegistry()), - sql.WithViewRegistry(sql.NewViewRegistry()), sql.WithTracer(tracing.Tracer(ctx))) var cfg config.ReadableConfig = nil diff --git a/go/libraries/doltcore/sqle/testutil.go b/go/libraries/doltcore/sqle/testutil.go index d0dbe1d73e..e53c908986 100644 --- a/go/libraries/doltcore/sqle/testutil.go +++ b/go/libraries/doltcore/sqle/testutil.go @@ -100,8 +100,6 @@ func NewTestSQLCtx(ctx context.Context) *sql.Context { sqlCtx := sql.NewContext( ctx, sql.WithSession(session), - sql.WithIndexRegistry(sql.NewIndexRegistry()), - sql.WithViewRegistry(sql.NewViewRegistry()), ).WithCurrentDB("dolt") return sqlCtx @@ -124,11 +122,6 @@ func NewTestEngine(t *testing.T, dEnv *env.DoltEnv, ctx context.Context, db Data return nil, nil, err } - err = RegisterSchemaFragments(sqlCtx, db, root) - if err != nil { - return nil, nil, err - } - return engine, sqlCtx, nil }