Re: Cannot cancel the change of a tablespace
Guillaume Lelarge <guillaume@lelarge.info>
From: Guillaume Lelarge <guillaume@lelarge.info>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org
Date: 2010-06-23T21:29:29Z
Lists: pgsql-hackers
Le 23/06/2010 22:54, Tom Lane a écrit : > 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. > I'm not sure I get it right. Do I need to do something on the patch so that it can get commited? -- Guillaume http://www.postgresql.fr http://dalibo.com