aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Hagander <magnus@hagander.net>2020-07-03 15:09:06 +0200
committerMagnus Hagander <magnus@hagander.net>2020-07-03 15:09:06 +0200
commitecd9e9f0bc141550726b2205dd6f5745a58e9ecd (patch)
tree21cc89365d35ad03b90cc73dc4ec3ca9e9e46a01
parent8f9b6d40570bd8991f18a089a8445cc5275c1f49 (diff)
downloadpostgresql-ecd9e9f0bc141550726b2205dd6f5745a58e9ecd.tar.gz
postgresql-ecd9e9f0bc141550726b2205dd6f5745a58e9ecd.zip
Fix temporary tablespaces for shared filesets
A likely copy/paste error in 98e8b480532 from back in 2004 would cause temp tablespace to be reset to InvalidOid if temp_tablespaces was set to the same value as the primary tablespace in the database. This would cause shared filesets (such as for parallel hash joins) to ignore them, putting the temporary files in the default tablespace instead of the configured one. The bug is in the old code, but it appears to have been exposed only once we had shared filesets. Reviewed-By: Daniel Gustafsson Discussion: https://postgr.es/m/CABUevExg5YEsOvqMxrjoNvb3ApVyH+9jggWGKwTDFyFCVWczGQ@mail.gmail.com Backpatch-through: 9.5
-rw-r--r--src/backend/commands/tablespace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c
index 051478057f6..f887ee98577 100644
--- a/src/backend/commands/tablespace.c
+++ b/src/backend/commands/tablespace.c
@@ -1386,7 +1386,7 @@ PrepareTempTablespaces(void)
*/
if (curoid == MyDatabaseTableSpace)
{
- tblSpcs[numSpcs++] = InvalidOid;
+ tblSpcs[numSpcs++] = curoid;
continue;
}