Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> TYPMODFUNC =3D function( internal [, sometype ] ) RETURNS int32 or intar=
> ray
> Simply pass the (Node*) from the parser and let the function sort it
> out itself. Except now they have to be written in C. Is this
> unreasonable,
Nope. You're not going to be writing any interesting datatypes without
using C, anyway. I'd go with this one to minimize flexibility problems.
I'd be inclined to stick with the convention that internally typmod is
a single int32; that is really wired into way too many APIs to consider
changing. varchar could do something like using 24 bits for the length
and 8 bits for an encoded indication of the charset.
regards, tom lane