Re: Why there is a PG_GETARG_UINT32 and PG_RETURN_UINT32? - Mailing list pgsql-hackers

From Rodrigo Barboza
Subject Re: Why there is a PG_GETARG_UINT32 and PG_RETURN_UINT32?
Date
Msg-id CANs8QJYGqzn+4gDmGoP+_fC7-X3QZXggd6=Xqe=N-PxTzZQLKA@mail.gmail.com
Whole thread
In response to Why there is a PG_GETARG_UINT32 and PG_RETURN_UINT32?  (Rodrigo Barboza <rodrigombufrj@gmail.com>)
Responses Re: Why there is a PG_GETARG_UINT32 and PG_RETURN_UINT32?
List pgsql-hackers
I am creating my own uint32 type and faced this function.
But my args are always of type my_int and one of the signed int types as postgres doesn't hava unsigned.
Could I use those functions in operations between those types?
I can't see a place for this, I don't know if I am missing something....


On Fri, Apr 5, 2013 at 1:12 AM, Amit Kapila <amit.kapila@huawei.com> wrote:
On Thursday, April 04, 2013 8:30 PM Rodrigo Barboza wrote:

> Hi guys.
> I am wondering when I can use the PG_GETARG_UINT32 and PG_RETURN_UINT32.
> If postgres has no unsigned int type, what is the use of these macros?

They are mainly used for contrib module functionality or some built-in
functions which are not exposed.
For example, bt_page_items() receives relation name (text) and block number
(int), but internally the block number
is unit32 as max blocks can be oxFFFFFFFE.

With Regards,
Amit Kapila.


pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Why there is a PG_GETARG_UINT32 and PG_RETURN_UINT32?
Next
From: Amit Kapila
Date:
Subject: Re: Multi-pass planner