hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zoltan Haindrich (Jira)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-22706) Jdbc storage handler incorrectly interprets boolean column value in derby
Date Thu, 09 Jan 2020 16:13:00 GMT

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

Zoltan Haindrich commented on HIVE-22706:
-----------------------------------------

now that I've dived into this I'm starting to understand how unfortunate this is....this issue
is somewhat specific to metastore tables 
* for boolean columns we use "CHAR(1)"  for derby; I've tried the BOOLEAN type; but it didn't
really worked (so our jpa implementation (as it is now) doesn't like the BOOLEAN datatype)

* somehow updating the could to true/false thru the metastore/jpa way make the CHAR(1) column
contain 'N' or 'Y'
* when we access the same value thru the JDBC storage handler; we will end up in the [getBoolean()
method of the CHAR type|https://github.com/apache/derby/blob/4253dcf4aa37dc64cf7235d494cd2f00f72e678a/java/org.apache.derby.engine/org/apache/derby/iapi/types/SQLChar.java#L343]
which interprets "0" and "false" as false other values as true

right now I'm not sure where is the logic which transforms true/false into 'Y' and 'N' - but
as a result of that conversion; we will see a bunch of 'true' values when using the sys database...


This could be probably fixed by extending the jdbc handler [here|https://github.com/apache/hive/blob/36f58c5f8f4d7ea65eb6ec90b84e3bec513ee0a1/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/JdbcRecordIterator.java#L112]
to also accept 'N' as a false value in case the underlying BOOLEAN column is CHAR....

> Jdbc storage handler incorrectly interprets boolean column value in derby
> -------------------------------------------------------------------------
>
>                 Key: HIVE-22706
>                 URL: https://issues.apache.org/jira/browse/HIVE-22706
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Zoltan Haindrich
>            Assignee: Zoltan Haindrich
>            Priority: Major
>
> in case the column value is false ; the storage handler interprets it as true



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message