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)