Re: Support for unsigned integer types - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Support for unsigned integer types
Date
Msg-id 3180774.1733588677@sss.pgh.pa.us
Whole thread Raw
In response to Support for unsigned integer types  (Jack Bay <jack.victor.bay@gmail.com>)
Responses Re: Support for unsigned integer types
List pgsql-hackers
Jack Bay <jack.victor.bay@gmail.com> writes:
> Would it be possible to add support for unsigned 64-bit and unsigned
> 32-bit integers to postgresql?

This has been discussed before, and we've concluded that the impact
on the numeric promotion hierarchy (that is, implicit-cast rules
among the integer types) would probably be catastrophic, leading
to problems like ambiguous-operator errors in many cases that were
fine before.  Quick, is "42 + 1" an int32 or uint32 operation?

That could be avoided perhaps by measures like not having any
implicit casts between the int and uint hierarchies, but then
there'd be a corresponding loss of usability for the uint types.

Plus, the sheer magnitude of effort needed to build out a reasonable
set of support (functions, operators, opclasses) for uint types seems
daunting.

On the flip side, it'd be great to be able to use uint32 instead
of bigint for the SQL representation of types like BlockNumber.
But we couldn't roll in such a change transparently unless we make
int-vs-uint casting fairly transparent, which seems problematic
as per above.

Perhaps a sufficiently determined and creative person could put
together a patch that'd be accepted, but it'd be a lot of work
for uncertain reward.  I'm not aware that anyone is working on
such a thing at present.

            regards, tom lane



pgsql-hackers by date:

Previous
From: "Devulapalli, Raghuveer"
Date:
Subject: RE: Proposal for Updating CRC32C with AVX-512 Algorithm.
Next
From: Jack Bay
Date:
Subject: Re: Support for unsigned integer types