Re: patch : Allow toast tables to be moved to a different tablespace

Julien Tachoires <julmon@gmail.com>

From: Julien Tachoires <julmon@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jaime Casanova <jaime@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2011-12-13T17:29:56Z
Lists: pgsql-hackers
2011/12/13 Robert Haas <robertmhaas@gmail.com>:
> On Tue, Dec 13, 2011 at 12:02 PM, Julien Tachoires <julmon@gmail.com> wrote:
>> Right, it seems to happen when the destination tablespace is the same
>> as the database's tbs, because, in this case, relation's tbs is set to
>> InvalidOid :
>> src/backend/commands/tablecmds.c line 8342
>>
>> +       rd_rel->reltablespace = (newTableSpace == MyDatabaseTableSpace) ?
>> InvalidOid : newTableSpace;
>>
>> Why don't just asign newTableSpace value here ?
>
> When a relation is stored in the default tablespace, we always record
> that in the system catalogs as InvalidOid.  Otherwise, if the
> database's default tablespace were changed, things would break.

OK, considering that, I don't see any way to handle the case raised by Jaime :(