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
Replace static FFI type list with dynamic discovery instruction
The supported FFI types list would go stale as new types are added.
Replace it with a grep instruction to discover them at check time,
keeping only the "evaluated and not requiring exposure" list which
captures rationale not derivable from code.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Grep for `use datafusion_ffi::` in `crates/core/src/` and `crates/util/src/` to find all FFI types currently imported and used.
130
119
131
120
**Evaluated and not requiring direct Python exposure:**
132
121
These upstream FFI types have been reviewed and do not need to be independently exposed to end users:
@@ -141,7 +130,7 @@ These upstream FFI types have been reviewed and do not need to be independently
141
130
- 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
142
131
143
132
**How to check:**
144
-
1.Compare the upstream `datafusion-ffi` crate's `lib.rs` exports against the lists above
133
+
1.Discover currently supported types by grepping for `use datafusion_ffi::` in `crates/core/src/` and `crates/util/src/`, then compare against the upstream `datafusion-ffi` crate's `lib.rs` exports
145
134
2. If new FFI types appear upstream, evaluate whether they represent a user-facing capability
146
135
3. Check against the "evaluated and not requiring exposure" list before flagging as a gap
147
136
4. Report any genuinely new types that enable user-facing functionality
0 commit comments