Thread: Identifying casts
Is there any way of identifying whether a cast was built-in or is user-defined? I am tempted to just assume that if the cast is to/from a user-defined type or uses a user-defined function that it is user-defined. I suspect though that a user could define a new cast on pre-defined types using a pre-defined function. __ Marc
Attachment
Hello you can use oid. When oid is greather than some constant, then cast is custom. The constant is different on any postgresq versions. You can get it on clean postgres with statement select max(oid) from pg_cast; Regards Pavel Stehule On 07/12/2007, Marc Munro <marc@bloodnok.com> wrote: > Is there any way of identifying whether a cast was built-in or is > user-defined? > > I am tempted to just assume that if the cast is to/from a user-defined > type or uses a user-defined function that it is user-defined. I suspect > though that a user could define a new cast on pre-defined types using a > pre-defined function. > > __ > Marc > >
Marc Munro <marc@bloodnok.com> writes: > Is there any way of identifying whether a cast was built-in or is > user-defined? It's not easy. I'd suggest following the same heuristic pg_dump does, which is that if any of the source type, target type, or underlying function is considered user-defined, then the cast is too. regards, tom lane