[
https://issues.apache.org/jira/browse/DRILL-278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinfeng Ni updated DRILL-278:
-----------------------------
Attachment: DRILL-278.patch.txt
Review board link:
https://reviews.apache.org/r/15284/
> Join predicate with CHAR types hit run-time error
> --------------------------------------------------
>
> Key: DRILL-278
> URL: https://issues.apache.org/jira/browse/DRILL-278
> Project: Apache Drill
> Issue Type: Bug
> Reporter: Jinfeng Ni
> Assignee: Jinfeng Ni
> Priority: Minor
> Attachments: DRILL-278.patch.txt, DRILL-278.patch.txt
>
>
> If we join two tables with = predicate on two CHAR columns, drill will fail.
> SELECT S.S_ACCTBAL, S.S_NAME, N.N_NAME
> FROM
> ( SELECT CAST(_MAP['S_ACCTBAL'] AS numeric) AS S_ACCTBAL,
> CAST(_MAP['S_NAME'] AS VARCHAR) AS S_NAME,
> _MAP['S_SUPPKEY'] AS S_SUPPKEY
> FROM "/Users/jni//work/tpc-h-parquet/supplier") S
> join
> ( SELECT CAST(_MAP['N_NAME'] AS VARCHAR) AS N_NAME,
> _MAP['N_NATIONKEY'] AS N_NATIONKEY
> FROM "/Users/jni//work/tpc-h-parquet/nation" ) N
> on S.S_NAME = N.N_NAME;
> The error is raised when compiling a generated code for the join = predicate
> .
> message: "Screen received stop request sent. < SchemaChangeException:[
> org.apache.drill.exec.exception.ClassTransformationException: Failure
> generating transformation classes for value:
> If we replace the CHAR = predicate with a BIGINT = predicate, the query will
> run successfully.
> SELECT S.S_ACCTBAL, S.S_NAME, N.N_NAME
> FROM
> ( SELECT CAST(_MAP['S_ACCTBAL'] AS numeric) AS S_ACCTBAL,
> CAST(_MAP['S_NAME'] AS VARCHAR) AS S_NAME,
> _MAP['S_SUPPKEY'] AS S_SUPPKEY
> FROM "/Users/jni//work/tpc-h-parquet/supplier") S
> join
> ( SELECT CAST(_MAP['N_NAME'] AS VARCHAR) AS N_NAME,
> _MAP['N_NATIONKEY'] AS N_NATIONKEY
> FROM "/Users/jni//work/tpc-h-parquet/nation" ) N
> on S.S_SUPPKEY = N.N_NATIONKEY;
> Therefore, seems the CHAR join = predicate is not working properly.
--
This message was sent by Atlassian JIRA
(v6.1#6144)