• Tom Lane's avatar
    Fix temporary tablespaces for shared filesets some more. · f7b5988c
    Tom Lane authored
    Commit ecd9e9f0 fixed the problem in the wrong place, causing unwanted
    side-effects on the behavior of GetNextTempTableSpace().  Instead,
    let's make SharedFileSetInit() responsible for subbing in the value
    of MyDatabaseTableSpace when the default tablespace is called for.
    
    The convention about what is in the tempTableSpaces[] array is
    evidently insufficiently documented, so try to improve that.
    
    It also looks like SharedFileSetInit() is doing the wrong thing in the
    case where temp_tablespaces is empty.  It was hard-wiring use of the
    pg_default tablespace, but it seems like using MyDatabaseTableSpace
    is more consistent with what happens for other temp files.
    
    Back-patch the reversion of PrepareTempTablespaces()'s behavior to
    9.5, as ecd9e9f0 was.  The changes in SharedFileSetInit() go back
    to v11 where that was introduced.  (Note there is net zero code change
    before v11 from these two patch sets, so nothing to release-note.)
    
    Magnus Hagander and Tom Lane
    
    Discussion: https://postgr.es/m/CABUevExg5YEsOvqMxrjoNvb3ApVyH+9jggWGKwTDFyFCVWczGQ@mail.gmail.com
    f7b5988c
sharedfileset.c 7.03 KB