[
https://issues.apache.org/jira/browse/CALCITE-3417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde updated CALCITE-3417:
---------------------------------
Description:
bad code:
{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();
{code}
occur exception:
{noformat}
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)
{noformat}
but it is ok :
{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({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();
{code}
was:
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();
> 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.20.0, 1.21.0
> Reporter: jamie12221
> Priority: Trivial
>
> bad code:
> {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();
> {code}
> occur exception:
> {noformat}
> 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)
> {noformat}
>
> but it is ok :
> {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({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();
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)