Tom Lane wrote:
>>Yes, you can check if they're binary compatible from the pg_cast table....
>>
>>
>
>But nearly all of the interesting cases require you to understand the
>type's interpretation of typmod, and you can't learn that from a table.
>How many cases are there where blindly looking for a binary-compatible
>cast in pg_cast will really do you much good? AFAICS you'd have to set
>atttypmod to -1 if you change atttypid without knowing very specifically
>what you are changing from and to.
>
>
>
AFAICS there's few interpretation about atttypmod necessary because only
few datatypes binary convertible (castfunc=0) do use atttypmod at all.
Most special case is varchar<->text, one supporting length, the other
not; both need atttypmod=-1. bpchar<->varchar both allow typmod in a
similar fashion.
It's already implemented in pgAdmin3 this way.
Regards,
Andreas