github-actions[bot] commented on code in PR #67182:
URL: https://github.com/apache/doris/pull/67182#discussion_r3880432003
##########
fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorCapability.java:
##########
@@ -153,6 +153,20 @@ public enum ConnectorCapability {
* over-admission — a text/json table has no field ids, so pruned leaves
would read back NULL.</p>
*/
SUPPORTS_NESTED_COLUMN_PRUNE,
+ /**
+ * Indicates that this connector's table scans are backed by storage
readers that can use extra
+ * bare-column predicates for data skipping, such as ORC/Parquet min/max
pruning. The planner may
+ * then append safety-checked necessary conditions derived from
monotonic-function predicates while
+ * retaining the original predicate.
+ *
+ * <p>Row/passthrough connectors such as JDBC and ES must NOT declare this
capability. Adding derived
+ * predicates to those scans would broaden connector pushdown semantics
instead of merely exposing ranges
+ * to storage indexes.</p>
+ *
+ * <p><b>Scope: catalog-wide OR per-table.</b> A heterogeneous connector
may declare it only for tables
+ * whose scan path supports storage-level predicate pruning.</p>
+ */
Review Comment:
[P1] Bump the connector API major for this SPI addition
`connector.plugin.api.version` remains `6.0`. Since `ApiVersionGate`
compares only the major and `org.apache.doris.connector.spi.*` is loaded
parent-first, an updated Hive plugin stamped 6.0 is accepted by an older 6.x FE
but resolves this field against that FE's older enum and fails with
`NoSuchFieldError`. The connector compatibility contract classifies any SPI
surface addition as major. Please bump the version and pinned resources to the
next major, and extend the surface guard to record public enum constants.
##########
fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorCapability.java:
##########
@@ -153,6 +153,20 @@ public enum ConnectorCapability {
* over-admission — a text/json table has no field ids, so pruned leaves
would read back NULL.</p>
*/
SUPPORTS_NESTED_COLUMN_PRUNE,
+ /**
+ * Indicates that this connector's table scans are backed by storage
readers that can use extra
+ * bare-column predicates for data skipping, such as ORC/Parquet min/max
pruning. The planner may
+ * then append safety-checked necessary conditions derived from
monotonic-function predicates while
+ * retaining the original predicate.
+ *
+ * <p>Row/passthrough connectors such as JDBC and ES must NOT declare this
capability. Adding derived
+ * predicates to those scans would broaden connector pushdown semantics
instead of merely exposing ranges
+ * to storage indexes.</p>
+ *
+ * <p><b>Scope: catalog-wide OR per-table.</b> A heterogeneous connector
may declare it only for tables
+ * whose scan path supports storage-level predicate pruning.</p>
+ */
+ SUPPORTS_STORAGE_PREDICATE_PRUNING,
Review Comment:
[P1] Bump the connector API major for this SPI addition
`connector.plugin.api.version` remains `6.0`. Since `ApiVersionGate`
compares only the major and `org.apache.doris.connector.spi.*` is loaded
parent-first, an updated Hive plugin stamped 6.0 is accepted by an older 6.x FE
but resolves this field against that FE's older enum and fails with
`NoSuchFieldError`. The connector compatibility contract classifies any SPI
surface addition as major. Please bump the version and pinned resources to the
next major, and extend the surface guard to record public enum constants.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]