diff options
Diffstat (limited to 'src/backend/parser')
-rw-r--r-- | src/backend/parser/scan.l | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index eedef7c0052..97d4dee6282 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -1216,12 +1216,9 @@ process_integer_literal(const char *token, YYSTYPE *lval) errno = 0; val = strtol(token, &endptr, 10); - if (*endptr != '\0' || errno == ERANGE -#ifdef HAVE_LONG_INT_64 - /* if long > 32 bits, check for overflow of int4 */ - || val != (long) ((int32) val) -#endif - ) + if (*endptr != '\0' || errno == ERANGE || + /* check for overflow of int */ + val != (int) val) { /* integer too large, treat it as a float */ lval->str = pstrdup(token); |