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

   ### Describe the bug
   
   Any node can be volatile if any of its children are volatile, however, the 
default implementation just sets "false".
   This can lead to many issues where we want to know if we can count on output 
values being the same for the same input.
   
   The default implementation should be 
   self.children().any(|child| child.is_volatile_node())
   
   ### To Reproduce
   
   Create a volatile expression(like rand or something of the sort), create a 
parent expression which doesn't implement the function.
   calling it twice in a row will generate a different output(for most 
volatiles, at least), despite is_volatile_node returning false.
   
   ### Expected behavior
   
   Any expression should be assumed to be volatile if any of its children are 
volatile.
   
   ### Additional context
   
   _No response_


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