func()

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
}