hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rui Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-15519) Hive Decimal Type column scale is returning as zero
Date Wed, 28 Dec 2016 09:18:58 GMT

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

Rui Li commented on HIVE-15519:
-------------------------------

Thanks [~bharatviswa] for raising the issue. I think we have a bug in computing subsets of
the ResultSet. Specifically, we don't compute the null BitSet for each subset properly. Therefore
we may get incorrect results in subsequent batches. I'll upload a patch to demonstrate the
idea.

> Hive Decimal Type column scale is returning as zero
> ---------------------------------------------------
>
>                 Key: HIVE-15519
>                 URL: https://issues.apache.org/jira/browse/HIVE-15519
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive, JDBC
>            Reporter: Bharat Viswanadham
>            Assignee: Rui Li
>            Priority: Critical
>         Attachments: data_type_test(1).txt
>
>
> Hive decimal type column precision is returning as zero, even though column has precision
set.
> Example: col67 decimal(18,2) precison is returning as zero for that column.
> Tried with below program.
> {code}
>    System.out.println("Opening connection");   Class.forName("org.apache.hive.jdbc.HiveDriver");
>    Connection con = DriverManager.getConnection("jdbc:hive2://x.x.x.x:10000/default");
>   DatabaseMetaData dbMeta = con.getMetaData();
>    ResultSet rs = dbMeta.getColumns(null, "DEFAULT", "data_type_test",null);
>  while (rs.next()) {
> if (rs.getString("COLUMN_NAME").equalsIgnoreCase("col48") || rs.getString("COLUMN_NAME").equalsIgnoreCase("col67")
|| rs.getString("COLUMN_NAME").equalsIgnoreCase("col68") || rs.getString("COLUMN_NAME").equalsIgnoreCase("col122")){
>      System.out.println(rs.getString("COLUMN_NAME") + "\t" + rs.getString("COLUMN_SIZE")
+ "\t" + rs.getInt("DECIMAL_DIGITS"));
>     }
>    }
>    rs.close();
>    con.close();
>   } catch (Exception e) {
>    e.printStackTrace();
>    ;
>   }
> {code}
> Default fetch size is 50. if any column no is under 50 with decimal type, precision is
returning properly, when the column no is greater than 50, precision is returning as zero.



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

Mime
View raw message