icexelloss commented on issue #34786:
URL: https://github.com/apache/arrow/issues/34786#issuecomment-1494748329

   > > Can you give an example of when does the output schema differs in 
"planning-time" vs "execution'time"?
   > 
   > At execution-time, one can, for example, [pass a `FunctionRegistry` to 
`ExecuteSerializedPlan`](https://github.com/apache/arrow/blob/0e1f5c6c2ce7504d86dd10d91ab7d29c2441d4ce/cpp/src/arrow/engine/substrait/util.h#L54-L58)
 that is different than the default `GetFunctionRegistry()` one. The passed 
registry is allowed to override functions, add kernels, or completely redefine 
the set of registered functions - making this registry incompatible with the 
default one used in planning-time for output schema purposes. Granted, this 
would not be a usual use-case, but it is a supported one.
   > 
   > My point is that it is a design problem when Acero supports a choice of 
function registry at execution-time but not at planning-time, because the two 
choices should be compatible for things to work.
   
   I see - Thanks for the explanation. I am not concerned then. (If someone is 
passing a Function Registry and changes output schema of existing functions 
then things certainly will not work)


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

Reply via email to