[ 
https://issues.apache.org/jira/browse/HIVE-17593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16528362#comment-16528362
 ] 

Junjie Chen commented on HIVE-17593:
------------------------------------

Thanks [~Ferd] to response so quickly.

It depends on how HiveChar defined and used in other place or other format, 
Hive should have unified usage on HiveChar.  According to 
HiveChar/HiveCharWritable definition in HiveChar/HiveCharWriable.java as below:
/**
 * HiveChar.
 * String values will be padded to full char length.
 * Character legnth, comparison, hashCode should ignore trailing spaces.
 */

We can know the original value of HiveChar should include padding spaces. So in 
ConvertAstToSearchArg.java#boxLiteral return padding value.


> DataWritableWriter strip spaces for CHAR type before writing, but predicate 
> generator doesn't do same thing.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-17593
>                 URL: https://issues.apache.org/jira/browse/HIVE-17593
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.3.0, 3.0.0
>            Reporter: Junjie Chen
>            Assignee: Junjie Chen
>            Priority: Major
>             Fix For: 3.1.0
>
>         Attachments: HIVE-17593.patch
>
>
> DataWritableWriter strip spaces for CHAR type before writing. While when 
> generating predicate, it does NOT do same striping which should cause data 
> missing!
> In current version, it doesn't cause data missing since predicate is not well 
> push down to parquet due to HIVE-17261.
> Please see ConvertAstTosearchArg.java, getTypes treats CHAR and STRING as 
> same which will build a predicate with tail spaces.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to