paleolimbot commented on code in PR #4459:
URL: https://github.com/apache/datafusion-comet/pull/4459#discussion_r3604533198


##########
native/proto/src/proto/expr.proto:
##########
@@ -530,3 +531,22 @@ message JvmScalarUdf {
   // Whether the result column may contain nulls.
   bool return_nullable = 4;
 }
+
+// Call to a user-supplied Rust UDF loaded from a cdylib.
+//
+// The native side resolves (library_path, name) against its loaded-library
+// cache, looks up the kernel by name, and invokes it through whichever ABI
+// flavor (C ABI / datafusion-ffi) the cdylib registered the kernel under.
+message RustUdfCall {
+  // Function name as registered through CometRustUDF.register on the JVM
+  // side; matched against names exposed by the cdylib.
+  string name = 1;
+  // Filesystem path of the cdylib.
+  string library_path = 2;
+  // Argument expressions, evaluated before invocation.
+  repeated Expr args = 3;
+  // Expected return type, declared at register time on the JVM side.
+  DataType return_type = 4;

Review Comment:
   The other issue with the definition is that it can't handle an extension 
type, and some Iceberg/Spark types do map to Arrow extension types (notably: 
Geometry, Geography, and Variant). That is a larger issue with many of the 
definitions in this file and is probably better suited to a standalone change.



-- 
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]

Reply via email to