Re: Use T_IntList for uint32

2020-08-31 Thread Michael Paquier
On Tue, Sep 01, 2020 at 01:27:15AM -0400, Tom Lane wrote: > I've occasionally wondered about having exactly two physical List > implementations, one for 32-bit payloads and one for 64-bit payloads, and > then putting a trivial macros-or-static-inlines layer in front of that > that uses casts to sup

Re: Use T_IntList for uint32

2020-08-31 Thread Tom Lane
Amit Kapila writes: > On Mon, Aug 31, 2020 at 5:44 PM Ashutosh Bapat > wrote: >> May be we should have separate list APIs for XID like OID, in case we >> change underlying datatype of XID in future (unlikely but we have had >> discussion about 64bit XIDs in the past). Apart from that it helps us

Re: Use T_IntList for uint32

2020-08-31 Thread Amit Kapila
On Mon, Aug 31, 2020 at 5:44 PM Ashutosh Bapat wrote: > > On Mon, Aug 31, 2020 at 4:59 PM Amit Kapila wrote: > > > Now, as far as I can see there is no problem in using T_IntList in > > such usage because we are not going to fetch stored unsigned value as > > a signed value, so the comparison in

Re: Use T_IntList for uint32

2020-08-31 Thread Amit Kapila
On Mon, Aug 31, 2020 at 6:58 PM Tom Lane wrote: > > Amit Kapila writes: > > Currently pg_list.h doesn't have a variant for uint32 list (like > > T_UIntList), is there a reason other than that that we don't need it > > till now? > > I'm not in favor of adding another list variant code just for tha

Re: Use T_IntList for uint32

2020-08-31 Thread Tom Lane
Amit Kapila writes: > Currently pg_list.h doesn't have a variant for uint32 list (like > T_UIntList), is there a reason other than that that we don't need it > till now? I'm not in favor of adding another list variant code just for that; the overhead is nonzero, and the gain negligible. (I think

Re: Use T_IntList for uint32

2020-08-31 Thread Ashutosh Bapat
On Mon, Aug 31, 2020 at 4:59 PM Amit Kapila wrote: > Now, as far as I can see there is no problem in using T_IntList in > such usage because we are not going to fetch stored unsigned value as > a signed value, so the comparison in get_schema_sent_in_streamed_txn > should work well. However, still

Use T_IntList for uint32

2020-08-31 Thread Amit Kapila
Currently pg_list.h doesn't have a variant for uint32 list (like T_UIntList), is there a reason other than that that we don't need it till now? I see that one can use T_OidList instead (as Oid is uint32) but I am not sure if that is a good idea to say use it for maintaining a list of TransactionIds