From 0c67a28644784d7c9d7fdbabc14255fbfabcbc47 Mon Sep 17 00:00:00 2001 From: Nik Everett Date: Wed, 6 Aug 2025 09:31:07 -0400 Subject: [PATCH] ESQL: Fix the FIRST function name I made a mistake in #132469 --- .../elasticsearch/xpack/esql/parser/ExpressionBuilder.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/ExpressionBuilder.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/ExpressionBuilder.java index b7488012ddf8c..7d9fc42a84b04 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/ExpressionBuilder.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/ExpressionBuilder.java @@ -643,7 +643,11 @@ public String visitFunctionName(EsqlBaseParser.FunctionNameContext ctx) { } private String functionName(EsqlBaseParser.FunctionNameContext ctx) { - TerminalNode first = ctx.LAST(); + /* + * FIRST and LAST are valid function names AND tokens used in `NULLS LAST`. + * So we have to have special handling for them here. + */ + TerminalNode first = ctx.FIRST(); if (first != null) { return first.getText(); }