Bruce Momjian <pgman@candle.pha.pa.us> writes:
> The error is coming from parse_expr.c::typecast_expression, and its call
> to typenameTypeId().  I wish I understood how we do domains better to
> fix this properly.  Anyone?

The reason the cast isn't found is that find_coercion_pathway() strips
off the domains before it ever even looks in pg_cast.  We can't simply
remove that logic without breaking things (notably, the ability to cast
between a domain and its base type).  I think it would be a mistake to
consider this behavior in isolation anyway --- it's fairly tightly tied
to the way that domains are handled (or, mostly, ignored) in
operator/function lookup.  See recent gripes from Elein.

If someone can put together a coherent proposal for how domains should
be dealt with in operator/function resolution, I'm all ears.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to