From 640ea15013ae25ffad234f7e5f60849740d2fe28 Mon Sep 17 00:00:00 2001 From: Jack <875818649@qq.com> Date: Tue, 11 Apr 2023 17:41:38 +0800 Subject: [PATCH] chore: add ifExists to ast (#304) Signed-off-by: wangbo Co-authored-by: wangbo --- .../pkg/distsql/visitor/rdl_visitor.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go index b97955a8..3adaeaac 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go @@ -53,6 +53,12 @@ func (v *Visitor) VisitIfNotExists(ctx *parser.IfNotExistsContext) *ast.IfNotExi } } +func (v *Visitor) VisitIfExists(ctx *parser.IfExistsContext) *ast.IfExists { + return &ast.IfExists{ + IfExists: fmt.Sprintf("%s %s", ctx.IF().GetText(), ctx.EXISTS().GetText()), + } +} + func (v *Visitor) VisitAlterEncryptRule(ctx *parser.AlterEncryptRuleContext) *ast.AlterEncryptRule { stmt := &ast.AlterEncryptRule{} if ctx.AllEncryptRuleDefinition() != nil { @@ -66,10 +72,9 @@ func (v *Visitor) VisitAlterEncryptRule(ctx *parser.AlterEncryptRuleContext) *as func (v *Visitor) VisitDropEncryptRule(ctx *parser.DropEncryptRuleContext) *ast.DropEncryptRule { stmt := &ast.DropEncryptRule{} - // TODO: Add IfExists to AST - // if ctx.IfExists() != nil { - // stmt.IfExists = v.VisitIfExists(ctx.IfExists().(*parser.IfExistsContext)) - // } + if ctx.IfExists() != nil { + stmt.IfExists = v.VisitIfExists(ctx.IfExists().(*parser.IfExistsContext)) + } if ctx.AllTableName() != nil { for _, tableName := range ctx.AllTableName() {