"Brijesh Shrivastav" <Bshrivastav@esri.com> writes:
> Datum func_Recv(PG_FUNCTION_ARGS)
> {
> FUNC_BINARY_FORMAT *input
> = (FUNC_BINARY_FORMAT *)PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
Why would you expect that the input to a receive function would be
already in the datatype's internal format?
I'm too lazy to go check the code right now, but my recollection is that
what you get is a reference to a StringInfo holding the data message
received from the client. You should probably not touch the StringInfo
directly if you can avoid it, but use the convenience functions that are
provided for receive functions to use. Look at the code for existing
receive functions for datatypes similar to yours.
regards, tom lane