You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "jamie12221 (Jira)" <ji...@apache.org> on 2019/10/15 18:25:00 UTC
[jira] [Created] (CALCITE-3417) The alias is invalid in
RelBuilder#join(JoinRelType, RexNode)
jamie12221 created CALCITE-3417:
-----------------------------------
Summary: The alias is invalid in RelBuilder#join(JoinRelType, RexNode)
Key: CALCITE-3417
URL: https://issues.apache.org/jira/browse/CALCITE-3417
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.21.0, 1.20.0
Reporter: jamie12221
bad code:
RelBuilder relBuilder = RelBuilder.create(config);
RelNode table = relBuilder
.scan("testdb","travelrecord")
.as("t")
.scan("testdb","address")
.as("a")
.join(JoinRelType.INNER, relBuilder.equals(relBuilder.field("t","id"),
relBuilder.field("a","id")))
.filter(relBuilder.and(relBuilder.equals(relBuilder.field(1,0,"id"),relBuilder.literal(1))))
.project(relBuilder.field(1,0,"id"), relBuilder.field(1,0,"user_id"))
.build();
occur exception:
java.lang.IllegalArgumentException: no aliased field found; fields are: [\{aliases=[address, a],fieldName=id}, \{aliases=[address, a],fieldName=addressname}]java.lang.IllegalArgumentException: no aliased field found; fields are: [\{aliases=[address, a],fieldName=id}, \{aliases=[address, a],fieldName=addressname}] at org.apache.calcite.tools.RelBuilder.field(RelBuilder.java:511) at org.apache.calcite.tools.RelBuilder.field(RelBuilder.java:487)
but it is ok :
RelBuilder relBuilder = RelBuilder.create(config);
RelNode table = relBuilder
.scan("testdb","travelrecord")
.as("t")
.scan("testdb","address")
.as("a")
.join(JoinRelType.INNER, relBuilder.equals(relBuilder.field({color:#de350b}2{color},"t","id"),
relBuilder.field(2,"a","id")))
.filter(relBuilder.and(relBuilder.equals(relBuilder.field(1,0,"id"),relBuilder.literal(1))))
.project(relBuilder.field(1,0,"id"), relBuilder.field(1,0,"user_id"))
.build();
--
This message was sent by Atlassian Jira
(v8.3.4#803005)