pgsql: Rework temp_tablespaces patch so that temp tablespaces are

Started by Tom Laneabout 19 years ago2 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

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)

#2Simon Riggs
simon@2ndQuadrant.com
In reply to: Tom Lane (#1)
Re: pgsql: Rework temp_tablespaces patch so that temptablespaces are

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