in shardingsphere-operator/pkg/distsql/visitor_parser/encrypt/rdlstatement_parser.go [1023:1131]
func (p *RDLStatementParser) EncryptRuleDefinition() (localctx IEncryptRuleDefinitionContext) {
localctx = NewEncryptRuleDefinitionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 6, RDLStatementParserRULE_encryptRuleDefinition)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(103)
p.TableName()
}
{
p.SetState(104)
p.Match(RDLStatementParserLP_)
}
p.SetState(108)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if _la == RDLStatementParserRESOURCE {
{
p.SetState(105)
p.ResourceDefinition()
}
{
p.SetState(106)
p.Match(RDLStatementParserCOMMA_)
}
}
{
p.SetState(110)
p.Match(RDLStatementParserCOLUMNS)
}
{
p.SetState(111)
p.Match(RDLStatementParserLP_)
}
{
p.SetState(112)
p.EncryptColumnDefinition()
}
p.SetState(117)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == RDLStatementParserCOMMA_ {
{
p.SetState(113)
p.Match(RDLStatementParserCOMMA_)
}
{
p.SetState(114)
p.EncryptColumnDefinition()
}
p.SetState(119)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
{
p.SetState(120)
p.Match(RDLStatementParserRP_)
}
p.SetState(125)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if _la == RDLStatementParserCOMMA_ {
{
p.SetState(121)
p.Match(RDLStatementParserCOMMA_)
}
{
p.SetState(122)
p.Match(RDLStatementParserQUERY_WITH_CIPHER_COLUMN)
}
{
p.SetState(123)
p.Match(RDLStatementParserEQ_)
}
{
p.SetState(124)
p.QueryWithCipherColumn()
}
}
{
p.SetState(127)
p.Match(RDLStatementParserRP_)
}
return localctx
}