50 (
errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
51 errmsg(
"invalid input syntax for integer: \"%s\"",
55 l = strtol(s, &badp, 10);
60 (
errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
61 errmsg(
"invalid input syntax for integer: \"%s\"",
68 #
if defined(HAVE_LONG_INT_64)
70 || l < INT_MIN || l > INT_MAX
74 (
errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
75 errmsg(
"value \"%s\" is out of range for type integer", s)));
78 if (errno == ERANGE || l < SHRT_MIN || l > SHRT_MAX)
80 (
errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
81 errmsg(
"value \"%s\" is out of range for type smallint", s)));
84 if (errno == ERANGE || l < SCHAR_MIN || l > SCHAR_MAX)
86 (
errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
87 errmsg(
"value \"%s\" is out of range for 8-bit integer", s)));
90 elog(
ERROR,
"unsupported result size: %d", size);
97 while (*badp && *badp != c && isspace((
unsigned char) *badp))
100 if (*badp && *badp != c)
102 (
errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
103 errmsg(
"invalid input syntax for integer: \"%s\"",
141 memcpy(a,
"-2147483648", 12);
157 remainder = oldval - value * 10;
158 *a++ =
'0' + remainder;
159 }
while (value != 0);
195 memcpy(a,
"-9223372036854775808", 21);
208 int64 oldval =
value;
211 remainder = oldval - value * 10;
212 *a++ =
'0' + remainder;
213 }
while (value != 0);
258 char *end = &str[minwidth];
283 remainder = oldval - num * 10;
284 start[minwidth] =
'0' - remainder;
296 remainder = oldval - num * 10;
297 start[minwidth] =
'0' + remainder;
355 remainder = oldval - value * 10;
357 *str++ =
'0' - remainder;
358 }
while (value != 0);
372 remainder = oldval - value * 10;
373 *str++ =
'0' + remainder;
374 }
while (value != 0);
406 return _strtoui64(str, endptr, base);
407 #elif defined(HAVE_STRTOULL) && SIZEOF_LONG < 8
408 return strtoull(str, endptr, base);
410 return strtoul(str, endptr, base);
int errcode(int sqlerrcode)
#define ereport(elevel, rest)
void pg_itoa(int16 i, char *a)
uint64 pg_strtouint64(const char *str, char **endptr, int base)
char * pg_ltostr_zeropad(char *str, int32 value, int32 minwidth)
char * pg_ltostr(char *str, int32 value)
#define Assert(condition)
void pg_lltoa(int64 value, char *a)
int errmsg(const char *fmt,...)
void pg_ltoa(int32 value, char *a)
int32 pg_atoi(const char *s, int size, int c)