pgsql: Ignore inherited temp relations from other sessions whentruncat
От | Michael Paquier |
---|---|
Тема | pgsql: Ignore inherited temp relations from other sessions whentruncat |
Дата | |
Msg-id | E1gcKL4-0005Cw-Ce@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Ignore inherited temp relations from other sessions when truncating Inheritance trees can include temporary tables if the parent is permanent, which makes possible the presence of multiple temporary children from different sessions. Trying to issue a TRUNCATE on the parent in this scenario causes a failure, so similarly to any other queries just ignore such cases, which makes TRUNCATE work transparently. This makes truncation behave similarly to any other DML query working on the parent table with queries which need to be issues on children. A set of isolation tests is added to cover basic cases. Reported-by: Zhou Digoal Author: Amit Langote, Michael Paquier Discussion: https://postgr.es/m/15565-ce67a48d0244436a@postgresql.org Backpatch-through: 9.4 Branch ------ REL9_4_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/1d7007671051d04881365c075ed1fc4e36a578f5 Modified Files -------------- src/backend/commands/tablecmds.c | 23 ++- src/test/isolation/expected/inherit-temp.out | 217 +++++++++++++++++++++++++++ src/test/isolation/isolation_schedule | 1 + src/test/isolation/specs/inherit-temp.spec | 78 ++++++++++ 4 files changed, 316 insertions(+), 3 deletions(-)
В списке pgsql-committers по дате отправления: