Tom Lane wrote:
Heikki Linnakangas <[EMAIL PROTECTED]> writes:
Yeah, seems like we need to allocate a new relfilenode in the new tablespace.

I looked into tablecmds.c and verified that ATExecSetTableSpace doesn't
worry about selecting a new relfilenode.  I'm also noticing a number of
permissions-type checks that seem like they'd better be done in
ATPrepSetTableSpace, because we don't go through ATExecSetTableSpace
if the table requires rewriting for other reasons.

The same tests are performed in the rewriting code path in ATRewriteTables() and in heap_create_with_catalog().

I fixed the relfilenode allocation in 8.1-HEAD. Doesn't seem worth fixing in 8.0, because GetNewRelFileNode() didn't exist before 8.1, so we couldn't check for collisions anyway.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to