Thread: Re: Open Items (was: RE: [HACKERS] Beta going well)

Re: Open Items (was: RE: [HACKERS] Beta going well)

From
"Zeugswetter Andreas SB SD"
Date:
> "Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
>
>   /* Plain "long int" fits, use it */
> + #if SIZEOF_INT8 == 0
>   typedef long int int64;
> + #endif
> + #if SIZEOF_UINT8 == 0
>   typedef unsigned long int uint64;
> + #endif
>
>
> This coding appears to assume "if the platform defines int8, then
> it will define int64 as well".  Seems mighty fragile to me.

Well the absolute correct solution would involve all of:
int8, int16, int32, int64 and separately uint8, uint16, uint32, uint64

The previous patch grouped:
int8, int16 and int32
uint8, uint16 and uint32
int64 and uint64  <-- this grouping is wrong on AIX 4.3.3 and below

If you prefer to make 4 groups out of this you could apply this patch.

Andreas

Attachment

Re: Open Items (was: RE: [HACKERS] Beta going well)

From
Tom Lane
Date:
"Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
> Well the absolute correct solution would involve all of:
> int8, int16, int32, int64 and separately uint8, uint16, uint32, uint64

I agree that that's probably overkill.  I'm prepared to assume that
anything defining int8 defines int16 and int32 as well --- but int64
is just new enough that I don't want to make that extrapolation.

> The previous patch grouped:
> int8, int16 and int32
> uint8, uint16 and uint32
> int64 and uint64  <-- this grouping is wrong on AIX 4.3.3 and below

Okay, int64 and uint64 must be tested for separately then.

> If you prefer to make 4 groups out of this you could apply this patch.

This form of the patch looks reasonable to me.

            regards, tom lane

Re: Open Items (was: RE: [HACKERS] Beta going well)

From
Bruce Momjian
Date:
OK, I backed out your previous patch and applied this one.

Thanks.

---------------------------------------------------------------------------

>
> > "Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
> >
> >   /* Plain "long int" fits, use it */
> > + #if SIZEOF_INT8 == 0
> >   typedef long int int64;
> > + #endif
> > + #if SIZEOF_UINT8 == 0
> >   typedef unsigned long int uint64;
> > + #endif
> >
> >
> > This coding appears to assume "if the platform defines int8, then
> > it will define int64 as well".  Seems mighty fragile to me.
>
> Well the absolute correct solution would involve all of:
> int8, int16, int32, int64 and separately uint8, uint16, uint32, uint64
>
> The previous patch grouped:
> int8, int16 and int32
> uint8, uint16 and uint32
> int64 and uint64  <-- this grouping is wrong on AIX 4.3.3 and below
>
> If you prefer to make 4 groups out of this you could apply this patch.
>
> Andreas

Content-Description: int8-newpatch2

[ Attachment, skipping... ]

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: Open Items (was: RE: [HACKERS] Beta going well)

From
Tatsuo Ishii
Date:
I wanted to test the new patches on AIX 5L but the cvs server seem to
reject me (it worked till yesterday). Sigh.
--
Tatsuo Ishii

> OK, I backed out your previous patch and applied this one.
>
> Thanks.
>
> ---------------------------------------------------------------------------
>
> >
> > > "Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
> > >
> > >   /* Plain "long int" fits, use it */
> > > + #if SIZEOF_INT8 == 0
> > >   typedef long int int64;
> > > + #endif
> > > + #if SIZEOF_UINT8 == 0
> > >   typedef unsigned long int uint64;
> > > + #endif
> > >
> > >
> > > This coding appears to assume "if the platform defines int8, then
> > > it will define int64 as well".  Seems mighty fragile to me.
> >
> > Well the absolute correct solution would involve all of:
> > int8, int16, int32, int64 and separately uint8, uint16, uint32, uint64
> >
> > The previous patch grouped:
> > int8, int16 and int32
> > uint8, uint16 and uint32
> > int64 and uint64  <-- this grouping is wrong on AIX 4.3.3 and below
> >
> > If you prefer to make 4 groups out of this you could apply this patch.
> >
> > Andreas
>
> Content-Description: int8-newpatch2
>
> [ Attachment, skipping... ]
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

Re: Open Items (was: RE: [HACKERS] Beta going well)

From
Bruce Momjian
Date:
> I wanted to test the new patches on AIX 5L but the cvs server seem to
> reject me (it worked till yesterday). Sigh.

Yes.  This happened to me this morning.  I fixed it by changing my
.cvspass to use postgresql.org instead of cvs.postgresql.org and used
CVS to attach to that.

Marc, any idea why I needed to do that?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026