[ 
https://issues.apache.org/jira/browse/DRILL-789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14011319#comment-14011319
 ] 

Krystal commented on DRILL-789:
-------------------------------

git.commit.id.abbrev=5b8f8d8

The query now fails an error:

0: jdbc:drill:schema=dfs> select voter.name voter_name, voter.registration 
registration, student.name student_name, student.gpa gpa from voter left outer 
join student on (student.name = voter.name);
message: "Failure while setting up Foreman. < AssertionError"

Seems like the problem occurs when the columns in the select statement are not 
the same as the join columns - in this case the "name" column or the select 
columns are from the right table.  The following modified queries run 
successfully:

select student.name, voter.name from student left outer join voter on 
(student.student_id = voter.voter_id);
select student.student_id, voter.voter_id, student.name, student.age from 
student left outer join voter on (student.student_id = voter.voter_id);

If you add a column from the voter table to either one of the query above, the 
query fails:
select student.student_id, voter.voter_id, student.name, student.age, 
voter.contributions from student left outer join voter on (student.student_id = 
voter.voter_id);

Below is the stack trace:
ava.lang.AssertionError
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.getRootField(SqlToRelConverter.java:3932)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.adjustInputRef(SqlToRelConverter.java:3214)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:3189)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.access$1400(SqlToRelConverter.java:62) 
~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4220)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3611)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql.SqlIdentifier.accept(SqlIdentifier.java:222) 
~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4116)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.StandardConvertletTable$7.convertCall(StandardConvertletTable.java:130)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlNodeToRexConverterImpl.convertCall(SqlNodeToRexConverterImpl.java:52)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4210)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3611)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) 
~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4116)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3427)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:519)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:474)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2787)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
org.eigenbase.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:432)
 ~[optiq-core-0.7-20140513.013236-5.jar:na]
net.hydromatic.optiq.prepare.PlannerImpl.convert(PlannerImpl.java:192) 
~[optiq-core-0.7-20140513.013236-5.jar:na]
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRel(DefaultSqlHandler.java:124)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:106)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:129)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:313) 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:167) 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]


> Left outer join returns "null" values for columns from the right table
> ----------------------------------------------------------------------
>
>                 Key: DRILL-789
>                 URL: https://issues.apache.org/jira/browse/DRILL-789
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>            Reporter: Krystal
>         Attachments: DRILL-789.patch
>
>
> git.commit.id.abbrev=5d7e3d3
> 0: jdbc:drill:schema=dfs> select voter.name voter_name, voter.registration 
> registration, student.name student_name, student.gpa gpa from voter left 
> outer join student on (student.name = voter.name) where voter.age < 30;
> +------------+--------------+--------------+------------+
> | voter_name | registration | student_name |    gpa     |
> +------------+--------------+--------------+------------+
> | [B@6ca2652 | [B@4199d4f9  | null         | null       |
> | [B@5a6d4914 | [B@3cd8ee6d  | null         | null       |
> | [B@460d5550 | [B@155c1b1e  | null         | null       |
> | [B@51f85986 | [B@7bd9675   | null         | null       |
> | [B@2fe0df4b | [B@5463cd7b  | null         | null       |
> | [B@64477185 | [B@e6e0632   | null         | null       |



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to