>> While in() and out() routines are required for a type,
>> recv() and send() are "optional".
> I can't find that twxt anywhere.
Part of the standard manual:
(Sorry I posted the URL for v7.4... the text is largely
the same for subsequent versions).
Note, specifically, the casual mention of the send and recv
>> Could someone clarify when recv/send are used in preference
>> to in/out? Any way to force the use of one set or the
>> other (assuming all are defined)?
> I'm guessing in/out is for disk storage and send/recv
> for the line protocol.
in and out talk "people-speak". I.e., they provide a way
to convey the contents of the typed variable to the human
user. I.e., it imposes the syntax that the type wants
(as defined by the type implementor) and provides a mapping
to/from the internal representation.
send and recv are for "binary I/O". The first thing that comes
to mind is a *dump*. But, dumps generate actual SQL so...
(obviously, there is a way that send/recv can be used. The
question is: what drives/invokes that and what are the
consequences if it is not implemented?)
>> And, while I'm at it, any pointers to a comprehensive
>> summary of these issues? (I've been poking through
>> the source distribution...)
> I didn't look at that, that's probably whay I didn't find it.
There's a tutorial there (that mimics the one on the manual page)
Quote:> there's a mailing list "postgresql.hackers" where the people who
> work on the deep internals hang out. you can reach it thuough
> gmane if you prefer an NNTP interface, but you need to sign up at
> http://www.postgresql.org/community/lists/ to post.
Yes, I've been trying to avoid pestering those folks on the
assumption that they have better things to do than attend to my
"simple" questions :-/ I figured the user types are exposed
in the manual (whereas much of the internals are NOT) so hoping
other "users" would have first-hand experience.