I am getting the Eager operation in places that don't make sense. I have a set of queries that used to run without Eager operation with neo4j 4.2.7 but after upgrading to neo4j 4.4.8 Eager started appearing in the query profile. I initially thought it might be something with the data, but I also started a new empty instance of neo4j 4.4.8 and ran below and still got Eager operator in the profile. Why would the below query result in an Eager operation?
PROFILE UNWIND [1,2,3,4,5] as id MERGE (n:ROW {id: id}) SET n.val1=1, n.val2=2;
but below two statements don't, even though they are doing the same action?
PROFILE UNWIND [1,2,3,4,5] as id MERGE (n:ROW {id: id}) SET n.val1=1;
PROFILE UNWIND [1,2,3,4,5] as id MERGE (n:ROW {id: id}) SET n += {val1:1, val2:2};
It looks that setting one property after MERGE is fine but setting more than one will result in Eager. This behaviour was not there in older versions. Is this intentional or a bug?