David Rowley <dgrowle...@gmail.com> writes:
> I noticed that nodeFuncs.c appears to have some pretty sloppy work
> done in many of the comments.  Many look like they've just not been
> updated from a copy/paste/edit from another node function.
> The attached aims to clean these up.

I believe every one of these changes is wrong.
For instance:

                case T_ScalarArrayOpExpr:
-                       coll = InvalidOid;      /* result is always boolean */
+                       coll = InvalidOid;      /* result is always InvalidOid 
*/
                        break;

The point here is that the result type of ScalarArrayOpExpr is boolean,
which has no collation, therefore reporting its collation as InvalidOid
is correct.  Maybe there's a clearer way to say that, but your text is
more confusing not less so.

Likewise, the point of the annotations in exprSetCollation is to not
let a collation be applied to a node that must have a noncollatable
result type.

                        regards, tom lane


Reply via email to