You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2016/10/05 01:34:20 UTC

[jira] [Created] (HIVE-14893) vectorized execution may convert LongCV to smaller types incorrectly

Sergey Shelukhin created HIVE-14893:
---------------------------------------

             Summary: vectorized execution may convert LongCV to smaller types incorrectly
                 Key: HIVE-14893
                 URL: https://issues.apache.org/jira/browse/HIVE-14893
             Project: Hive
          Issue Type: Bug
            Reporter: Sergey Shelukhin


See the results for vectorized in decimal_11 test added in HIVE-14863. 
We cast decimal to various int types; the cast is specialized for each type on non-vectorized side; on vectorized side, it's only specialized for LongColumnVector. LongColumnVector gets converted to a proper type in some other mysterious place later, and tiny/small/regular int become truncated.
Logically, I am not sure if every vectorized expression should be aware of the underlying type for the LongColumnVector (that seems implausible - I am not sure if type information is even available, and if yes it doesn't look like it's used in other places), or if they long-to-smaller-type automatic conversion should be fixed to produce nulls on overflow.
However it seems like a good idea to do the latter in any case, to have a catch-all for all the vectorized expressions that might treat LongCV as representing longs at all times.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)