aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeModifyTable.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2023-10-23 15:17:26 -0400
committerRobert Haas <rhaas@postgresql.org>2023-10-23 15:17:26 -0400
commit5b36e8f078a3c68fd1c530c59c4ed961c15c7ab4 (patch)
treeaa6dd1fdaedf83b40cac7a08e566dc6234e3801d /src/backend/executor/nodeModifyTable.c
parent5c47c6546c413d5eb51c1626070a807026e6139d (diff)
downloadpostgresql-5b36e8f078a3c68fd1c530c59c4ed961c15c7ab4.tar.gz
postgresql-5b36e8f078a3c68fd1c530c59c4ed961c15c7ab4.zip
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
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions