Thread: AW: PostgreSQL pre-7.1 Linux/Alpha Status...

AW: PostgreSQL pre-7.1 Linux/Alpha Status...

From
Zeugswetter Andreas SB
Date:
> Not sure what to do about this.  If you had actually typed 2^64-1040,
> it would be appropriate for the code to reject it.  But I hadn't
> realized that the extra check would introduce a discrepancy between
> 32- and 64-bit machines for negative inputs.  Maybe it'd be 
> better just
> to delete the check.  Comments anyone?

IIRC oid uses int4in/int4out and those should definitely be able to parse 
-1040 into a 4 byte signed long without platform dependency, no ?

pg_dump with OID's dumps those negative numbers if oid > 2^32,
thus this input must imho be made to work correctly.

Andreas


Re: AW: PostgreSQL pre-7.1 Linux/Alpha Status...

From
Thomas Lockhart
Date:
> IIRC oid uses int4in/int4out and those should definitely be able to parse
> -1040 into a 4 byte signed long without platform dependency, no ?

Tom Lane changed this recently to have OID use its own i/o routines.

                     - Thomas

Re: AW: PostgreSQL pre-7.1 Linux/Alpha Status...

From
Tom Lane
Date:
Zeugswetter Andreas SB <ZeugswetterA@wien.spardat.at> writes:
> IIRC oid uses int4in/int4out and those should definitely be able to parse 
> -1040 into a 4 byte signed long without platform dependency, no ?

It has done that in past releases.  I changed it to use unsigned display
for 7.1.  Because of the past behavior, I think oidin had better accept
negative inputs for backwards compatibility.  Besides which, strtoul()
does that naturally ...
        regards, tom lane