Re: Cannot cancel the change of a tablespace
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Guillaume Lelarge <guillaume@lelarge.info>, pgsql-hackers@postgresql.org
Date: 2010-06-23T20:54:00Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Mon, Jun 21, 2010 at 12:46 PM, Guillaume Lelarge > <guillaume@lelarge.info> wrote: >> I added a CHECK_FOR_INTERRUPTS call in the copy_relation_data(), >> copy_dir(), and copy_file() functions. Works for me on ALTER TABLE ... >> SET TABLESPACE and ALTER DATABASE ... SET TABLESPACE, in 9.0 and 8.4. > Adding a CHECK_FOR_INTERRUPTS() to copy_relation_data seems like it > ought to be OK (though I haven't tested), but copydir() is in > src/port, and I fear that putting CHECK_FOR_INTERRUPTS() in there > might cause problems. copydir.c is already backend-specific thanks to all the ereport calls. If we ever tried to make it usable in frontend code, we could easily deal with CHECK_FOR_INTERRUPTS() via #ifndef FRONTEND --- changing the error management would be far more painful. regards, tom lane