You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add FFI type coverage and implementation pattern to check-upstream skill
Document the full FFI type pipeline (Rust PyO3 wrapper → Protocol type →
Python wrapper → ABC base class → exports → example) and catalog which
upstream datafusion-ffi types are supported, which have been evaluated as
not needing direct exposure, and how to check for new gaps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-`FFI_PlanProperties` / `FFI_Boundedness` / `FFI_EmissionType` — read from existing plans, not user-facing
334
+
-`FFI_Partitioning` — supporting type for physical planning
335
+
- Supporting/utility types (`FFI_Option`, `FFI_Result`, `WrappedSchema`, `WrappedArray`, `FFI_ColumnarValue`, `FFI_Volatility`, `FFI_InsertOp`, `FFI_AccumulatorArgs`, `FFI_Accumulator`, `FFI_GroupsAccumulator`, `FFI_EmitTo`, `FFI_AggregateOrderSensitivity`, `FFI_PartitionEvaluator`, `FFI_PartitionEvaluatorArgs`, `FFI_Range`, `FFI_SortOptions`, `FFI_Distribution`, `FFI_ExprProperties`, `FFI_SortProperties`, `FFI_Interval`, `FFI_TableProviderFilterPushDown`, `FFI_TableType`) — used as building blocks within the types above, not independently exposed
336
+
337
+
**How to check:**
338
+
1. Compare the upstream `datafusion-ffi` crate's `lib.rs` exports against the lists above
339
+
2. If new FFI types appear upstream, evaluate whether they represent a user-facing capability
340
+
3. Check against the "evaluated and not requiring exposure" list before flagging as a gap
341
+
4. Report any genuinely new types that enable user-facing functionality
342
+
199
343
## Important Notes
200
344
201
345
- The upstream DataFusion version used by this project is specified in `crates/core/Cargo.toml` — check the `datafusion` dependency version to ensure you're comparing against the right upstream version.
0 commit comments