diff --git a/go/cmd/dolt/commands/filter-branch.go b/go/cmd/dolt/commands/filter-branch.go index e2fbcc6a1f..3a7ea3dfab 100644 --- a/go/cmd/dolt/commands/filter-branch.go +++ b/go/cmd/dolt/commands/filter-branch.go @@ -252,7 +252,7 @@ func rebaseSqlEngine(ctx context.Context, dEnv *env.DoltEnv, cm *doltdb.Commit) opts := editor.Options{Deaf: dEnv.DbEaFactory()} db := dsqle.NewDatabase(dbName, dEnv.DbData(), opts) - pro := dsqle.NewDoltDatabaseProvider(dEnv.Config, db) + pro := dsqle.NewDoltDatabaseProvider(dEnv.Config, dEnv.FS, db) if err != nil { return nil, nil, err } diff --git a/go/cmd/dolt/commands/sql.go b/go/cmd/dolt/commands/sql.go index e5c73ba247..8d57898ab8 100644 --- a/go/cmd/dolt/commands/sql.go +++ b/go/cmd/dolt/commands/sql.go @@ -1482,7 +1482,7 @@ func newSqlEngine( infoDB := information_schema.NewInformationSchemaDatabase() all := append(dsqleDBsAsSqlDBs(dbs), infoDB) - pro := dsqle.NewDoltDatabaseProvider(dEnv.Config, all...) + pro := dsqle.NewDoltDatabaseProvider(dEnv.Config, dEnv.FS, all...) engine := sqle.New(analyzer.NewBuilder(pro).WithParallelism(parallelism).Build(), &sqle.Config{Auth: au}) diff --git a/go/cmd/dolt/commands/sqlserver/server.go b/go/cmd/dolt/commands/sqlserver/server.go index 0644a807fa..ce814d9e79 100644 --- a/go/cmd/dolt/commands/sqlserver/server.go +++ b/go/cmd/dolt/commands/sqlserver/server.go @@ -116,7 +116,7 @@ func Serve(ctx context.Context, version string, serverConfig ServerConfig, serve return err, nil } all := append(dsqleDBsAsSqlDBs(dbs), information_schema.NewInformationSchemaDatabase()) - pro := dsqle.NewDoltDatabaseProvider(dEnv.Config, all...) + pro := dsqle.NewDoltDatabaseProvider(dEnv.Config, dEnv.FS, all...) a := analyzer.NewBuilder(pro).WithParallelism(serverConfig.QueryParallelism()).Build() sqlEngine := sqle.New(a, nil) diff --git a/go/libraries/doltcore/sqle/database_provider.go b/go/libraries/doltcore/sqle/database_provider.go index 5cb21a3b27..616461f1a2 100644 --- a/go/libraries/doltcore/sqle/database_provider.go +++ b/go/libraries/doltcore/sqle/database_provider.go @@ -55,7 +55,7 @@ var _ dsess.RevisionDatabaseProvider = DoltDatabaseProvider{} const createDbWC = 1105 // 1105 represents an unknown error. // NewDoltDatabaseProvider returns a provider for the databases given -func NewDoltDatabaseProvider(config config.ReadableConfig, databases ...sql.Database) DoltDatabaseProvider { +func NewDoltDatabaseProvider(config config.ReadableConfig, fs filesys.Filesys, databases ...sql.Database) DoltDatabaseProvider { dbs := make(map[string]sql.Database, len(databases)) for _, db := range databases { dbs[strings.ToLower(db.Name())] = db @@ -70,6 +70,7 @@ func NewDoltDatabaseProvider(config config.ReadableConfig, databases ...sql.Data databases: dbs, functions: funcs, mu: &sync.RWMutex{}, + fs: fs, cfg: config, } } @@ -154,7 +155,8 @@ func (p DoltDatabaseProvider) CreateDatabase(ctx *sql.Context, name string) erro // TODO: unbreak this newEnv := env.Load(ctx, env.GetCurrentUserHomeDir, newFs, doltdb.LocalDirDoltDB, "TODO") - err = newEnv.InitRepo(ctx, types.Format_Default, "test", "test@test.com", "main") + dsess := dsess.DSessFromSess(ctx.Session) + err = newEnv.InitRepo(ctx, types.Format_Default, dsess.Username(), dsess.Email(), "main") if err != nil { return err } @@ -173,7 +175,6 @@ func (p DoltDatabaseProvider) CreateDatabase(ctx *sql.Context, name string) erro db := NewDatabase(name, newEnv.DbData(), opts) p.databases[strings.ToLower(db.Name())] = db - dsess := dsess.DSessFromSess(ctx.Session) dbstate, err := GetInitialDBState(ctx, db) if err != nil { return err diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_harness.go b/go/libraries/doltcore/sqle/enginetest/dolt_harness.go index 105198d348..82e0120d3a 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_harness.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_harness.go @@ -57,7 +57,7 @@ var _ enginetest.ReadOnlyDatabaseHarness = (*DoltHarness)(nil) func newDoltHarness(t *testing.T) *DoltHarness { dEnv := dtestutils.CreateTestEnv() - pro := sqle.NewDoltDatabaseProvider(dEnv.Config) + pro := sqle.NewDoltDatabaseProvider(dEnv.Config, dEnv.FS) session, err := dsess.NewDoltSession(sql.NewEmptyContext(), enginetest.NewBaseSession(), pro, dEnv.Config) require.NoError(t, err) return &DoltHarness{ @@ -193,7 +193,7 @@ func (d *DoltHarness) NewReadOnlyDatabases(names ...string) (dbs []sql.ReadOnlyD } func (d *DoltHarness) NewDatabaseProvider(dbs ...sql.Database) sql.MutableDatabaseProvider { - return sqle.NewDoltDatabaseProvider(d.env.Config, dbs...) + return sqle.NewDoltDatabaseProvider(d.env.Config, d.env.FS, dbs...) } func getDbState(t *testing.T, db sqle.Database, dEnv *env.DoltEnv) dsess.InitialDbState { diff --git a/go/libraries/doltcore/sqle/logictest/dolt/doltharness.go b/go/libraries/doltcore/sqle/logictest/dolt/doltharness.go index 80931f8e50..eac868c2ac 100644 --- a/go/libraries/doltcore/sqle/logictest/dolt/doltharness.go +++ b/go/libraries/doltcore/sqle/logictest/dolt/doltharness.go @@ -342,7 +342,7 @@ func schemaToSchemaString(sch sql.Schema) (string, error) { func sqlNewEngine(dEnv *env.DoltEnv) (*sqle.Engine, error) { opts := editor.Options{Deaf: dEnv.DbEaFactory()} db := dsql.NewDatabase("dolt", dEnv.DbData(), opts) - pro := dsql.NewDoltDatabaseProvider(dEnv.Config, db) + pro := dsql.NewDoltDatabaseProvider(dEnv.Config, dEnv.FS, db) engine := sqle.NewDefault(pro) return engine, nil diff --git a/go/libraries/doltcore/sqle/mergeable_indexes_setup_test.go b/go/libraries/doltcore/sqle/mergeable_indexes_setup_test.go index 693b3756d7..f6bcda5ca4 100644 --- a/go/libraries/doltcore/sqle/mergeable_indexes_setup_test.go +++ b/go/libraries/doltcore/sqle/mergeable_indexes_setup_test.go @@ -99,7 +99,7 @@ func setupIndexes(t *testing.T, tableName, insertQuery string) (*sqle.Engine, *e tbl: tbl, editOpts: opts, } - pro := NewDoltDatabaseProvider(dEnv.Config, tiDb) + pro := NewDoltDatabaseProvider(dEnv.Config, dEnv.FS, tiDb) engine = sqle.NewDefault(pro) // Get an updated root to use for the rest of the test diff --git a/go/libraries/doltcore/sqle/show_create_table.go b/go/libraries/doltcore/sqle/show_create_table.go index 161769776a..4cdc0492e0 100644 --- a/go/libraries/doltcore/sqle/show_create_table.go +++ b/go/libraries/doltcore/sqle/show_create_table.go @@ -35,7 +35,7 @@ func PrepareCreateTableStmt(ctx context.Context, sqlDb sql.Database) (*sql.Conte sql.WithTracer(tracing.Tracer(ctx))) var cfg config.ReadableConfig = nil - pro := NewDoltDatabaseProvider(cfg, sqlDb) + pro := NewDoltDatabaseProvider(cfg, nil, sqlDb) engine := sqle.NewDefault(pro) sqlCtx.SetCurrentDatabase(sqlDb.Name()) return sqlCtx, engine, sess diff --git a/go/libraries/doltcore/sqle/testutil.go b/go/libraries/doltcore/sqle/testutil.go index 4323386331..1cc304910f 100644 --- a/go/libraries/doltcore/sqle/testutil.go +++ b/go/libraries/doltcore/sqle/testutil.go @@ -109,7 +109,7 @@ func NewTestSQLCtx(ctx context.Context) *sql.Context { // NewTestEngine creates a new default engine, and a *sql.Context and initializes indexes and schema fragments. func NewTestEngine(t *testing.T, dEnv *env.DoltEnv, ctx context.Context, db Database, root *doltdb.RootValue) (*sqle.Engine, *sql.Context, error) { - engine := sqle.NewDefault(NewDoltDatabaseProvider(dEnv.Config, db)) + engine := sqle.NewDefault(NewDoltDatabaseProvider(dEnv.Config, dEnv.FS, db)) sqlCtx := NewTestSQLCtx(ctx)