Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Not A Bug
-
1.20.0, 1.21.0
-
None
-
None
Description
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();