Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Documents a footgun in the
VariadicFunc::propagates_nulls
function. (…
…MaterializeInc#10622) I ran into this while adding a new variadic function. A casual read of the function makes it seem like the `match!` macro lists the VariadicFuncs that propagate nulls, but the opposite is true. The return expression is actually `!match!`, which is easy to miss. That means the listed VariadicFuncs are the ones that *don't* propagate nulls. Also, this commit fixes a previously unreported bug: I found several VariadicFuncs that returned true when `propagates_nulls()` was called, but don't actually propagate nulls: `Greatest`, `Least`, and `ErrorIfNull`. I wasn't able to find anything broken by this, because none of these funcs use the `eager!` macro during `eval()` and they handle null arguments themselves. I figure it's still worth fixing, though.
- Loading branch information