Re: PG_RETURN_?

From: Don Y <pgsql(at)DakotaCom(dot)Net>
To: Richard Huxton <dev(at)archonet(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: PG_RETURN_?
Date: 2006-05-02 15:43:03
Message-ID: 44577E07.6080208@DakotaCom.Net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Richard Huxton wrote:
> Don Y wrote:
>> Hi,
>>
>> I have a set of functions for a data type that return
>> small integers (i.e. [0..12]). I can, of course, represent
>> it as a char, short or long (CHAR, INT16 or INT32).
>> re there any advantages/drawbacks to chosing one particular
>> PG_RETURN_ type over another (realizing that they are
>> effectively just casts)?
>
> If they are integers then an int would be the obvious choice. If you are
> going to treat them as int2 outside the function then int2, otherwise
> just integer.

Yes, I was more interested in what might be going on "behind the
scenes" inside the server that could bias my choice of WHICH
integer type to use. E.g., if arguments are marshalled as
byte arrays vs. as Datum arrays, etc. (I would suspect the
latter). Since I could use something as small as a char to
represent the values, the choice is more interested in how
OTHER things would be affected...

> Oh, it's int2/int4 not int16/int32.

The *data type* is int2/int4 but the PG_RETURN_? macro is
PG_RETURN_INT16 or PG_RETURN_INT32 -- hence the reason
I referred to them as "CHAR, INT16 or INT32" instead of
"char, int2 or int4" :>

--don

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2006-05-02 15:51:34 Re: PG_RETURN_?
Previous Message Joel Richard 2006-05-02 15:25:03 Re: Socket command type I unknown