kosiew commented on PR #22037:
URL: https://github.com/apache/datafusion/pull/22037#issuecomment-4542066293

   @neilconway 
   
   Yes, I updated the PR to follow `UNION`'s nullability analysis pattern, 
while keeping `RecursiveQuery`'s existing node shape.
   
   The new approach computes recursive output nullability once 
(`static_nullable || recursive_nullable`) while preserving the static term's 
names/types/metadata, then projects both terms to that reconciled schema. This 
is similar to `UNION` because output nullability is derived once from both 
sides and then treated as the contract through logical/physical planning.
   
   It is not identical to `UNION` structurally: `UNION` stores an explicit 
schema on the logical node, while `RecursiveQuery` still exposes schema via the 
coerced static term (instead of adding a new `DFSchema` field to 
`RecursiveQuery`, which is a `pub struct` with `pub` fields and therefore part 
of the public API surface). 
   
   But behavior-wise the key property is now the same: we stop re-deriving 
recursive CTE nullability from child projection expressions during rebuilds.


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