Re: Optimization for updating foreign tables in Postgres FDW - Mailing list pgsql-hackers

From Etsuro Fujita
Subject Re: Optimization for updating foreign tables in Postgres FDW
Date
Msg-id 5702469E.4050709@lab.ntt.co.jp
Whole thread Raw
In response to Re: Optimization for updating foreign tables in Postgres FDW  (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>)
Responses Re: Optimization for updating foreign tables in Postgres FDW  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
On 2016/03/31 16:38, Etsuro Fujita wrote:
> On 2016/03/31 14:07, Noah Misch wrote:
>> On Thu, Mar 24, 2016 at 01:02:57PM +0900, Etsuro Fujita wrote:
>>> On 2016/03/24 11:14, Michael Paquier wrote:
>>>> On Wed, Mar 23, 2016 at 10:05 PM, Thom Brown <thom@linux.com> wrote:
>>>>> I've noticed that you now can't cancel a query if there's DML pushdown
>>>>> to a foreign server.  This previously worked while it was sending
>>>>> individual statements as it interrupted and rolled it back.
>>>>>
>>>>> Here's what the local server sees when trying to cancel:
>>>>>
>>>>> # DELETE FROM remote.contacts;
>>>>> ^CCancel request sent
>>>>> DELETE 5000000
>>>>>
>>>>> This should probably be fixed.

>>>> Looking at what has been committed, execute_dml_stmt is using
>>>> PQexecParams, so we'd want to use an asynchronous call and loop on
>>>> PQgetResult with CHECK_FOR_INTERRUPTS() in it.

>>> Will fix.

>> [This is a generic notification.]

> Sorry for not having taken any action.  I've been busy with another task
> lately, but I started working on this.  I plan to post a patch early
> next week.

Here is a patch to fix this issue.  As proposed by Michael, I modified
execute_dml_stmt so that it uses PQsendQueryParams, not PQexecParams.
Any comments are welcome.

Best regards,
Etsuro Fujita

Attachment

pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: PATCH: use foreign keys to improve join estimates v1
Next
From: Magnus Hagander
Date:
Subject: Re: Updated backup APIs for non-exclusive backups