postgresql/src/backend
Peter Eisentraut 3c6f8c011f Simplify the general-purpose 64-bit integer parsing APIs
pg_strtouint64() is a wrapper around strtoull/strtoul/_strtoui64, but
it seems no longer necessary to have this indirection.
msvc/Solution.pm claims HAVE_STRTOULL, so the "MSVC only" part seems
unnecessary.  Also, we have code in c.h to substitute alternatives for
strtoull() if not found, and that would appear to cover all currently
supported platforms, so having a further fallback in pg_strtouint64()
seems unnecessary.

Therefore, we could remove pg_strtouint64(), and use strtoull()
directly in all call sites.  However, it seems useful to keep a
separate notation for parsing exactly 64-bit integers, matching the
type definition int64/uint64.  For that, add new macros strtoi64() and
strtou64() in c.h as thin wrappers around strtol()/strtoul() or
strtoll()/stroull().  This makes these functions available everywhere
instead of just in the server code, and it makes the function naming
notably different from the pg_strtointNN() functions in numutils.c,
which have a different API.

Discussion: https://www.postgresql.org/message-id/flat/a3df47c9-b1b4-29f2-7e91-427baf8b75a3%40enterprisedb.com
2021-12-17 06:32:07 +01:00
..
access Change ProcSendSignal() to take pgprocno. 2021-12-16 15:56:03 +13:00
bootstrap Fix bogus assertion in BootstrapModeMain(). 2021-08-09 08:28:53 -07:00
catalog Fix some typos with {a,an} 2021-12-09 15:20:36 +09:00
commands Always use ReleaseTupleDesc after lookup_rowtype_tupdesc et al. 2021-12-15 18:58:20 -05:00
executor Always use ReleaseTupleDesc after lookup_rowtype_tupdesc et al. 2021-12-15 18:58:20 -05:00
foreign Improve HINT message that FDW reports when there are no valid options. 2021-10-27 00:46:52 +09:00
jit Fix some typos with {a,an} 2021-12-09 15:20:36 +09:00
lib Improve sift up/down code in binaryheap.c and logtape.c. 2021-12-14 13:35:22 -05:00
libpq On Windows, also call shutdown() while closing the client socket. 2021-12-07 13:34:06 -05:00
main process startup: Split single user code out of PostgresMain(). 2021-09-17 19:56:47 -07:00
nodes Simplify the general-purpose 64-bit integer parsing APIs 2021-12-17 06:32:07 +01:00
optimizer Some RELKIND macro refactoring 2021-12-03 14:08:19 +01:00
parser Ensure casting to typmod -1 generates a RelabelType. 2021-12-16 15:36:02 -05:00
partitioning Fix duplicate words in comments 2021-10-04 15:12:57 +02:00
po Translation updates 2021-06-21 12:33:50 +02:00
port Check for STATUS_DELETE_PENDING on Windows. 2021-12-10 16:19:43 +13:00
postmaster Remove InitXLOGAccess(). 2021-12-13 09:58:36 -05:00
regex Make pg_regexec() robust against out-of-range search_start. 2021-09-11 15:19:31 -04:00
replication Fix some typos with {a,an} 2021-12-09 15:20:36 +09:00
rewrite Fix rewriter to set hasModifyingCTE correctly on rewritten queries. 2021-09-08 12:05:47 -04:00
snowball Update snowball 2021-12-07 07:04:05 +01:00
statistics Clean up more code using "(expr) ? true : false" 2021-10-11 09:36:42 +09:00
storage Change ProcSendSignal() to take pgprocno. 2021-12-16 15:56:03 +13:00
tcop Replace random(), pg_erand48(), etc with a better PRNG API and algorithm. 2021-11-28 21:33:07 -05:00
tsearch Clean up more code using "(expr) ? true : false" 2021-10-11 09:36:42 +09:00
utils Simplify the general-purpose 64-bit integer parsing APIs 2021-12-17 06:32:07 +01:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
Makefile Use sort_template.h for qsort_tuple() and qsort_ssup(). 2021-03-03 17:02:32 +13:00
nls.mk Report progress of startup operations that take a long time. 2021-10-25 11:51:57 -04:00