in x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/parser/SqlBaseParser.java [6744:6824]
public final FunctionExpressionContext functionExpression() throws RecognitionException {
FunctionExpressionContext _localctx = new FunctionExpressionContext(_ctx, getState());
enterRule(_localctx, 84, RULE_functionExpression);
try {
setState(745);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ANALYZE:
case ANALYZED:
case CATALOGS:
case COLUMNS:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case DAY:
case DEBUG:
case EXECUTABLE:
case EXPLAIN:
case FIRST:
case FORMAT:
case FULL:
case FUNCTIONS:
case GRAPHVIZ:
case HOUR:
case INTERVAL:
case LAST:
case LEFT:
case LIMIT:
case MAPPED:
case MINUTE:
case MONTH:
case OPTIMIZED:
case PARSED:
case PHYSICAL:
case PIVOT:
case PLAN:
case RIGHT:
case RLIKE:
case QUERY:
case SCHEMAS:
case SECOND:
case SHOW:
case SYS:
case TABLES:
case TEXT:
case TOP:
case TYPE:
case TYPES:
case VERIFY:
case YEAR:
case IDENTIFIER:
case DIGIT_IDENTIFIER:
case QUOTED_IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1); {
setState(740);
functionTemplate();
}
break;
case FUNCTION_ESC:
enterOuterAlt(_localctx, 2); {
setState(741);
match(FUNCTION_ESC);
setState(742);
functionTemplate();
setState(743);
match(ESC_END);
}
break;
default:
throw new NoViableAltException(this);
}
} catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
} finally {
exitRule();
}
return _localctx;
}