gabotechs opened a new issue, #25646:
URL: https://github.com/apache/datafusion/issues/25646

   ### Context
   
   Follow-up from 
https://github.com/apache/datafusion/pull/25418#discussion_r4048666047.
   
   `resolve_higher_order_function` currently resolves non-lambda arguments only 
when `!vars.is_empty()` and then returns `TreeNodeRecursion::Jump`. A 
higher-order function used as an ordinary value argument at the outermost scope 
is therefore not resolved before the enclosing function derives its lambda 
parameters.
   
   ### Reproducer
   
   ```sql
   array_any_match(array_transform(tags, x -> x), y -> y = 'c')\n```\n\nThis 
can leave the outer resolver with an unresolved nested return type and result 
in `LambdaVariable field and schema field mismatch`.\n\n### 
Follow-up\n\nResolve non-lambda arguments unconditionally before deriving the 
enclosing function lambda parameters, and add a regression test for the nested 
higher-order-function case above.


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