Krisztian Kasa created HIVE-22787:
-------------------------------------
Summary: NPE when compiling query contains intersect all
Key: HIVE-22787
URL: https://issues.apache.org/jira/browse/HIVE-22787
Project: Hive
Issue Type: Bug
Components: Query Planning
Reporter: Krisztian Kasa
Assignee: Krisztian Kasa
The query contains INTERSECT ALL operator and one of its operands has an OUTER
JOIN like:
{code}
SELECT ... FROM t1 RIGHT OUTER JOIN t2 ON ...
INTERSECT ALL
SELECT ...
{code}
In this case both AST trees (before and after calcite) has a TOK_INTERSECTALL
node and it is not handled
when generating the plan in
{code}
org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
private Operator genPlan(QB parent, QBExpr qbexpr) throws SemanticException {
if (qbexpr.getOpcode() == QBExpr.Opcode.NULLOP) {
boolean skipAmbiguityCheck = viewSelect == null &&
parent.isTopLevelSelectStarQuery();
return genPlan(qbexpr.getQB(), skipAmbiguityCheck);
}
if (qbexpr.getOpcode() == QBExpr.Opcode.UNION) {
Operator qbexpr1Ops = genPlan(parent, qbexpr.getQBExpr1());
Operator qbexpr2Ops = genPlan(parent, qbexpr.getQBExpr2());
return genUnionPlan(qbexpr.getAlias(), qbexpr.getQBExpr1().getAlias(),
qbexpr1Ops, qbexpr.getQBExpr2().getAlias(), qbexpr2Ops);
}
return null;
}{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)