[
https://issues.apache.org/jira/browse/DRILL-6606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547050#comment-16547050
]
Timothy Farkas commented on DRILL-6606:
---------------------------------------
The problem is that handleNullInput is called even when we received a schema
from the upstream operator. So when setupNewSchema is called it is passed a
batch without a schema. Then when we try to resolve a schemaPath against the
dummy batch here
{code}
final LogicalExpression expr =
ExpressionTreeMaterializer.materialize(namedExpression.getExpr(), incomingBatch,
collector, context.getFunctionRegistry(), true, unionTypeEnabled);
{code}
We do not find it and thus return an int optional for the type. The fix will be
to use the schema if we have it when handling null inputs.
> Hash Join returns incorrect data types when joining subqueries with limit 0
> ---------------------------------------------------------------------------
>
> Key: DRILL-6606
> URL: https://issues.apache.org/jira/browse/DRILL-6606
> Project: Apache Drill
> Issue Type: Bug
> Reporter: Bohdan Kazydub
> Assignee: Timothy Farkas
> Priority: Blocker
> Fix For: 1.14.0
>
>
> PreparedStatement for query
> {code:sql}
> SELECT l.l_quantity, l.l_shipdate, o.o_custkey
> FROM (SELECT * FROM cp.`tpch/lineitem.parquet` LIMIT 0) l
> JOIN (SELECT * FROM cp.`tpch/orders.parquet` LIMIT 0) o
> ON l.l_orderkey = o.o_orderkey
> LIMIT 0
> {code}
> is created with wrong types (nullable INTEGER) for all selected columns, no
> matter what their actual type is. This behavior reproduces with hash join
> only and is very likely to be caused by DRILL-6027 as the query works fine
> before this feature was implemented.
> To reproduce the problem you can put the aforementioned query into
> TestPreparedStatementProvider#joinOrderByQuery() test method.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)