On Mon, 2010-06-21 at 18:46 +0200, Guillaume Lelarge wrote:
> Today, I tried to cancel the change of a tablespace for a table (ALTER
> TABLE ... SET TABLESPACE). I got the "Cancel request sent" but the query
> continued and finally succeed. It was a big issue for my customer, and I
> wanted to look more into that issue. So, I got a look at the source code
> and found we didn't check for interrupts in this part of the code. I
> added them, and it seems to work as I wanted.
>
> 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.
>
> Not sure we really want that change, and it don't feel like a bug to me.
> Should I add it to to the next commitfest?
Patch looks fine to me. Seems important.
Will apply tomorrow to 9.0, barring objections.
-- Simon Riggs www.2ndQuadrant.com