Re: Pg 7.2.3 int8 value out of range

From: Lamar Owen <lamar(dot)owen(at)wgcr(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Brian Macy <bmacy(at)macykids(dot)net>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Pg 7.2.3 int8 value out of range
Date: 2002-10-18 03:25:19
Message-ID: 200210172325.19848.lamar.owen@wgcr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thursday 17 October 2002 09:28 pm, Tom Lane wrote:
> Brian Macy <bmacy(at)macykids(dot)net> writes:
> > Only excepts 32bit values and not 64bit. Endian issue?
> > This is on sparc linux.

Specifically Debian. Aurora SPARC Linux does not suffer from this problem.
On Aurora, the userland is 32 bit -- is it possible Debian has a 64 bit
userland? As I detailed in my previous email on this subject, I cannot
reproduce the problem on Aurora SPARC Linux build 0.42, which is based on Red
Hat 7.3.

> Hmm, did configure find any working 64bit int type? Let's see this part
> of your src/include/pg_config.h file:

> /* Set to 1 if type "long int" works and is 64 bits */
> /* #undef HAVE_LONG_INT_64 */

> /* Set to 1 if type "long long int" works and is 64 bits */
> #define HAVE_LONG_LONG_INT_64

> /* Set to 1 if type "long long int" constants should be suffixed by LL */
> #define HAVE_LL_CONSTANTS 1

> /* Define this as the appropriate snprintf format for 64-bit ints, if any
> */ #define INT64_FORMAT "%lld"

For Aurora, those lines, along with some others, are:
/* Set to 1 if type "long int" works and is 64 bits */
/* #undef HAVE_LONG_INT_64 */

/* Set to 1 if type "long long int" works and is 64 bits */
#define HAVE_LONG_LONG_INT_64

/* Set to 1 if type "long long int" constants should be suffixed by LL */
#define HAVE_LL_CONSTANTS 1

/* Define this as the appropriate snprintf format for 64-bit ints, if any */
#define INT64_FORMAT "%lld"

/*
* We need a #define symbol for sizeof(Datum) for use in some #if tests.
*/
#define SIZEOF_DATUM 4

/*
* These must be defined as the alignment requirement (NOT the size) of
* each of the basic C data types (except char, which we assume has align 1).
* MAXIMUM_ALIGNOF is the largest alignment requirement for any C data type.
* ALIGNOF_LONG_LONG_INT need only be defined if HAVE_LONG_LONG_INT_64 is.
*/
#define ALIGNOF_SHORT 2
#define ALIGNOF_INT 4
#define ALIGNOF_LONG 4
#define ALIGNOF_LONG_LONG_INT 8
#define ALIGNOF_DOUBLE 8
#define MAXIMUM_ALIGNOF 8

This was built with the RPM spec file using the 'sparc32' utility that builds
the sun4 32bit userland executables.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Brian Macy 2002-10-18 04:19:44 Re: Pg 7.2.3 int8 value out of range
Previous Message Tom Lane 2002-10-18 01:28:09 Re: Pg 7.2.3 int8 value out of range