Skip to content

Commit 52a9d3a

Browse files
authored
parser: support "admin plugins enable/disable plugin" syntax (#374) (#379)
1 parent 5922bb2 commit 52a9d3a

File tree

4 files changed

+3908
-3847
lines changed

4 files changed

+3908
-3847
lines changed

ast/misc.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1380,6 +1380,8 @@ const (
13801380
AdminShowSlow
13811381
AdminShowNextRowID
13821382
AdminReloadExprPushdownBlacklist
1383+
AdminPluginDisable
1384+
AdminPluginEnable
13831385
)
13841386

13851387
// HandleRange represents a range where handle value >= Begin and < End.
@@ -1455,6 +1457,7 @@ type AdminStmt struct {
14551457

14561458
HandleRanges []HandleRange
14571459
ShowSlow *ShowSlow
1460+
Plugins []string
14581461
}
14591462

14601463
// Restore implements Node interface.
@@ -1550,6 +1553,26 @@ func (n *AdminStmt) Restore(ctx *RestoreCtx) error {
15501553
}
15511554
case AdminReloadExprPushdownBlacklist:
15521555
ctx.WriteKeyWord("RELOAD EXPR_PUSHDOWN_BLACKLIST")
1556+
case AdminPluginEnable:
1557+
ctx.WriteKeyWord("PLUGINS ENABLE")
1558+
for i, v := range n.Plugins {
1559+
if i == 0 {
1560+
ctx.WritePlain(" ")
1561+
} else {
1562+
ctx.WritePlain(", ")
1563+
}
1564+
ctx.WritePlain(v)
1565+
}
1566+
case AdminPluginDisable:
1567+
ctx.WriteKeyWord("PLUGINS DISABLE")
1568+
for i, v := range n.Plugins {
1569+
if i == 0 {
1570+
ctx.WritePlain(" ")
1571+
} else {
1572+
ctx.WritePlain(", ")
1573+
}
1574+
ctx.WritePlain(v)
1575+
}
15531576
default:
15541577
return errors.New("Unsupported AdminStmt type")
15551578
}

0 commit comments

Comments
 (0)