Skip to content

Commit b95d7ec

Browse files
qw4990zeminzhou
authored andcommitted
planner: refactor some code related to binding (pingcap#59272)
ref pingcap#51347
1 parent 7b6a55e commit b95d7ec

File tree

10 files changed

+72
-70
lines changed

10 files changed

+72
-70
lines changed

pkg/bindinfo/binding.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,24 @@ import (
3434
)
3535

3636
const (
37-
// Enabled is the bind info's in enabled status.
37+
// StatusEnabled is the bind info's in enabled status.
3838
// It is the same as the previous 'Using' status.
3939
// Only use 'Enabled' status in the future, not the 'Using' status.
4040
// The 'Using' status is preserved for compatibility.
41-
Enabled = "enabled"
42-
// Disabled is the bind info's in disabled status.
43-
Disabled = "disabled"
44-
// Using is the bind info's in use status.
41+
StatusEnabled = "enabled"
42+
// StatusDisabled is the bind info's in disabled status.
43+
StatusDisabled = "disabled"
44+
// StatusUsing is the bind info's in use status.
4545
// The 'Using' status is preserved for compatibility.
46-
Using = "using"
47-
// deleted is the bind info's deleted status.
48-
deleted = "deleted"
49-
// Manual indicates the binding is created by SQL like "create binding for ...".
50-
Manual = "manual"
51-
// Builtin indicates the binding is a builtin record for internal locking purpose. It is also the status for the builtin binding.
52-
Builtin = "builtin"
53-
// History indicate the binding is created from statement summary by plan digest
54-
History = "history"
46+
StatusUsing = "using"
47+
// StatusDeleted is the bind info's deleted status.
48+
StatusDeleted = "deleted"
49+
// StatusBuiltin indicates the binding is a builtin record for internal locking purpose. It is also the status for the builtin binding.
50+
StatusBuiltin = "builtin"
51+
// SourceManual indicates the binding is created by SQL like "create binding for ...".
52+
SourceManual = "manual"
53+
// SourceHistory indicate the binding is created from statement summary by plan digest
54+
SourceHistory = "history"
5555
)
5656

5757
// Binding stores the basic bind hint info.
@@ -81,7 +81,7 @@ type Binding struct {
8181

8282
// IsBindingEnabled returns whether the binding is enabled.
8383
func (b *Binding) IsBindingEnabled() bool {
84-
return b.Status == Enabled || b.Status == Using
84+
return b.Status == StatusEnabled || b.Status == StatusUsing
8585
}
8686

8787
// size calculates the memory size of a bind info.
@@ -276,7 +276,7 @@ func prepareHints(sctx sessionctx.Context, binding *Binding) (rerr error) {
276276
}()
277277

278278
p := parser.New()
279-
if (binding.Hint != nil && binding.ID != "") || binding.Status == deleted {
279+
if (binding.Hint != nil && binding.ID != "") || binding.Status == StatusDeleted {
280280
return nil
281281
}
282282
dbName := binding.Db
@@ -353,7 +353,7 @@ func pickCachedBinding(cachedBinding *Binding, bindingsFromStorage ...*Binding)
353353
// filter deleted bindings
354354
n = 0
355355
for _, binding := range bindings {
356-
if binding.Status != deleted {
356+
if binding.Status != StatusDeleted {
357357
bindings[n] = binding
358358
n++
359359
}

pkg/bindinfo/global_handle.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ func (h *globalBindingHandle) CreateGlobalBinding(sctx sessionctx.Context, bindi
221221
_, err = exec(
222222
sctx,
223223
`UPDATE mysql.bind_info SET status = %?, update_time = %? WHERE original_sql = %? AND update_time < %?`,
224-
deleted,
224+
StatusDeleted,
225225
updateTs,
226226
binding.OriginalSQL,
227227
updateTs,
@@ -285,11 +285,11 @@ func (h *globalBindingHandle) DropGlobalBinding(sqlDigests []string) (deletedRow
285285
_, err = exec(
286286
sctx,
287287
`UPDATE mysql.bind_info SET status = %?, update_time = %? WHERE sql_digest = %? AND update_time < %? AND status != %?`,
288-
deleted,
288+
StatusDeleted,
289289
updateTs,
290290
sqlDigest,
291291
updateTs,
292-
deleted,
292+
StatusDeleted,
293293
)
294294
if err != nil {
295295
return err
@@ -310,15 +310,15 @@ func (h *globalBindingHandle) SetGlobalBindingStatus(newStatus, sqlDigest string
310310
updateTs types.Time
311311
oldStatus0, oldStatus1 string
312312
)
313-
if newStatus == Disabled {
313+
if newStatus == StatusDisabled {
314314
// For compatibility reasons, when we need to 'set binding disabled for <stmt>',
315315
// we need to consider both the 'enabled' and 'using' status.
316-
oldStatus0 = Using
317-
oldStatus1 = Enabled
318-
} else if newStatus == Enabled {
316+
oldStatus0 = StatusUsing
317+
oldStatus1 = StatusEnabled
318+
} else if newStatus == StatusEnabled {
319319
// In order to unify the code, two identical old statuses are set.
320-
oldStatus0 = Disabled
321-
oldStatus1 = Disabled
320+
oldStatus0 = StatusDisabled
321+
oldStatus1 = StatusDisabled
322322
}
323323

324324
defer func() {
@@ -396,8 +396,8 @@ func (h *globalBindingHandle) GetMemCapacity() (memCapacity int64) {
396396
func newBindingFromStorage(sctx sessionctx.Context, row chunk.Row) (string, *Binding, error) {
397397
status := row.GetString(3)
398398
// For compatibility, the 'Using' status binding will be converted to the 'Enabled' status binding.
399-
if status == Using {
400-
status = Enabled
399+
if status == StatusUsing {
400+
status = StatusEnabled
401401
}
402402
binding := &Binding{
403403
OriginalSQL: row.GetString(0),

pkg/bindinfo/global_handle_test.go

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func TestBindingLastUpdateTimeWithInvalidBind(t *testing.T) {
9898
require.Equal(t, updateTime0, "0000-00-00 00:00:00")
9999

100100
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t`', 'invalid_binding', 'test', 'enabled', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
101-
bindinfo.Manual + "', '', '')")
101+
bindinfo.SourceManual + "', '', '')")
102102
tk.MustExec("use test")
103103
tk.MustExec("drop table if exists t")
104104
tk.MustExec("admin reload bindings;")
@@ -123,10 +123,10 @@ func TestBindParse(t *testing.T) {
123123
originSQL := "select * from `test` . `t`"
124124
bindSQL := "select * from `test` . `t` use index(index_t)"
125125
defaultDb := "test"
126-
status := bindinfo.Enabled
126+
status := bindinfo.StatusEnabled
127127
charset := "utf8mb4"
128128
collation := "utf8mb4_bin"
129-
source := bindinfo.Manual
129+
source := bindinfo.SourceManual
130130
_, digest := parser.NormalizeDigestForBinding(originSQL)
131131
mockDigest := digest.String()
132132
sql := fmt.Sprintf(`INSERT INTO mysql.bind_info(original_sql,bind_sql,default_db,status,create_time,update_time,charset,collation,source, sql_digest, plan_digest) VALUES ('%s', '%s', '%s', '%s', NOW(), NOW(),'%s', '%s', '%s', '%s', '%s')`,
@@ -145,7 +145,7 @@ func TestBindParse(t *testing.T) {
145145
require.Equal(t, "select * from `test` . `t`", binding.OriginalSQL)
146146
require.Equal(t, "select * from `test` . `t` use index(index_t)", binding.BindSQL)
147147
require.Equal(t, "test", binding.Db)
148-
require.Equal(t, bindinfo.Enabled, binding.Status)
148+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
149149
require.Equal(t, "utf8mb4", binding.Charset)
150150
require.Equal(t, "utf8mb4_bin", binding.Collation)
151151
require.NotNil(t, binding.CreateTime)
@@ -210,41 +210,41 @@ func TestSetBindingStatus(t *testing.T) {
210210
tk.MustExec("create global binding for select * from t where a > 10 using select /*+ USE_INDEX(t, idx_a) */ * from t where a > 10")
211211
rows := tk.MustQuery("show global bindings").Rows()
212212
require.Len(t, rows, 1)
213-
require.Equal(t, bindinfo.Enabled, rows[0][3])
213+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
214214
tk.MustExec("select * from t where a > 10")
215215
tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
216216

217217
tk.MustExec("set binding disabled for select * from t where a > 10")
218218
rows = tk.MustQuery("show global bindings").Rows()
219219
require.Len(t, rows, 1)
220-
require.Equal(t, bindinfo.Disabled, rows[0][3])
220+
require.Equal(t, bindinfo.StatusDisabled, rows[0][3])
221221
tk.MustExec("select * from t where a > 10")
222222
tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("0"))
223223

224224
tk.MustExec("set binding enabled for select * from t where a > 10")
225225
rows = tk.MustQuery("show global bindings").Rows()
226226
require.Len(t, rows, 1)
227-
require.Equal(t, bindinfo.Enabled, rows[0][3])
227+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
228228

229229
tk.MustExec("set binding disabled for select * from t where a > 10")
230230
tk.MustExec("create global binding for select * from t where a > 10 using select * from t where a > 10")
231231
rows = tk.MustQuery("show global bindings").Rows()
232232
require.Len(t, rows, 1)
233-
require.Equal(t, bindinfo.Enabled, rows[0][3])
233+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
234234
tk.MustExec("select * from t where a > 10")
235235
tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
236236

237237
tk.MustExec("set binding disabled for select * from t where a > 10 using select * from t where a > 10")
238238
rows = tk.MustQuery("show global bindings").Rows()
239239
require.Len(t, rows, 1)
240-
require.Equal(t, bindinfo.Disabled, rows[0][3])
240+
require.Equal(t, bindinfo.StatusDisabled, rows[0][3])
241241
tk.MustExec("select * from t where a > 10")
242242
tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("0"))
243243

244244
tk.MustExec("set binding enabled for select * from t where a > 10 using select * from t where a > 10")
245245
rows = tk.MustQuery("show global bindings").Rows()
246246
require.Len(t, rows, 1)
247-
require.Equal(t, bindinfo.Enabled, rows[0][3])
247+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
248248

249249
tk.MustExec("set binding disabled for select * from t where a > 10 using select * from t where a > 10")
250250
tk.MustExec("drop global binding for select * from t where a > 10 using select * from t where a > 10")
@@ -266,28 +266,28 @@ func TestSetBindingStatusWithoutBindingInCache(t *testing.T) {
266266
// Simulate creating bindings on other machines
267267
_, sqlDigest := parser.NormalizeDigestForBinding("select * from `test` . `t` where `a` > ?")
268268
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT /*+ USE_INDEX(`t` `idx_a`)*/ * FROM `test`.`t` WHERE `a` > 10', 'test', 'deleted', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
269-
bindinfo.Manual + "', '" + sqlDigest.String() + "', '')")
269+
bindinfo.SourceManual + "', '" + sqlDigest.String() + "', '')")
270270
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT /*+ USE_INDEX(`t` `idx_a`)*/ * FROM `test`.`t` WHERE `a` > 10', 'test', 'enabled', '2000-01-02 09:00:00', '2000-01-02 09:00:00', '', '','" +
271-
bindinfo.Manual + "', '" + sqlDigest.String() + "', '')")
271+
bindinfo.SourceManual + "', '" + sqlDigest.String() + "', '')")
272272
tk.MustExec("set binding disabled for select * from t where a > 10")
273273
tk.MustExec("admin reload bindings")
274274
rows := tk.MustQuery("show global bindings").Rows()
275275
require.Len(t, rows, 1)
276-
require.Equal(t, bindinfo.Disabled, rows[0][3])
276+
require.Equal(t, bindinfo.StatusDisabled, rows[0][3])
277277

278278
// clear the mysql.bind_info
279279
utilCleanBindingEnv(tk)
280280

281281
// Simulate creating bindings on other machines
282282
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT * FROM `test`.`t` WHERE `a` > 10', 'test', 'deleted', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
283-
bindinfo.Manual + "', '" + sqlDigest.String() + "', '')")
283+
bindinfo.SourceManual + "', '" + sqlDigest.String() + "', '')")
284284
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT * FROM `test`.`t` WHERE `a` > 10', 'test', 'disabled', '2000-01-02 09:00:00', '2000-01-02 09:00:00', '', '','" +
285-
bindinfo.Manual + "', '" + sqlDigest.String() + "', '')")
285+
bindinfo.SourceManual + "', '" + sqlDigest.String() + "', '')")
286286
tk.MustExec("set binding enabled for select * from t where a > 10")
287287
tk.MustExec("admin reload bindings")
288288
rows = tk.MustQuery("show global bindings").Rows()
289289
require.Len(t, rows, 1)
290-
require.Equal(t, bindinfo.Enabled, rows[0][3])
290+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
291291

292292
utilCleanBindingEnv(tk)
293293
}
@@ -441,7 +441,7 @@ func TestGlobalBinding(t *testing.T) {
441441
require.Equal(t, testSQL.originSQL, binding.OriginalSQL)
442442
require.Equal(t, testSQL.bindSQL, binding.BindSQL)
443443
require.Equal(t, "test", binding.Db)
444-
require.Equal(t, bindinfo.Enabled, binding.Status)
444+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
445445
require.NotNil(t, binding.Charset)
446446
require.NotNil(t, binding.Collation)
447447
require.NotNil(t, binding.CreateTime)
@@ -457,7 +457,7 @@ func TestGlobalBinding(t *testing.T) {
457457
require.Equal(t, testSQL.originSQL, row.GetString(0))
458458
require.Equal(t, testSQL.bindSQL, row.GetString(1))
459459
require.Equal(t, "test", row.GetString(2))
460-
require.Equal(t, bindinfo.Enabled, row.GetString(3))
460+
require.Equal(t, bindinfo.StatusEnabled, row.GetString(3))
461461
require.NotNil(t, row.GetTime(4))
462462
require.NotNil(t, row.GetTime(5))
463463
require.NotNil(t, row.GetString(6))
@@ -474,7 +474,7 @@ func TestGlobalBinding(t *testing.T) {
474474
require.Equal(t, testSQL.originSQL, binding.OriginalSQL)
475475
require.Equal(t, testSQL.bindSQL, binding.BindSQL)
476476
require.Equal(t, "test", binding.Db)
477-
require.Equal(t, bindinfo.Enabled, binding.Status)
477+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
478478
require.NotNil(t, binding.Charset)
479479
require.NotNil(t, binding.Collation)
480480
require.NotNil(t, binding.CreateTime)
@@ -575,7 +575,7 @@ func TestRemoveDuplicatedPseudoBinding(t *testing.T) {
575575
insertPseudoBinding := func() {
576576
tk.MustExec(fmt.Sprintf(`INSERT INTO mysql.bind_info(original_sql, bind_sql, default_db, status, create_time, update_time, charset, collation, source)
577577
VALUES ('%v', '%v', "mysql", '%v', "2000-01-01 00:00:00", "2000-01-01 00:00:00", "", "", '%v')`,
578-
bindinfo.BuiltinPseudoSQL4BindLock, bindinfo.BuiltinPseudoSQL4BindLock, bindinfo.Builtin, bindinfo.Builtin))
578+
bindinfo.BuiltinPseudoSQL4BindLock, bindinfo.BuiltinPseudoSQL4BindLock, bindinfo.StatusBuiltin, bindinfo.StatusBuiltin))
579579
}
580580
removeDuplicated := func() {
581581
tk.MustExec(bindinfo.StmtRemoveDuplicatedPseudoBinding)
@@ -765,7 +765,7 @@ func TestErrorBind(t *testing.T) {
765765
require.Equal(t, "select * from `test` . `t` where `i` > ?", binding.OriginalSQL)
766766
require.Equal(t, "SELECT * FROM `test`.`t` USE INDEX (`index_t`) WHERE `i` > 100", binding.BindSQL)
767767
require.Equal(t, "test", binding.Db)
768-
require.Equal(t, bindinfo.Enabled, binding.Status)
768+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
769769
require.NotNil(t, binding.Charset)
770770
require.NotNil(t, binding.Collation)
771771
require.NotNil(t, binding.CreateTime)
@@ -805,7 +805,7 @@ func TestBestPlanInBaselines(t *testing.T) {
805805
require.Equal(t, "select `a` , `b` from `test` . `t` where `a` = ? limit ...", binding.OriginalSQL)
806806
require.Equal(t, "SELECT /*+ use_index(@`sel_1` `test`.`t` `ia`)*/ `a`,`b` FROM `test`.`t` WHERE `a` = 1 LIMIT 0,1", binding.BindSQL)
807807
require.Equal(t, "test", binding.Db)
808-
require.Equal(t, bindinfo.Enabled, binding.Status)
808+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
809809

810810
tk.MustQuery("select a, b from t where a = 3 limit 1, 10")
811811
require.Equal(t, "t:ia", tk.Session().GetSessionVars().StmtCtx.IndexNames[0])
@@ -848,7 +848,7 @@ func TestBindingSymbolList(t *testing.T) {
848848
require.Equal(t, "select `a` , `b` from `test` . `t` where `a` = ? limit ...", binding.OriginalSQL)
849849
require.Equal(t, "SELECT `a`,`b` FROM `test`.`t` USE INDEX (`ib`) WHERE `a` = 1 LIMIT 0,1", binding.BindSQL)
850850
require.Equal(t, "test", binding.Db)
851-
require.Equal(t, bindinfo.Enabled, binding.Status)
851+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
852852
require.NotNil(t, binding.Charset)
853853
require.NotNil(t, binding.Collation)
854854
require.NotNil(t, binding.CreateTime)
@@ -893,7 +893,7 @@ func TestBindingInListWithSingleLiteral(t *testing.T) {
893893
require.Equal(t, "select `a` , `b` from `test` . `t` where `a` in ( ... )", binding.OriginalSQL)
894894
require.Equal(t, "SELECT `a`,`b` FROM `test`.`t` USE INDEX (`ib`) WHERE `a` IN (1,2,3)", binding.BindSQL)
895895
require.Equal(t, "test", binding.Db)
896-
require.Equal(t, bindinfo.Enabled, binding.Status)
896+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
897897
require.NotNil(t, binding.Charset)
898898
require.NotNil(t, binding.Collation)
899899
require.NotNil(t, binding.CreateTime)

pkg/bindinfo/session_handle_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func TestSessionBinding(t *testing.T) {
9898
require.Equal(t, testSQL.originSQL, binding.OriginalSQL)
9999
require.Equal(t, testSQL.bindSQL, binding.BindSQL)
100100
require.Equal(t, "test", binding.Db)
101-
require.Equal(t, bindinfo.Enabled, binding.Status)
101+
require.Equal(t, bindinfo.StatusEnabled, binding.Status)
102102
require.NotNil(t, binding.Charset)
103103
require.NotNil(t, binding.Collation)
104104
require.NotNil(t, binding.CreateTime)
@@ -121,7 +121,7 @@ func TestSessionBinding(t *testing.T) {
121121
require.Equal(t, testSQL.originSQL, row.GetString(0))
122122
require.Equal(t, testSQL.bindSQL, row.GetString(1))
123123
require.Equal(t, "test", row.GetString(2))
124-
require.Equal(t, bindinfo.Enabled, row.GetString(3))
124+
require.Equal(t, bindinfo.StatusEnabled, row.GetString(3))
125125
require.NotNil(t, row.GetTime(4))
126126
require.NotNil(t, row.GetTime(5))
127127
require.NotNil(t, row.GetString(6))

pkg/bindinfo/tests/bind_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -393,9 +393,9 @@ func TestGCBindRecord(t *testing.T) {
393393
rows := tk.MustQuery("show global bindings").Rows()
394394
require.Len(t, rows, 1)
395395
require.Equal(t, "select * from `test` . `t` where `a` = ?", rows[0][0])
396-
require.Equal(t, bindinfo.Enabled, rows[0][3])
396+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
397397
tk.MustQuery("select status from mysql.bind_info where original_sql = 'select * from `test` . `t` where `a` = ?'").Check(testkit.Rows(
398-
bindinfo.Enabled,
398+
bindinfo.StatusEnabled,
399399
))
400400

401401
h := dom.BindHandle()
@@ -404,9 +404,9 @@ func TestGCBindRecord(t *testing.T) {
404404
rows = tk.MustQuery("show global bindings").Rows()
405405
require.Len(t, rows, 1)
406406
require.Equal(t, "select * from `test` . `t` where `a` = ?", rows[0][0])
407-
require.Equal(t, bindinfo.Enabled, rows[0][3])
407+
require.Equal(t, bindinfo.StatusEnabled, rows[0][3])
408408
tk.MustQuery("select status from mysql.bind_info where original_sql = 'select * from `test` . `t` where `a` = ?'").Check(testkit.Rows(
409-
bindinfo.Enabled,
409+
bindinfo.StatusEnabled,
410410
))
411411

412412
tk.MustExec("drop global binding for select * from t where a = 1")

pkg/executor/bind.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func (e *SQLBindExec) createSQLBind() error {
138138
BindSQL: detail.BindSQL,
139139
Charset: detail.Charset,
140140
Collation: detail.Collation,
141-
Status: bindinfo.Enabled,
141+
Status: bindinfo.StatusEnabled,
142142
Source: detail.Source,
143143
SQLDigest: detail.SQLDigest,
144144
PlanDigest: detail.PlanDigest,

pkg/executor/show.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,9 @@ func (e *ShowExec) fetchShowBindingCacheStatus(ctx context.Context) error {
372372
exec := e.Ctx().GetRestrictedSQLExecutor()
373373
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnBindInfo)
374374

375-
rows, _, err := exec.ExecRestrictedSQL(ctx, nil, fmt.Sprintf("SELECT count(*) FROM mysql.bind_info where status = '%s' or status = '%s';", bindinfo.Enabled, bindinfo.Using))
375+
rows, _, err := exec.ExecRestrictedSQL(ctx, nil,
376+
fmt.Sprintf("SELECT count(*) FROM mysql.bind_info where status = '%s' or status = '%s';",
377+
bindinfo.StatusEnabled, bindinfo.StatusUsing))
376378
if err != nil {
377379
return errors.Trace(err)
378380
}

pkg/planner/core/planbuilder.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -806,9 +806,9 @@ func (b *PlanBuilder) buildSetBindingStatusPlan(v *ast.SetBindingStmt) (base.Pla
806806
}
807807
switch v.BindingStatusType {
808808
case ast.BindingStatusTypeEnabled:
809-
p.Details[0].NewStatus = bindinfo.Enabled
809+
p.Details[0].NewStatus = bindinfo.StatusEnabled
810810
case ast.BindingStatusTypeDisabled:
811-
p.Details[0].NewStatus = bindinfo.Disabled
811+
p.Details[0].NewStatus = bindinfo.StatusDisabled
812812
}
813813
if v.HintedNode != nil {
814814
p.Details[0].BindSQL = utilparser.RestoreWithDefaultDB(v.HintedNode, b.ctx.GetSessionVars().CurrentDB, v.HintedNode.Text())
@@ -948,7 +948,7 @@ func constructSQLBindOPFromPlanDigest(
948948
Db: db,
949949
Charset: bindableStmt.Charset,
950950
Collation: bindableStmt.Collation,
951-
Source: bindinfo.History,
951+
Source: bindinfo.SourceHistory,
952952
SQLDigest: sqlDigestWithDBStr,
953953
PlanDigest: planDigest,
954954
}
@@ -1014,7 +1014,7 @@ func (b *PlanBuilder) buildCreateBindPlan(v *ast.CreateBindingStmt) (base.Plan,
10141014
Db: db,
10151015
Charset: charSet,
10161016
Collation: collation,
1017-
Source: bindinfo.Manual,
1017+
Source: bindinfo.SourceManual,
10181018
SQLDigest: sqlDigestWithDB.String(),
10191019
}},
10201020
}

0 commit comments

Comments
 (0)