Shigeru HANADA <shigeru.hanada@gmail.com> writes:
> During writing pgsql_fdw codes, I noticed that exprCollation rejects
> non-Expr nodes with error "unrecognized node type: %d". Is this
> intentional behavior, or can it return InvalidOid for unrecognized nodes
> like exprInputCollation?
Doesn't seem to me that asking for the collation of a list is very
sensible, so I don't see a problem with that.
> Background information: I use exprCollation with expression_walker in
> pgsql_fdw to know whether an expression in baserestrictinfo->clause list
> uses any collation, to determine the clause can be pushed down safely.
Returning InvalidOid in such a case would be the *wrong answer*, because
it would presumably lead the code to conclude that nothing within the
list has a collation, which ain't necessarily so.
regards, tom lane