Skip to content

[Bug] window function meet failed analysis after expr substitution #11462

Closed

Description

@BiteTheDDDDt

Search before asking

  • I had searched in the issues and found no similar issues.

Version

master

What's Wrong?

select k6, k3, first_value(k3) over (partition by k6 order by k3 range             between current row and unbounded following) from baseall order by k6, k3;
java.lang.IllegalStateException: Failed analysis after expr substitution.
	at org.apache.doris.analysis.Expr.substituteList(Expr.java:748) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.AnalyticInfo.materializeRequiredSlots(AnalyticInfo.java:172) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.SelectStmt.materializeRequiredSlots(SelectStmt.java:694) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.planner.SingleNodePlanner.createSelectPlan(SingleNodePlanner.java:963) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.planner.SingleNodePlanner.createQueryPlan(SingleNodePlanner.java:240) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.planner.SingleNodePlanner.createSingleNodePlan(SingleNodePlanner.java:169) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.planner.OriginalPlanner.createPlanFragments(OriginalPlanner.java:142) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.planner.OriginalPlanner.plan(OriginalPlanner.java:85) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.analyzeAndGenerateQueryPlan(StmtExecutor.java:786) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.analyze(StmtExecutor.java:636) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:368) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:334) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:227) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:361) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:556) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[doris-fe.jar:1.0-SNAPSHOT]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
	at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = RANGE is only supported with both the lower and upper bounds UNBOUNDED or one UNBOUNDED and the other CURRENT ROW.
	at org.apache.doris.analysis.AnalyticWindow.analyze(AnalyticWindow.java:485) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.AnalyticExpr.analyzeImpl(AnalyticExpr.java:552) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.Expr.analyze(Expr.java:418) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.Expr.trySubstitute(Expr.java:700) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.Expr.trySubstituteList(Expr.java:737) ~[doris-fe.jar:1.0-SNAPSHOT]
	at org.apache.doris.analysis.Expr.substituteList(Expr.java:746) ~[doris-fe.jar:1.0-SNAPSHOT]
	... 18 more

What You Expected?

fix

How to Reproduce?

No response

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Activity

  1. BiteTheDDDDt commented on Aug 3, 2022

    @BiteTheDDDDt
    ContributorAuthor

    the reason is this usage not supported, I add some message on #11463

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions