IMPALA-2335: DCHECK for zero-length tuple

This DCHECK condition was overly strict - a non-nullable tuple pointer
can be NULL if the tuple is zero bytes long (since there is no memory
backing the tuple).

Adds a test query that hit the DCHECK.

Change-Id: I16e8bc0db747b83c239de931a4fc9677d5c85ae6
Reviewed-on: http://gerrit.cloudera.org:8080/836
Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
Tested-by: Internal Jenkins
This commit is contained in:
Tim Armstrong
2015-09-14 13:36:36 -07:00
committed by ishaan
parent 890abda16d
commit d7ae529dac
2 changed files with 15 additions and 1 deletions

View File

@@ -91,3 +91,17 @@ limit 10;
---- TYPES
bigint,string,bigint,string
====
---- QUERY
# IMPALA-2335: non-nullable zero-width tuples can be NULL. This query hit a DCHECK.
# In this query no slots of the supplier.s_partssupps array are materialized, so there
# are NULL tuples once the array is unnested.
SELECT t2.s_name
FROM tpch_nested_parquet.customer t1
INNER JOIN tpch_nested_parquet.supplier t2
ON t2.s_phone = t1.c_phone AND t2.s_acctbal = t1.c_acctbal,
t2.s_partsupps t3
WHERE t2.s_suppkey > t2.s_nationkey;
---- RESULTS
---- TYPES
string
====