Replies: 1 comment
|
There is already a capability negotiation point for scan filters, but it is expression-level rather than a static declaration: That dynamic shape is important. Support often depends on more than an operator name: column type, casts, function volatility, nested fields, null semantics, collation, connector version, and combinations such as A useful Capabilities API could therefore be additive: reusable predicates/builders that implement common expression subsets and produce the existing per-expression Join pushdown is a different layer. A So the short version is: automatic pruning already exists after providers classify filters; shared declarative helpers could make that classification much easier, but a fully static list is probably not expressive enough, and joins need a plan-level federation capability rather than only table metadata. |
Uh oh!
There was an error while loading. Please reload this page.
What about a 'Capabilities API' for TableProvider? Instead of manually walking Expr trees for pushdown, could providers simply declare supported filters/joins and let the optimizer handle the pruning automatically?
All reactions