rationalize aggregate operator error value handling#6710
Conversation
Error value handling in the aggregate operator differs between sam and
vam, and neither implementation is really consistent with the philosophy
for error value handling in other parts of the system. Improve the
situation by making both implementations consistent about ignoring
error("quiet") and preserving other errors.
| output: | | ||
| count | ||
| 10 | ||
| {count:12} |
There was a problem hiding this comment.
Shouldn't the correct result be 11 since we ignore error("quiet") or am I missing something?
There was a problem hiding this comment.
Or is error("quiet") only ignored when its a key?
There was a problem hiding this comment.
If the above is true its seems inconsistent with the below results of feeding error("quiet") into fuse or dcount.
There was a problem hiding this comment.
Excellent point! I meant to add a comment about this so thanks for catching it.
I feel like you're probably right that bare count() should ignore error("quiet") but I'm not really sure.
If you look at SQL, select count(*) from (select null) feels analogous, and that returns 1, but of course error("quiet") isn't the same as null.
There was a problem hiding this comment.
Let's just ship this and see how it feels.
Error value handling in the aggregate operator differs between sam and vam, and neither implementation is really consistent with the philosophy for error value handling in other parts of the system. Improve the situation by making both implementations consistent about ignoring error("quiet") and preserving other errors.
Partially fixes #5039