Thread: pgsql: Rework temp_tablespaces patch so that temp tablespaces are

pgsql: Rework temp_tablespaces patch so that temp tablespaces are

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Rework temp_tablespaces patch so that temp tablespaces are assigned separately
for each temp file, rather than once per sort or hashjoin; this allows
spreading the data of a large sort or join across multiple tablespaces.
(I remain dubious that this will make any difference in practice, but certain
people insisted.)  Arrange to cache the results of parsing the GUC variable
instead of recomputing from scratch on every demand, and push usage of the
cache down to the bottommost fd.c level.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        config.sgml (r1.125 -> r1.126)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.125&r2=1.126)
    pgsql/src/backend/commands:
        tablespace.c (r1.47 -> r1.48)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c.diff?r1=1.47&r2=1.48)
    pgsql/src/backend/executor:
        nodeHash.c (r1.113 -> r1.114)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c.diff?r1=1.113&r2=1.114)
        nodeHashjoin.c (r1.90 -> r1.91)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHashjoin.c.diff?r1=1.90&r2=1.91)
    pgsql/src/backend/storage/file:
        buffile.c (r1.27 -> r1.28)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/file/buffile.c.diff?r1=1.27&r2=1.28)
        fd.c (r1.138 -> r1.139)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/file/fd.c.diff?r1=1.138&r2=1.139)
    pgsql/src/backend/utils/sort:
        logtape.c (r1.24 -> r1.25)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/logtape.c.diff?r1=1.24&r2=1.25)
        tuplesort.c (r1.76 -> r1.77)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/tuplesort.c.diff?r1=1.76&r2=1.77)
        tuplestore.c (r1.32 -> r1.33)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/tuplestore.c.diff?r1=1.32&r2=1.33)
    pgsql/src/include/commands:
        tablespace.h (r1.17 -> r1.18)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/tablespace.h.diff?r1=1.17&r2=1.18)
    pgsql/src/include/executor:
        hashjoin.h (r1.46 -> r1.47)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/hashjoin.h.diff?r1=1.46&r2=1.47)
        nodeHashjoin.h (r1.35 -> r1.36)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeHashjoin.h.diff?r1=1.35&r2=1.36)
    pgsql/src/include/storage:
        buffile.h (r1.21 -> r1.22)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/buffile.h.diff?r1=1.21&r2=1.22)
        fd.h (r1.58 -> r1.59)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/fd.h.diff?r1=1.58&r2=1.59)

Re: pgsql: Rework temp_tablespaces patch so that temptablespaces are

From
"Simon Riggs"
Date:
On Thu, 2007-06-07 at 16:19 -0300, Tom Lane wrote:
> Log Message:
> -----------
> Rework temp_tablespaces patch so that temp tablespaces are assigned separately
> for each temp file, rather than once per sort or hashjoin; this allows
> spreading the data of a large sort or join across multiple tablespaces.
> (I remain dubious that this will make any difference in practice, but certain
> people insisted.)  Arrange to cache the results of parsing the GUC variable
> instead of recomputing from scratch on every demand, and push usage of the
> cache down to the bottommost fd.c level.

Certain people say thank you.

--
  Simon Riggs
  EnterpriseDB   http://www.enterprisedb.com