[
https://issues.apache.org/jira/browse/IMPALA-12503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17802367#comment-17802367
] Wenzhe Zhou edited comment on IMPALA-12503 at 1/4/24 2:47 AM: -------------------------------------------------------------- Currently external data source only support binary predicates. TBinaryPredicate and comparison operators TComparisonOp are defined at https://github.com/apache/impala/blob/master/common/thrift/ExternalDataSource.thrift#L54-L81 Planner handle DataSource Table in class DataSourceScanNode. It gets predicates in function [DataSourceScanNode.getDisjuncts() |https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L217-L268], pass to JdbcDataSource in [prepare()|https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L189C1-L189C55 API. prepare() API return accepted predicates. JdbcDataSource.[prepare()|https://github.com/apache/impala/blob/master/java/ext-data-source/jdbc/src/main/java/org/apache/impala/extdatasource/jdbc/JdbcDataSource.java#L130-L140] decide which predicates are accepted. Planner currently don't support date and timestamp type for predicates: https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L139-L141 NumericLiteral.java: https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/analysis/NumericLiteral.java DateLiteral.java: https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/analysis/DateLiteral.java TimestampLiteral.java: https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/analysis/TimestampLiteral.java was (Author: wzhou): Currently external data source only support binary predicates. TBinaryPredicate and comparison operators TComparisonOp are defined at https://github.com/apache/impala/blob/master/common/thrift/ExternalDataSource.thrift#L54-L81 Planner handle DataSource Table in class DataSourceScanNode. It gets predicates in function [DataSourceScanNode.getDisjuncts() |https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L217-L268], pass to JdbcDataSource in [prepare()|https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L189C1-L189C55 API. prepare() API return accepted predicates. JdbcDataSource.[prepare()|https://github.com/apache/impala/blob/master/java/ext-data-source/jdbc/src/main/java/org/apache/impala/extdatasource/jdbc/JdbcDataSource.java#L130-L140] decide which predicates are accepted. Planner currently don't support date and timestamp type for predicates: https://github.com/apache/impala/blob/master/fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java#L139-L141 > Support date and timestamp data type for predicates for external data source > table > ---------------------------------------------------------------------------------- > > Key: IMPALA-12503 > URL: https://issues.apache.org/jira/browse/IMPALA-12503 > Project: IMPALA > Issue Type: Sub-task > Components: Backend, Frontend > Reporter: Wenzhe Zhou > Assignee: gaurav singh > Priority: Major > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
