Removed RegisterSchemaFramgments

This commit is contained in:
Zach Musgrave
2021-10-18 11:47:36 -07:00
parent fded10e248
commit cd1ad41834
6 changed files with 3 additions and 95 deletions

View File

@@ -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{

View File

@@ -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

View File

@@ -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
}
}

View File

@@ -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)

View File

@@ -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

View File

@@ -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
}