Running same query on different versions of PostgreSQL gives different result.
WITH t(a, b) AS (VALUES (1, 0))
SELECT a / b
FROM t
WHERE b <> 0;
On v11.10 I get no rows as expected fiddle
On v13.1 I get ERROR: division by zero
fiddle
Why I get division by zero for PostgreSQL v13.1? I suppose rows should be filtered out as it done for v11.10
UPD
I think when we join, optimizer should not call lateral function sometimes (when it may) and save time:
fiddle