postgresql/src/include
Robert Haas 5b36e8f078 Change struct tablespaceinfo's oid member from 'char *' to 'Oid'
This shouldn't change behavior except in the unusual case where
there are file in the tablespace directory that have entirely
numeric names but are nevertheless not possible names for a
tablespace directory, either because their names have leading zeroes
that shouldn't be there, or the value is actually zero, or because
the value is too large to represent as an OID.

In those cases, the directory would previously have made it into
the list of tablespaceinfo objects and no longer will. Thus, base
backups will now ignore such directories, instead of treating them
as legitimate tablespace directories. Similarly, if entries for
such tablespaces occur in a tablespace_map file, they will now
be rejected as erroneous, instead of being honored.

This is infrastructure for future work that wants to be able to
know the tablespace of each relation that is part of a backup
*as an OID*. By strengthening the up-front validation, we don't
have to worry about weird cases later, and can more easily avoid
repeated string->integer conversions.

Patch by me, reviewed by David Steele.

Discussion: http://postgr.es/m/CA+TgmoZNVeBzoqDL8xvr-nkaepq815jtDR4nJzPew7=3iEuM1g@mail.gmail.com
2023-10-23 15:17:26 -04:00
..
access During online checkpoints, insert XLOG_CHECKPOINT_REDO at redo point. 2023-10-19 14:47:29 -04:00
archive Redesign archive modules 2023-02-17 14:26:42 +09:00
backup Change struct tablespaceinfo's oid member from 'char *' to 'Oid' 2023-10-23 15:17:26 -04:00
bootstrap Add const decorations 2023-08-23 06:39:39 +02:00
catalog Extend ALTER OPERATOR to allow setting more optimization attributes. 2023-10-20 12:28:46 -04:00
commands Add support event triggers on authenticated login 2023-10-16 03:18:22 +03:00
common Improve JsonLexContext's freeability 2023-10-05 10:59:08 +02:00
datatype Code review for commit 05a7be935. 2023-01-26 12:51:00 -05:00
executor Add local_blk_{read|write}_time I/O timing statistics for local blocks 2023-10-19 13:39:38 +09:00
fe_utils Allow using syncfs() in frontend utilities. 2023-09-06 16:27:16 -07:00
foreign Update copyright for 2023 2023-01-02 15:00:37 -05:00
jit jit: Supply LLVMGlobalGetValueType() for LLVM < 8. 2023-10-19 03:01:55 +13:00
lib Add function for removing arbitrary nodes in binaryheap. 2023-09-18 14:06:08 -07:00
libpq Refactor ListenSocket array. 2023-10-05 15:05:25 +03:00
mb Restore proper linkage of pg_char_to_encoding() and friends. 2023-10-07 12:08:10 -04:00
nodes Remove IndexInfo.ii_OpclassOptions field 2023-10-03 17:51:02 +02:00
optimizer Remove debug_print_rel and replace usages with pprint 2023-10-09 15:53:16 +13:00
parser Extend ALTER OPERATOR to allow setting more optimization attributes. 2023-10-20 12:28:46 -04:00
partitioning Add const to values and nulls arguments 2023-10-10 07:50:43 +02:00
pch Update copyright for 2023 2023-01-02 15:00:37 -05:00
port Improve the naming in wal_sync_method code. 2023-10-13 15:16:45 -05:00
portability instr_time: Represent time as an int64 on all platforms 2023-01-20 21:16:47 -08:00
postmaster Add option to bgworkers to allow the bypass of role login check 2023-10-12 09:24:17 +09:00
regex Fix various typos 2023-04-18 13:23:23 +12:00
replication Add flush option to pg_logical_emit_message() 2023-10-18 11:24:59 +09:00
rewrite Make Vars be outer-join-aware. 2023-01-30 13:16:20 -05:00
snowball Update copyright for 2023 2023-01-02 15:00:37 -05:00
statistics Add macro for maximum statistics target 2023-07-03 07:18:57 +02:00
storage Refactor parse_filename_for_nontemp_relation to parse more. 2023-10-23 15:08:53 -04:00
tcop Add support event triggers on authenticated login 2023-10-16 03:18:22 +03:00
tsearch Pack struct ParsedWord more tightly. 2023-09-25 12:07:32 -04:00
utils Allow ALTER SYSTEM to set unrecognized custom GUCs. 2023-10-21 13:35:19 -04:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
c.h Improve const use in zlib-using code 2023-08-07 09:34:38 +02:00
fmgr.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
funcapi.h Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
getopt_long.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
Makefile Install wait_event_types.h in VPATH builds 2023-10-19 09:42:46 +09:00
meson.build Introduce macros for protocol characters. 2023-08-22 19:16:12 -07:00
miscadmin.h Add support event triggers on authenticated login 2023-10-16 03:18:22 +03:00
pg_config.h.in Use native CRC instructions on 64-bit LoongArch 2023-08-10 11:36:15 +07:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.meson meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
pg_config_manual.h Update PG_CACHE_LINE_SIZE description. 2023-07-03 11:56:30 +03:00
pg_getopt.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_trace.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
pgstat.h Add writeback to pg_stat_io 2023-05-17 11:18:35 -07:00
pgtar.h Add and use symbolic constants for tar header offsets and file types. 2023-08-01 13:50:42 -04:00
pgtime.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
port.h Rename port/thread.c to port/user.c. 2023-07-09 18:17:09 +12:00
postgres.h New header varatt.h split off from postgres.h 2023-01-10 05:54:36 +01:00
postgres_ext.h Move RelFileNumber declarations to common/relpath.h. 2022-09-27 12:01:57 -04:00
postgres_fe.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
varatt.h New header varatt.h split off from postgres.h 2023-01-10 05:54:36 +01:00
windowapi.h Update copyright for 2023 2023-01-02 15:00:37 -05:00