Skip to content

SQL: selecting a full-text function generates error #47446

Closed
@astefan

Description

@astefan

The desired behavior is a user friendly error message stating that full-text functions cannot be used as projections. Related to #47365.

sql> SELECT MATCH(gender, 'F') FROM test_emp;
Server error [Server encountered an error [Cannot cast org.elasticsearch.xpack.sql.expression.predicate.fulltext.MatchQueryPredicate to org.elasticsearch.xpack.sql.expression.NamedExpression]. [java.lang.ClassCastException: Cannot cast org.elasticsearch.xpack.sql.expression.predicate.fulltext.MatchQueryPredicate to org.elasticsearch.xpack.sql.expression.NamedExpression
        at java.base/java.lang.Class.cast(Class.java:3606)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.visitList(AbstractBuilder.java:63)
        at org.elasticsearch.xpack.sql.parser.LogicalPlanBuilder.visitQuerySpecification(LogicalPlanBuilder.java:129)
        at org.elasticsearch.xpack.sql.parser.LogicalPlanBuilder.visitQuerySpecification(LogicalPlanBuilder.java:64)
        at org.elasticsearch.xpack.sql.parser.SqlBaseParser$QuerySpecificationContext.accept(SqlBaseParser.java:1722)
        at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:70)
        at org.elasticsearch.xpack.sql.parser.SqlBaseBaseVisitor.visitQueryPrimaryDefault(SqlBaseBaseVisitor.java:125)
        at org.elasticsearch.xpack.sql.parser.SqlBaseParser$QueryPrimaryDefaultContext.accept(SqlBaseParser.java:1552)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.typedParsing(AbstractBuilder.java:42)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.plan(AbstractBuilder.java:53)
        at org.elasticsearch.xpack.sql.parser.LogicalPlanBuilder.visitQueryNoWith(LogicalPlanBuilder.java:95)
        at org.elasticsearch.xpack.sql.parser.LogicalPlanBuilder.visitQueryNoWith(LogicalPlanBuilder.java:64)
        at org.elasticsearch.xpack.sql.parser.SqlBaseParser$QueryNoWithContext.accept(SqlBaseParser.java:1362)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.typedParsing(AbstractBuilder.java:42)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.plan(AbstractBuilder.java:53)
        at org.elasticsearch.xpack.sql.parser.LogicalPlanBuilder.visitQuery(LogicalPlanBuilder.java:72)
        at org.elasticsearch.xpack.sql.parser.LogicalPlanBuilder.visitQuery(LogicalPlanBuilder.java:64)
        at org.elasticsearch.xpack.sql.parser.SqlBaseParser$QueryContext.accept(SqlBaseParser.java:1279)
        at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:70)
        at org.elasticsearch.xpack.sql.parser.SqlBaseBaseVisitor.visitStatementDefault(SqlBaseBaseVisitor.java:34)
        at org.elasticsearch.xpack.sql.parser.SqlBaseParser$StatementDefaultContext.accept(SqlBaseParser.java:465)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.typedParsing(AbstractBuilder.java:42)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.plan(AbstractBuilder.java:53)
        at org.elasticsearch.xpack.sql.parser.AstBuilder.visitSingleStatement(AstBuilder.java:26)
        at org.elasticsearch.xpack.sql.parser.AstBuilder.visitSingleStatement(AstBuilder.java:15)
        at org.elasticsearch.xpack.sql.parser.SqlBaseParser$SingleStatementContext.accept(SqlBaseParser.java:185)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.typedParsing(AbstractBuilder.java:42)
        at org.elasticsearch.xpack.sql.parser.AbstractBuilder.plan(AbstractBuilder.java:53)
        at org.elasticsearch.xpack.sql.parser.SqlParser.invokeParser(SqlParser.java:129)
        at org.elasticsearch.xpack.sql.parser.SqlParser.createStatement(SqlParser.java:66)
        at org.elasticsearch.xpack.sql.session.SqlSession.doParse(SqlSession.java:99)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions