mirror of
https://github.com/dolthub/dolt.git
synced 2026-04-23 05:13:00 -05:00
Migrate uses of NewContext
This commit is contained in:
@@ -129,7 +129,7 @@ func ResolveTable(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootValue
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
sqlCtx, err := engine.NewLocalSqlContext(ctx, eng)
|
||||
sqlCtx, err := eng.NewLocalContext(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ func printConflicts(ctx context.Context, dEnv *env.DoltEnv, root *doltdb.RootVal
|
||||
return errhand.BuildDError("failed to fetch conflicts").AddCause(err).Build()
|
||||
}
|
||||
|
||||
sqlCtx, err := engine.NewLocalSqlContext(ctx, eng)
|
||||
sqlCtx, err := eng.NewLocalContext(ctx)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("failed to fetch conflicts").AddCause(err).Build()
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ func printViolationsForTable(ctx context.Context, tblName string, tbl *doltdb.Ta
|
||||
colNames := strings.Join(sch.GetAllCols().GetColumnNames(), ", ")
|
||||
query := fmt.Sprintf("SELECT violation_type, %s, violation_info from dolt_constraint_violations_%s", colNames, tblName)
|
||||
|
||||
sCtx, err := engine.NewLocalSqlContext(ctx, eng)
|
||||
sCtx, err := eng.NewLocalContext(ctx)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("Error making sql context").AddCause(err).Build()
|
||||
}
|
||||
|
||||
@@ -729,7 +729,7 @@ func diffRows(
|
||||
query += " limit " + strconv.Itoa(dArgs.limit)
|
||||
}
|
||||
|
||||
sqlCtx, err := engine.NewLocalSqlContext(ctx, se)
|
||||
sqlCtx, err := se.NewLocalContext(ctx)
|
||||
if err != nil {
|
||||
return errhand.VerboseErrorFromError(err)
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ func writeDocToTable(ctx context.Context, eng *engine.SqlEngine, docName, conten
|
||||
err error
|
||||
)
|
||||
|
||||
sctx, err = eng.NewContext(ctx)
|
||||
sctx, err = eng.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ func readDocFromTableAsOf(ctx context.Context, eng *engine.SqlEngine, docName, a
|
||||
}
|
||||
query := fmt.Sprintf(readDocTemplate, asOf, docName)
|
||||
|
||||
sctx, err = eng.NewContext(ctx)
|
||||
sctx, err = eng.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -190,12 +190,32 @@ func (se *SqlEngine) Databases(ctx *sql.Context) []dsqle.SqlDatabase {
|
||||
return nil
|
||||
}
|
||||
|
||||
// NewContext converts a context.Context to a sql.Context.
|
||||
// NewContext returns a new sql.Context with the given session.
|
||||
// TODO: investigate uses of this
|
||||
func (se *SqlEngine) NewContext(ctx context.Context, session sql.Session) (*sql.Context, error) {
|
||||
return se.contextFactory(ctx, session)
|
||||
}
|
||||
|
||||
// NewDefaultContext returns a new sql.Context with a new default dolt session.
|
||||
func (se *SqlEngine) NewDefaultContext(ctx context.Context) (*sql.Context, error) {
|
||||
session, err := se.NewDoltSession(ctx, sql.NewBaseSession())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return se.contextFactory(ctx, session)
|
||||
}
|
||||
|
||||
// NewLocalContext returns a new |sql.Context| with its client set to |root|
|
||||
func (se *SqlEngine) NewLocalContext(ctx context.Context) (*sql.Context, error) {
|
||||
sqlCtx, err := se.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sqlCtx.Session.SetClient(sql.Client{User: "root", Address: "%", Capabilities: 0})
|
||||
return sqlCtx, nil
|
||||
}
|
||||
|
||||
// NewDoltSession creates a new DoltSession from a BaseSession
|
||||
func (se *SqlEngine) NewDoltSession(_ context.Context, mysqlSess *sql.BaseSession) (*dsess.DoltSession, error) {
|
||||
return se.dsessFactory(mysqlSess, se.provider)
|
||||
@@ -341,15 +361,4 @@ func NewSqlEngineForEnv(ctx context.Context, dEnv *env.DoltEnv) (*SqlEngine, err
|
||||
Autocommit: false,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
// NewLocalSqlContext returns a new |sql.Context| using the engine provided, with its client set to |root|
|
||||
func NewLocalSqlContext(ctx context.Context, se *SqlEngine) (*sql.Context, error) {
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sqlCtx.Session.SetClient(sql.Client{User: "root", Address: "%", Capabilities: 0})
|
||||
return sqlCtx, nil
|
||||
}
|
||||
}
|
||||
@@ -523,7 +523,7 @@ func execBatch(
|
||||
}
|
||||
defer se.Close()
|
||||
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
sqlCtx, err := se.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return errhand.VerboseErrorFromError(err)
|
||||
}
|
||||
@@ -571,7 +571,7 @@ func execMultiStatements(
|
||||
}
|
||||
defer se.Close()
|
||||
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
sqlCtx, err := se.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return errhand.VerboseErrorFromError(err)
|
||||
}
|
||||
@@ -606,7 +606,7 @@ func execQuery(
|
||||
}
|
||||
defer se.Close()
|
||||
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
sqlCtx, err := se.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return errhand.VerboseErrorFromError(err)
|
||||
}
|
||||
@@ -902,18 +902,11 @@ func runBatchMode(ctx *sql.Context, se *engine.SqlEngine, input io.Reader, conti
|
||||
// be updated by any queries which were processed.
|
||||
func runShell(ctx context.Context, se *engine.SqlEngine, mrEnv *env.MultiRepoEnv, config *engine.SqlEngineConfig) error {
|
||||
_ = iohelp.WriteLine(cli.CliOut, welcomeMsg)
|
||||
|
||||
bs := sql.NewBaseSession()
|
||||
sess, err := se.NewDoltSession(ctx, bs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
sqlCtx, err := se.NewContext(ctx, sql.WithSession(sess))
|
||||
sqlCtx, err := se.NewDefaultContext(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
sqlCtx.ses
|
||||
|
||||
// Add specified user as new superuser, if it doesn't already exist
|
||||
if user := se.GetUnderlyingEngine().Analyzer.Catalog.MySQLDb.GetUser(config.ServerUser, config.ServerHost, false); user == nil {
|
||||
@@ -1011,7 +1004,7 @@ func runShell(ctx context.Context, se *engine.SqlEngine, mrEnv *env.MultiRepoEnv
|
||||
subCtx, stop := signal.NotifyContext(ctx, os.Interrupt, syscall.SIGTERM)
|
||||
defer stop()
|
||||
|
||||
sqlCtx, err = se.NewContext(subCtx)
|
||||
sqlCtx, err = se.NewContext(subCtx, sqlCtx.Session)
|
||||
if err != nil {
|
||||
shell.Println(color.RedString(err.Error()))
|
||||
return false
|
||||
|
||||
@@ -231,7 +231,7 @@ func Serve(
|
||||
var remoteSrv *remotesrv.Server
|
||||
if serverConfig.RemotesapiPort() != nil {
|
||||
port := *serverConfig.RemotesapiPort()
|
||||
if remoteSrvSqlCtx, err := sqlEngine.NewContext(ctx); err == nil {
|
||||
if remoteSrvSqlCtx, err := sqlEngine.NewDefaultContext(ctx); err == nil {
|
||||
listenaddr := fmt.Sprintf(":%d", port)
|
||||
args := sqle.RemoteSrvServerArgs(remoteSrvSqlCtx, remotesrv.ServerArgs{
|
||||
Logger: logrus.NewEntry(lgr),
|
||||
@@ -263,7 +263,7 @@ func Serve(
|
||||
|
||||
var clusterRemoteSrv *remotesrv.Server
|
||||
if clusterController != nil {
|
||||
if remoteSrvSqlCtx, err := sqlEngine.NewContext(ctx); err == nil {
|
||||
if remoteSrvSqlCtx, err := sqlEngine.NewDefaultContext(ctx); err == nil {
|
||||
args := clusterController.RemoteSrvServerArgs(remoteSrvSqlCtx, remotesrv.ServerArgs{
|
||||
Logger: logrus.NewEntry(lgr),
|
||||
})
|
||||
@@ -398,7 +398,7 @@ func newSessionBuilder(se *engine.SqlEngine, config ServerConfig) server.Session
|
||||
|
||||
varsForUser := userToSessionVars[conn.User]
|
||||
if len(varsForUser) > 0 {
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
sqlCtx, err := se.NewContext(ctx, dsess)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -144,4 +144,6 @@ replace (
|
||||
github.com/oliveagle/jsonpath => github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474
|
||||
)
|
||||
|
||||
replace github.com/dolthub/go-mysql-server => ../../go-mysql-server
|
||||
|
||||
go 1.19
|
||||
|
||||
@@ -238,11 +238,6 @@ func setupSqlEngine(t *testing.T, ctx context.Context) (eng *engine.SqlEngine) {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
sqlCtx, err := eng.NewContext(ctx)
|
||||
require.NoError(t, err)
|
||||
sqlCtx.Session.SetClient(sql.Client{
|
||||
User: "root", Address: "%",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -340,11 +340,8 @@ func setupConcurrencyTest(t *testing.T, ctx context.Context) (dEnv *env.DoltEnv)
|
||||
dEnv = dtu.CreateTestEnv()
|
||||
|
||||
eng := engineFromEnvironment(ctx, dEnv)
|
||||
sqlCtx, err := eng.NewContext(ctx)
|
||||
sqlCtx, err := eng.NewLocalContext(ctx)
|
||||
require.NoError(t, err)
|
||||
sqlCtx.Session.SetClient(sql.Client{
|
||||
User: "root", Address: "%",
|
||||
})
|
||||
|
||||
require.NoError(t, executeQuery(sqlCtx, eng, concurrentTable))
|
||||
require.NoError(t, executeQuery(sqlCtx, eng, generateTestData()))
|
||||
|
||||
@@ -69,14 +69,11 @@ func NewSqlEngineReader(ctx context.Context, dEnv *env.DoltEnv, tableName string
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
sqlCtx, err := se.NewLocalContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Add root client
|
||||
sqlCtx.Session.SetClient(sql.Client{User: "root", Address: "%", Capabilities: 0})
|
||||
|
||||
|
||||
sch, iter, err := se.Query(sqlCtx, fmt.Sprintf("SELECT * FROM `%s`", tableName))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -106,14 +106,11 @@ func NewSqlEngineTableWriter(ctx context.Context, dEnv *env.DoltEnv, createTable
|
||||
return nil, analyzer.ErrReadOnlyDatabase.New(dbName)
|
||||
}
|
||||
|
||||
sqlCtx, err := se.NewContext(ctx)
|
||||
sqlCtx, err := se.NewLocalContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Add root client
|
||||
sqlCtx.Session.SetClient(sql.Client{User: "root", Address: "%", Capabilities: 0})
|
||||
|
||||
dsess.DSessFromSess(sqlCtx.Session).EnableBatchedMode()
|
||||
|
||||
doltCreateTableSchema, err := sqlutil.FromDoltSchema(options.TableToWriteTo, createTableSchema)
|
||||
|
||||
@@ -125,9 +125,8 @@ func setupBenchmark(t *testing.B, dEnv *env.DoltEnv) (*sql.Context, *engine.SqlE
|
||||
eng, err := engine.NewSqlEngine(ctx, mrEnv, engine.FormatNull, config)
|
||||
require.NoError(t, err)
|
||||
|
||||
sqlCtx, err := eng.NewContext(ctx)
|
||||
sqlCtx, err := eng.NewLocalContext(ctx)
|
||||
require.NoError(t, err)
|
||||
sqlCtx.Session.SetClient(sql.Client{User: "root", Address: "%", Capabilities: 0})
|
||||
|
||||
return sqlCtx, eng
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user