Fix corruption of pg_shdepend when copying deps from template database
authorMichael Paquier <michael@paquier.xyz>
Thu, 21 Oct 2021 01:39:01 +0000 (10:39 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 21 Oct 2021 01:39:01 +0000 (10:39 +0900)
commit98ec35b0bbf6003e89fc06aa140e12fd90bbad47
tree60ae28cd54e5d77e3534527f507fad42d0bbacdf
parentf45dc59a38cab1d2af6baaedb79559fe2e9b3781
Fix corruption of pg_shdepend when copying deps from template database

Using for a new database a template database with shared dependencies
that need to be copied over was causing a corruption of pg_shdepend
because of an off-by-one computation error of the index number used for
the values inserted with a slot.

Issue introduced by e3931d0.  Monitoring the rest of the code, there are
no similar mistakes.

Reported-by: Sven Klemm
Author: Aleksander Alekseev
Reviewed-by: Daniel Gustafsson, Michael Paquier
Discussion: https://postgr.es/m/CAJ7c6TP0AowkUgNL6zcAK-s5HYsVHVBRWfu69FRubPpfwZGM9A@mail.gmail.com
Backpatch-through: 14
src/backend/catalog/pg_shdepend.c