Log Message:
-----------
Move TablespaceCreateDbspace() call into smgrcreate(), which is where it
probably should have been to begin with; this is to cover cases like
needing to recreate the per-db directory during WAL replay.
Also, fix heap_create to force pg_class.reltablespace to be zero instead
of the database's default tablespace; this makes the world safe for
CREATE DATABASE to handle all tables in the default tablespace alike,
as per previous discussion. And force pg_class.reltablespace to zero
when creating a relation without physical storage (eg, a view); this
avoids possibly having dangling references in this column after a
subsequent DROP TABLESPACE.
Modified Files:
--------------
pgsql-server/src/backend/catalog:
heap.c (r1.271 -> r1.272)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/heap.c.diff?r1=1.271&r2=1.272)
pgsql-server/src/backend/commands:
tablespace.c (r1.5 -> r1.6)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/tablespace.c.diff?r1=1.5&r2=1.6)
pgsql-server/src/backend/storage/smgr:
smgr.c (r1.75 -> r1.76)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/storage/smgr/smgr.c.diff?r1=1.75&r2=1.76)
pgsql-server/src/include/catalog:
heap.h (r1.67 -> r1.68)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/heap.h.diff?r1=1.67&r2=1.68)
pgsql-server/src/include/commands:
tablespace.h (r1.2 -> r1.3)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/commands/tablespace.h.diff?r1=1.2&r2=1.3)
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html