OSDN Git Service

Re-apply range check patch after fixing LIMIT_H test and defines.
authorBruce Momjian <bruce@momjian.us>
Fri, 9 Jul 1999 17:40:31 +0000 (17:40 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 9 Jul 1999 17:40:31 +0000 (17:40 +0000)
doc/TODO
src/backend/utils/adt/numutils.c
src/interfaces/odbc/gpps.c

index 0798b7f..467ab89 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -36,6 +36,7 @@ PARSER
 * UNION with LIMIT fails
 * Unique index on base column not honored on inserts from inherited table
   INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
+*  CREATE TABLE x AS SELECT 1 UNION SELECT 2 fails
 
 VIEWS
 
@@ -175,6 +176,7 @@ MISC
 * Add PL/Perl(Mark Hollomon)
 * Make postgres user have a password by default
 * Add configure test to check for C++ need for *.h and namespaces
+* Allow BLCKSZ <= 64k, not <= 32k
 
 PERFORMANCE
 -----------
index 6c1cec5..e975df5 100644 (file)
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/adt/numutils.c,v 1.32 1999/07/09 03:27:20 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/adt/numutils.c,v 1.33 1999/07/09 17:40:31 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include <stdio.h>                             /* for sprintf() */
 #include <errno.h>
 #include <math.h>
-#ifdef HAVE_LIMITS
+#ifdef HAVE_LIMITS_H
 #include <limits.h>
 #endif
 #include "postgres.h"
 #define INT_MAX (0x7FFFFFFFL)
 #endif
 #ifndef INT_MIN
-#define INT_MIN (-0x80000000L)
+#define INT_MIN (-INT_MAX-1)
 #endif
 #ifndef SHRT_MAX
 #define SHRT_MAX (0x7FFF)
 #endif
 #ifndef SHRT_MIN
-#define SHRT_MIN (-0x8000)
+#define SHRT_MIN (-SHRT_MAX-1)
 #endif
 #ifndef SCHAR_MAX
 #define SCHAR_MAX (0x7F)
 #endif
 #ifndef SCHAR_MIN
-#define SCHAR_MIN (-0x80)
+#define SCHAR_MIN (-SCHAR_MAX-1)
 #endif
 
 int32
@@ -76,7 +76,7 @@ pg_atoi(char *s, int size, int c)
        switch (size)
        {
                case sizeof(int32):
-#ifdef HAS_LONG_LONG
+#if defined(HAVE_LONG_INT_64) || defined(HAVE_LONG_LONG_INT_64)
                        /* won't get ERANGE on these with 64-bit longs... */
                        if (l < INT_MIN)
                        {
@@ -88,7 +88,7 @@ pg_atoi(char *s, int size, int c)
                                errno = ERANGE;
                                elog(ERROR, "pg_atoi: error reading \"%s\": %m", s);
                        }
-#endif  /* HAS_LONG_LONG */
+#endif         /* HAVE_LONG_INT_64 or HAVE_LONG_LONG_INT_64 */
                        break;
                case sizeof(int16):
                        if (l < SHRT_MIN)
index 38a2e49..8d27966 100644 (file)
@@ -36,7 +36,7 @@
 #define FALSE  ((BOOL)0)
 #endif
 
-#if HAVE_PARAM_H
+#if HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #else
 #define MAXPATHLEN     255