On Saturday 05 March 2011 18:43:31 Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I have a WIP patch fixing one of the two issues.
> >
> > Several places in selfuncs.c didn't setup collations. That lead for
> > example to errors during patternsel.
>
> Hmm. I have to say that this seems like quite the wrong way to go.
> If everyplace in the system that could be calling a collation-sensitive
> function has to be modified like this, we'll be fighting bugs of
> omission till h*ll freezes over. Why aren't we just setting
> finfo.fn_collation to DEFAULT_COLLATION_OID by default, or maybe better
> letting places that inspect it take zero as meaning default collation?
> Call sites should only need to call fmgr_info_collation() if they have
> an explicit non-default collation to pass in.
I wondered the same. On the other hand it makes errors like the one during
index build way much harder to catch...
Andres