Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive, mail # dev - Review Request: Column Column, and Column Scalar vectorized execution tests

Copy link to this message
Re: Review Request: Column Column, and Column Scalar vectorized execution tests
Eric Hanson 2013-05-17, 00:14

This is an automatically generated e-mail. To reply, visit:


    either add a noNulls check or put a comment that you have filled the isNull array with false if there are no nulls so you know this is safe. Please do this in other templates too. In general it is not safe to look at isNull entries if noNulls is true.


    Still some style issues. Please run ant checkstyle on the output of the template generation and update the templates to get rid of the issues. E.g. }while
- Eric Hanson
On May 16, 2013, 6:47 p.m., tony murphy wrote:
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/11133/
> -----------------------------------------------------------
> (Updated May 16, 2013, 6:47 p.m.)
> Review request for hive, Jitendra Pandey, Eric Hanson, Sarvesh Sakalanaga, and Remus Rusanu.
> Description
> -------
> This patch adds Column Column, and Column Scalar vectorized execution tests. These tests are generated in parallel with the vectorized expressions. The tests focus is on validating the column vector and the vectorized row batch metadata regarding nulls, repeating, and selection.
> Overview of Changes:
> CodeGen.java:
> + joinPath, getCamelCaseType, readFile and writeFile made static for use in TestCodeGen.java.
> + filter types now specify null as their output type rather than "doesn't matter" to make detection for test generation easier.
> + support for test generation added.
> TestCodeGen.java & Templates:
>      TestClass.txt
>      TestColumnColumnFilterVectorExpressionEvaluation.txt,
>      TestColumnColumnOperationVectorExpressionEvaluation.txt,
>      TestColumnScalarFilterVectorExpressionEvaluation.txt,
>      TestColumnScalarOperationVectorExpressionEvaluation.txt
> +This class is mutable and maintains a hashmap of TestSuiteClassName to test cases. The tests cases are added over the course of vectorized expressions class generation, with test classes being outputted at the end. For each column vector (inputs and/or outputs) a matrix of pairwise covering Booleans is used to generate test cases across nulls and repeating dimensions. Based on the input column vector(s) nulls and repeating states the states of the output column vector (if there is one) is validated, along with the null vector. For filter operations the selection vector is validated against the generated data. Each template corresponds to a class representing a test suite.
> VectorizedRowGroupUtil.java
> +added methods generateLongColumnVector and generateDoubleColumnVector for generating the respective column vectors with optional nulls and/or repeating values.
> This addresses bug HIVE-4553.
>     https://issues.apache.org/jira/browse/HIVE-4553
> Diffs
> -----
>   ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/CodeGen.java 53d9a7a
>   ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestClass.txt PRE-CREATION
>   ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestCodeGen.java PRE-CREATION
>   ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnColumnFilterVectorExpressionEvaluation.txt PRE-CREATION
>   ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnColumnOperationVectorExpressionEvaluation.txt PRE-CREATION
>   ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/TestColumnScalarFilterVectorExpressionEvaluation.txt PRE-CREATION