----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1962/ -----------------------------------------------------------
Review request for hive, Ning Zhang and namit jain. Summary ------- Some queries don't really need to access data when run - sometimes just partition columns are involved. For example select max(hr) from some_table where ds='2011-02-03'; and the table is partitioned by (ds, hr). Then we can't omit reading files from HDFS speeding up the query. Such optimization can be applied when we use just partition columns and all of these go through aggregation - distinct or distinct-like (min, max - when many column vals act just as one; when adding distinct keyword wouldn't change the result). DUAL table is pseudo-table with no columns and one row. It is helpful when testing UDFs - SELECT 2+2; returns parsing error, but we can use SELECT 2+2 FROM DUAL; and we get 4. This addresses bugs HIVE-1003 and HIVE-1558. https://issues.apache.org/jira/browse/HIVE-1003 https://issues.apache.org/jira/browse/HIVE-1558 Diffs ----- trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/io/OneNullRowInputFormat.java PRE-CREATION trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/lineage/OpProcFactory.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/moq/MetadataOnlyOptimizer.java PRE-CREATION trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredMetadataWork.java PRE-CREATION trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFType.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java 1172965 trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMin.java 1172965 trunk/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java PRE-CREATION Diff: https://reviews.apache.org/r/1962/diff Testing ------- Simple unittests not attached here. Thanks, Marcin