diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/EncodedReaderImpl.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/EncodedReaderImpl.java index 3686e0d..016f470 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/EncodedReaderImpl.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/EncodedReaderImpl.java @@ -323,7 +323,7 @@ public void readEncodedColumns(int stripeIx, StripeInformation stripe, if (listToRead.get() == null) { // No data to read for this stripe. Check if we have some included index-only columns. - if (hasIndexOnlyCols) { + if (hasIndexOnlyCols && (includedRgs == null)) { OrcEncodedColumnBatch ecb = ECB_POOL.take(); ecb.init(fileId, stripeIx, OrcEncodedColumnBatch.ALL_RGS, colRgs.length); consumer.consumeData(ecb); diff --git ql/src/test/queries/clientpositive/orc_llap.q ql/src/test/queries/clientpositive/orc_llap.q index 34f34e2..1659044 100644 --- ql/src/test/queries/clientpositive/orc_llap.q +++ ql/src/test/queries/clientpositive/orc_llap.q @@ -55,6 +55,8 @@ explain select count(1) from orc_llap_small y join orc_llap_small x; select count(1) from orc_llap_small y join orc_llap_small x; +-- All row groups pruned +select count(*) from orc_llap_small where cint < 60000000; -- Hash cannot be vectorized, so run hash as the last step on a temp table drop table llap_temp_table; diff --git ql/src/test/results/clientpositive/orc_llap.q.out ql/src/test/results/clientpositive/orc_llap.q.out index 0632d05..b71fb6b 100644 --- ql/src/test/results/clientpositive/orc_llap.q.out +++ ql/src/test/results/clientpositive/orc_llap.q.out @@ -212,6 +212,17 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_llap_small #### A masked pattern was here #### 225 +PREHOOK: query: -- All row groups pruned +select count(*) from orc_llap_small where cint < 60000000 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_llap_small +#### A masked pattern was here #### +POSTHOOK: query: -- All row groups pruned +select count(*) from orc_llap_small where cint < 60000000 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_llap_small +#### A masked pattern was here #### +0 PREHOOK: query: -- Hash cannot be vectorized, so run hash as the last step on a temp table drop table llap_temp_table PREHOOK: type: DROPTABLE