Ron Peterson <ron.peterson@yellowbank.com> writes:
> That cleared one hurdle, but I'm still not there yet.
> % select 'fe43d07c0c624786bebfcb3357a2a13a'::y_octet_16;
> y_octet_16
> ----------------------------------
> fe43d07c0c624786bebfcb3357a2a13a
That's not invoking any cast function, but the type's typinput function
(applied to a C-string).
> When things are connected up this way,
> what should the cast function expect to see as input?
> % select encode( y_uuid_generate(), 'hex' )::y_octet_16;
> ERROR: input string contains invalid characters
If it's a cast from TEXT, it'll get the internal form of a TEXT datum,
ie, a counted (and not null-terminated) string. You might look at
textin() and textout() to grok the difference.
regards, tom lane