[
https://issues.apache.org/jira/browse/IMPALA-12925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17828587#comment-17828587
]
Wenzhe Zhou edited comment on IMPALA-12925 at 3/20/24 4:16 PM:
---------------------------------------------------------------
JDBC driver return decimal type of data as java.math.BigDecimal type. JDBC data
source saves the decimal data in column data at
https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/extdatasource/jdbc/dao/JdbcRecordIterator.java#L150-L153.
Impala backend DataSourceScanNode set the decimal column in function
SetDecimalVal()
https://github.com/apache/impala/blob/master/be/src/exec/data-source-scan-node.cc#L180-L215.
Need to check if the binary formats of decimal types between Impala and Java
BigDecimal are compatible so that we can covert Java BigDecimal to Impala
decimal format correctly.
Java BigDecimal class
https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html
Impala decimal date type:
https://impala.apache.org/docs/build/html/topics/impala_decimal.html
was (Author: wzhou):
JDBC driver return decimal type of data as java.math.BigDecimal type. JDBC data
source saves the decimal data in column data at
https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/extdatasource/jdbc/dao/JdbcRecordIterator.java#L150-L153.
Impala backend DataSourceScanNode set the decimal column in function
SetDecimalVal()
https://github.com/apache/impala/blob/master/be/src/exec/data-source-scan-node.cc#L180-L215.
Need to check if the binary formats of decimal types between Impala and Java
BigDecimal are compatible.
Java BigDecimal class
https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html
Impala decimal date type:
https://impala.apache.org/docs/build/html/topics/impala_decimal.html
> Support decimal data type for external JDBC table
> -------------------------------------------------
>
> Key: IMPALA-12925
> URL: https://issues.apache.org/jira/browse/IMPALA-12925
> Project: IMPALA
> Issue Type: Sub-task
> Components: Frontend
> Reporter: Wenzhe Zhou
> Assignee: gaurav singh
> Priority: Major
>
> The data types in unit-test table alltypes do not include decimal. The data
> type of column partsupp.ps_supplycost is decimal(12,2).
> Create an external JDBC table to query table tpch.partsupp on remote Impala
> cluster. Select statement on the JDBC table return wrong values for column
> partsupp.ps_supplycost. Lots of returned values are negative.
> Decimal type is listed as supported primitive data type in
> DataSourceTable.java(https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/catalog/DataSourceTable.java#L153).
> But it seems the data type is not handled properly which cause wrong value
> returned from DataSourceScanNode.
> Another issue is that the decimal data type is not handled in
> DataSourceScanNode.java
> (https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L152)
> so that decimal type of predicates cannot be pushed down.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]