<div dir="ltr"><font color="#000000">Hi all,</font><div><font color="#000000"><br></font></div><div><font color="#000000">I propose to change strictness for ST_Union, ST_Collect and ST_Difference to non-strict.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">It's common in my workflows to have constructs likeĀ </font></div><div><font color="#000000"><br></font></div><div><font color="#000000">ST_Difference(a.geom, (select ST_Union(geom) from clipping_table b where ST_Intersects(a.geom, b.geom)))</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Right now it has not evident side effect of geometries disappearing if ST_Union had no rows to collect. It surely can be fixed with coalesce, but you have to first know of such behavior with NULLs. :)<br><br>So, I propose non-strict handling of nulls:</font></div><div><font color="#000000">ST_Union(A, NULL) => A,</font></div><div><font color="#000000">ST_Union(NULL, A) => A,</font></div><div><font color="#000000">ST_Union(NULL, NULL) => NULL,</font></div><div><font color="#000000">ST_Collect(A, NULL) => A,</font></div><div><font color="#000000">ST_Collect(NULL, A) => A,</font></div><div><font color="#000000">ST_Collect(NULL, NULL) => NULL,</font></div><div><font color="#000000">ST_Difference(A, NULL) = A,</font></div><div><span style="color:rgb(0,0,0)">ST_Difference(NULL, *) = NULL.</span><font color="#000000"><br></font></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">any thoughts?</span></div><div><br></div></div>