Bruce Momjian <pgman@candle.pha.pa.us> writes:
> A larger problem is this:
> test=> SELECT '255.255.255.0'::inet - '1.1.1.1'::inet;
> ?column?
> -----------
> -16843265
> (1 row)
> Should subtraction return int8?
Probably, and for that matter the addition operators should take int8;
on IPV6 data even that's not really wide enough.
> We don't have an unsigned data type. Of course we also have this
> excitement:
> test=> SELECT '255.255.255.0'::inet + 1000000;
> ?column?
> ------------
> 0.15.65.64
> (1 row)
> so we underflow and overflow cleanly. Not great, but it works.
"Cleanly" isn't the adjective I'd use for that. There should be an
overflow error.
regards, tom lane