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)

Reply via email to