Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fix some typo #466

Merged
merged 1 commit into from
Feb 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions pkg/datasource/sql/exec/at/at_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,23 @@ import (
)

func Init() {
exec.RegisterATExecutor(types.DBTypeMySQL, func() exec.SQLExecutor { return &AtExecutor{} })
exec.RegisterATExecutor(types.DBTypeMySQL, func() exec.SQLExecutor { return &ATExecutor{} })
}

type executor interface {
ExecContext(ctx context.Context, f exec.CallbackWithNamedValue) (types.ExecResult, error)
}

type AtExecutor struct {
type ATExecutor struct {
hooks []exec.SQLHook
}

func (e *AtExecutor) Interceptors(hooks []exec.SQLHook) {
func (e *ATExecutor) Interceptors(hooks []exec.SQLHook) {
e.hooks = hooks
}

// ExecWithNamedValue
func (e *AtExecutor) ExecWithNamedValue(ctx context.Context, execCtx *types.ExecContext, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
func (e *ATExecutor) ExecWithNamedValue(ctx context.Context, execCtx *types.ExecContext, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
parser, err := parser.DoParser(execCtx.Query)
if err != nil {
return nil, err
Expand Down Expand Up @@ -75,7 +75,7 @@ func (e *AtExecutor) ExecWithNamedValue(ctx context.Context, execCtx *types.Exec
}

// ExecWithValue
func (e *AtExecutor) ExecWithValue(ctx context.Context, execCtx *types.ExecContext, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
func (e *ATExecutor) ExecWithValue(ctx context.Context, execCtx *types.ExecContext, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
execCtx.NamedValues = util.ValueToNamedValue(execCtx.Values)
return e.ExecWithNamedValue(ctx, execCtx, f)
}
2 changes: 1 addition & 1 deletion pkg/datasource/sql/exec/at/base_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func (b *baseExecutor) afterHooks(ctx context.Context, execCtx *types.ExecContex
}
}

// GetScanSlice get the column type for scann
// GetScanSlice get the column type for scan
// todo to use ColumnInfo get slice
func (*baseExecutor) GetScanSlice(columnNames []string, tableMeta *types.TableMeta) []interface{} {
scanSlice := make([]interface{}, 0, len(columnNames))
Expand Down
26 changes: 13 additions & 13 deletions pkg/datasource/sql/exec/at/delete_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,27 @@ import (
type deleteExecutor struct {
baseExecutor
parserCtx *types.ParseContext
execContent *types.ExecContext
execContext *types.ExecContext
}

// NewDeleteExecutor get delete executor
func NewDeleteExecutor(parserCtx *types.ParseContext, execContent *types.ExecContext, hooks []exec.SQLHook) executor {
return &deleteExecutor{parserCtx: parserCtx, execContent: execContent, baseExecutor: baseExecutor{hooks: hooks}}
return &deleteExecutor{parserCtx: parserCtx, execContext: execContent, baseExecutor: baseExecutor{hooks: hooks}}
}

// ExecContext exec SQL, and generate before image and after image
func (d deleteExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
d.beforeHooks(ctx, d.execContent)
d.beforeHooks(ctx, d.execContext)
defer func() {
d.afterHooks(ctx, d.execContent)
d.afterHooks(ctx, d.execContext)
}()

beforeImage, err := d.beforeImage(ctx)
if err != nil {
return nil, err
}

res, err := f(ctx, d.execContent.Query, d.execContent.NamedValues)
res, err := f(ctx, d.execContext.Query, d.execContext.NamedValues)
if err != nil {
return nil, err
}
Expand All @@ -67,23 +67,23 @@ func (d deleteExecutor) ExecContext(ctx context.Context, f exec.CallbackWithName
return nil, err
}

d.execContent.TxCtx.RoundImages.AppendBeofreImage(beforeImage)
d.execContent.TxCtx.RoundImages.AppendAfterImage(afterImage)
d.execContext.TxCtx.RoundImages.AppendBeofreImage(beforeImage)
d.execContext.TxCtx.RoundImages.AppendAfterImage(afterImage)
return res, nil
}

// beforeImage build before image
func (d *deleteExecutor) beforeImage(ctx context.Context) (*types.RecordImage, error) {
selectSQL, selectArgs, err := d.buildBeforeImageSQL(d.execContent.Query, d.execContent.NamedValues)
selectSQL, selectArgs, err := d.buildBeforeImageSQL(d.execContext.Query, d.execContext.NamedValues)
if err != nil {
return nil, err
}

var rowsi driver.Rows
queryerCtx, ok := d.execContent.Conn.(driver.QueryerContext)
queryerCtx, ok := d.execContext.Conn.(driver.QueryerContext)
var queryer driver.Queryer
if !ok {
queryer, ok = d.execContent.Conn.(driver.Queryer)
queryer, ok = d.execContext.Conn.(driver.Queryer)
}
if ok {
rowsi, err = util.CtxDriverQuery(ctx, queryerCtx, queryer, selectSQL, selectArgs)
Expand All @@ -102,7 +102,7 @@ func (d *deleteExecutor) beforeImage(ctx context.Context) (*types.RecordImage, e
}

tableName, _ := d.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, d.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, d.execContext.DBName, tableName)
if err != nil {
return nil, err
}
Expand All @@ -115,7 +115,7 @@ func (d *deleteExecutor) beforeImage(ctx context.Context) (*types.RecordImage, e
image.TableMeta = metaData

lockKey := d.buildLockKey(image, *metaData)
d.execContent.TxCtx.LockKeys[lockKey] = struct{}{}
d.execContext.TxCtx.LockKeys[lockKey] = struct{}{}

return image, nil
}
Expand Down Expand Up @@ -156,7 +156,7 @@ func (d *deleteExecutor) buildBeforeImageSQL(query string, args []driver.NamedVa
// afterImage build after image
func (d *deleteExecutor) afterImage(ctx context.Context) (*types.RecordImage, error) {
tableName, _ := d.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, d.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, d.execContext.DBName, tableName)
if err != nil {
return nil, err
}
Expand Down
32 changes: 16 additions & 16 deletions pkg/datasource/sql/exec/at/insert_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,29 +39,29 @@ const (
type insertExecutor struct {
baseExecutor
parserCtx *types.ParseContext
execContent *types.ExecContext
execContext *types.ExecContext
incrementStep int
// businesSQLResult after insert sql
businesSQLResult types.ExecResult
}

// NewInsertExecutor get insert executor
func NewInsertExecutor(parserCtx *types.ParseContext, execContent *types.ExecContext, hooks []exec.SQLHook) executor {
return &insertExecutor{parserCtx: parserCtx, execContent: execContent, baseExecutor: baseExecutor{hooks: hooks}}
return &insertExecutor{parserCtx: parserCtx, execContext: execContent, baseExecutor: baseExecutor{hooks: hooks}}
}

func (i *insertExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
i.beforeHooks(ctx, i.execContent)
i.beforeHooks(ctx, i.execContext)
defer func() {
i.afterHooks(ctx, i.execContent)
i.afterHooks(ctx, i.execContext)
}()

beforeImage, err := i.beforeImage(ctx)
if err != nil {
return nil, err
}

res, err := f(ctx, i.execContent.Query, i.execContent.NamedValues)
res, err := f(ctx, i.execContext.Query, i.execContext.NamedValues)
if err != nil {
return nil, err
}
Expand All @@ -75,15 +75,15 @@ func (i *insertExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNam
return nil, err
}

i.execContent.TxCtx.RoundImages.AppendBeofreImage(beforeImage)
i.execContent.TxCtx.RoundImages.AppendAfterImage(afterImage)
i.execContext.TxCtx.RoundImages.AppendBeofreImage(beforeImage)
i.execContext.TxCtx.RoundImages.AppendAfterImage(afterImage)
return res, nil
}

// beforeImage build before image
func (i *insertExecutor) beforeImage(ctx context.Context) (*types.RecordImage, error) {
tableName, _ := i.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContext.DBName, tableName)
if err != nil {
return nil, err
}
Expand All @@ -97,7 +97,7 @@ func (i *insertExecutor) afterImage(ctx context.Context) (*types.RecordImage, er
}

tableName, _ := i.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContext.DBName, tableName)
if err != nil {
return nil, err
}
Expand All @@ -107,10 +107,10 @@ func (i *insertExecutor) afterImage(ctx context.Context) (*types.RecordImage, er
}

var rowsi driver.Rows
queryerCtx, ok := i.execContent.Conn.(driver.QueryerContext)
queryerCtx, ok := i.execContext.Conn.(driver.QueryerContext)
var queryer driver.Queryer
if !ok {
queryer, ok = i.execContent.Conn.(driver.Queryer)
queryer, ok = i.execContext.Conn.(driver.Queryer)
}
if ok {
rowsi, err = util.CtxDriverQuery(ctx, queryerCtx, queryer, selectSQL, selectArgs)
Expand All @@ -134,7 +134,7 @@ func (i *insertExecutor) afterImage(ctx context.Context) (*types.RecordImage, er
}

lockKey := i.buildLockKey(image, *metaData)
i.execContent.TxCtx.LockKeys[lockKey] = struct{}{}
i.execContext.TxCtx.LockKeys[lockKey] = struct{}{}
return image, nil
}

Expand All @@ -143,11 +143,11 @@ func (i *insertExecutor) buildAfterImageSQL(ctx context.Context) (string, []driv
// get all pk value
tableName, _ := i.parserCtx.GteTableName()

meta, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContent.DBName, tableName)
meta, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContext.DBName, tableName)
if err != nil {
return "", nil, err
}
pkValuesMap, err := i.getPkValues(ctx, i.execContent, i.parserCtx, *meta)
pkValuesMap, err := i.getPkValues(ctx, i.execContext, i.parserCtx, *meta)
if err != nil {
return "", nil, err
}
Expand Down Expand Up @@ -415,7 +415,7 @@ func (i *insertExecutor) getPkValuesByColumn(ctx context.Context, execCtx *types
return nil, nil
}
tableName, _ := i.parserCtx.GteTableName()
meta, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContent.DBName, tableName)
meta, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContext.DBName, tableName)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -453,7 +453,7 @@ func (i *insertExecutor) getPkValuesByAuto(ctx context.Context, execCtx *types.E
return nil, nil
}
tableName, _ := i.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, i.execContext.DBName, tableName)
if err != nil {
return nil, err
}
Expand Down
8 changes: 4 additions & 4 deletions pkg/datasource/sql/exec/at/plain_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ import (
)

type plainExecutor struct {
parserCtx *types.ParseContext
execCtx *types.ExecContext
parserCtx *types.ParseContext
execContext *types.ExecContext
}

func NewPlainExecutor(parserCtx *types.ParseContext, execCtx *types.ExecContext) executor {
return &plainExecutor{parserCtx: parserCtx, execCtx: execCtx}
return &plainExecutor{parserCtx: parserCtx, execContext: execCtx}
}

func (u *plainExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
return f(ctx, u.execCtx.Query, u.execCtx.NamedValues)
return f(ctx, u.execContext.Query, u.execContext.NamedValues)
}
2 changes: 1 addition & 1 deletion pkg/datasource/sql/exec/at/plain_executor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func TestPlainExecutor_ExecContext(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
u := &plainExecutor{execCtx: &types.ExecContext{}}
u := &plainExecutor{execContext: &types.ExecContext{}}
val, err := u.ExecContext(context.Background(), tt.f)
assert.Equalf(t, tt.wantVal, val, "")
assert.Equalf(t, tt.wantErr, err, "")
Expand Down
32 changes: 16 additions & 16 deletions pkg/datasource/sql/exec/at/update_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,27 +43,27 @@ var (
type updateExecutor struct {
baseExecutor
parserCtx *types.ParseContext
execContent *types.ExecContext
execContext *types.ExecContext
}

// NewUpdateExecutor get update executor
func NewUpdateExecutor(parserCtx *types.ParseContext, execContent *types.ExecContext, hooks []exec.SQLHook) executor {
return &updateExecutor{parserCtx: parserCtx, execContent: execContent, baseExecutor: baseExecutor{hooks: hooks}}
return &updateExecutor{parserCtx: parserCtx, execContext: execContent, baseExecutor: baseExecutor{hooks: hooks}}
}

// ExecContext exec SQL, and generate before image and after image
func (u *updateExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNamedValue) (types.ExecResult, error) {
u.beforeHooks(ctx, u.execContent)
u.beforeHooks(ctx, u.execContext)
defer func() {
u.afterHooks(ctx, u.execContent)
u.afterHooks(ctx, u.execContext)
}()

beforeImage, err := u.beforeImage(ctx)
if err != nil {
return nil, err
}

res, err := f(ctx, u.execContent.Query, u.execContent.NamedValues)
res, err := f(ctx, u.execContext.Query, u.execContext.NamedValues)
if err != nil {
return nil, err
}
Expand All @@ -77,8 +77,8 @@ func (u *updateExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNam
return nil, fmt.Errorf("Before image size is not equaled to after image size, probably because you updated the primary keys.")
}

u.execContent.TxCtx.RoundImages.AppendBeofreImage(beforeImage)
u.execContent.TxCtx.RoundImages.AppendAfterImage(afterImage)
u.execContext.TxCtx.RoundImages.AppendBeofreImage(beforeImage)
u.execContext.TxCtx.RoundImages.AppendAfterImage(afterImage)

return res, nil
}
Expand All @@ -89,22 +89,22 @@ func (u *updateExecutor) beforeImage(ctx context.Context) (*types.RecordImage, e
return nil, nil
}

selectSQL, selectArgs, err := u.buildBeforeImageSQL(ctx, u.execContent.NamedValues)
selectSQL, selectArgs, err := u.buildBeforeImageSQL(ctx, u.execContext.NamedValues)
if err != nil {
return nil, err
}

tableName, _ := u.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, u.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, u.execContext.DBName, tableName)
if err != nil {
return nil, err
}

var rowsi driver.Rows
queryerCtx, ok := u.execContent.Conn.(driver.QueryerContext)
queryerCtx, ok := u.execContext.Conn.(driver.QueryerContext)
var queryer driver.Queryer
if !ok {
queryer, ok = u.execContent.Conn.(driver.Queryer)
queryer, ok = u.execContext.Conn.(driver.Queryer)
}
if ok {
rowsi, err = util.CtxDriverQuery(ctx, queryerCtx, queryer, selectSQL, selectArgs)
Expand All @@ -128,7 +128,7 @@ func (u *updateExecutor) beforeImage(ctx context.Context) (*types.RecordImage, e
}

lockKey := u.buildLockKey(image, *metaData)
u.execContent.TxCtx.LockKeys[lockKey] = struct{}{}
u.execContext.TxCtx.LockKeys[lockKey] = struct{}{}
image.SQLType = u.parserCtx.SQLType

return image, nil
Expand All @@ -144,17 +144,17 @@ func (u *updateExecutor) afterImage(ctx context.Context, beforeImage types.Recor
}

tableName, _ := u.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, u.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, u.execContext.DBName, tableName)
if err != nil {
return nil, err
}
selectSQL, selectArgs := u.buildAfterImageSQL(beforeImage, metaData)

var rowsi driver.Rows
queryerCtx, ok := u.execContent.Conn.(driver.QueryerContext)
queryerCtx, ok := u.execContext.Conn.(driver.QueryerContext)
var queryer driver.Queryer
if !ok {
queryer, ok = u.execContent.Conn.(driver.Queryer)
queryer, ok = u.execContext.Conn.(driver.Queryer)
}
if ok {
rowsi, err = util.CtxDriverQuery(ctx, queryerCtx, queryer, selectSQL, selectArgs)
Expand Down Expand Up @@ -231,7 +231,7 @@ func (u *updateExecutor) buildBeforeImageSQL(ctx context.Context, args []driver.

// select indexes columns
tableName, _ := u.parserCtx.GteTableName()
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, u.execContent.DBName, tableName)
metaData, err := datasource.GetTableCache(types.DBTypeMySQL).GetTableMeta(ctx, u.execContext.DBName, tableName)
if err != nil {
return "", nil, err
}
Expand Down