You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Gopal V (JIRA)" <ji...@apache.org> on 2013/06/19 18:09:20 UTC
[jira] [Updated] (HIVE-4757) LazyTimestamp goes into irretrievable
NULL mode once inited with NULL once
[ https://issues.apache.org/jira/browse/HIVE-4757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gopal V updated HIVE-4757:
--------------------------
Component/s: Serializers/Deserializers
Affects Version/s: 0.12.0
Assignee: Gopal V
> LazyTimestamp goes into irretrievable NULL mode once inited with NULL once
> --------------------------------------------------------------------------
>
> Key: HIVE-4757
> URL: https://issues.apache.org/jira/browse/HIVE-4757
> Project: Hive
> Issue Type: Bug
> Components: Serializers/Deserializers
> Affects Versions: 0.12.0
> Reporter: Gopal V
> Assignee: Gopal V
>
> The LazyTimestamp.init() code turns into a NULL generator after parsing the very first NULL value (or format error).
> The code is as follows
> {code}
> Timestamp t = null;
> if (s.compareTo("NULL") == 0) {
> isNull = true;
> logExceptionMessage(bytes, start, length, "TIMESTAMP");
> } else {
> try {
> t = Timestamp.valueOf(s);
> } catch (IllegalArgumentException e) {
> isNull = true;
> logExceptionMessage(bytes, start, length, "TIMESTAMP");
> }
> }
> {code}
> As might be obvious from the code above, the class does not reset the isNull to false when a parse is successful.
> So if by any reason, it is initialized with a NULL value, the LazyTimestamp.getObject() will always return NULL for all further rows.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira