1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-24 09:27:52 +03:00

Define integer limits independently from the system definitions.

In 83ff1618 we defined integer limits iff they're not provided by the
system. That turns out not to be the greatest idea because there's
different ways some datatypes can be represented. E.g. on OSX PG's 64bit
datatype will be a 'long int', but OSX unconditionally uses 'long
long'. That disparity then can lead to warnings, e.g. around printf
formats.

One way to fix that would be to back int64 using stdint.h's
int64_t. While a good idea it's not that easy to implement. We would
e.g. need to include stdint.h in our external headers, which we don't
today. Also computing the correct int64 printf formats in that case is
nontrivial.

Instead simply prefix the integer limits with PG_ and define them
unconditionally. I've adjusted all the references to them in code, but
not the ones in comments; the latter seems unnecessary to me.

Discussion: 20150331141423.GK4878@alap3.anarazel.de
This commit is contained in:
Andres Freund
2015-04-02 17:43:35 +02:00
parent e146ca6820
commit 62e2a8dc2c
16 changed files with 45 additions and 69 deletions

View File

@@ -48,7 +48,7 @@
/*
* Set the upper and lower bounds of sequence values.
*/
#define SEQ_MAXVALUE INT64_MAX
#define SEQ_MAXVALUE PG_INT64_MAX
#define SEQ_MINVALUE (-SEQ_MAXVALUE)
/*
@@ -185,7 +185,7 @@
* the older rand() function, which is often different from --- and
* considerably inferior to --- random().
*/
#define MAX_RANDOM_VALUE INT32_MAX
#define MAX_RANDOM_VALUE PG_INT32_MAX
/*
* On PPC machines, decide whether to use the mutex hint bit in LWARX