Readable query to showcase the problem:
The query above used to not return NULLs on the nullable side of the outer join although no rows from t1 match with those from v3 based on the join condition.
Original query produced by the query generator:
First few lines of the result:
Since we are joining on ((a4.int_col) = (a3.month)), both columns in the result set should be the same (or the right column can be NULL).