Inherited UPDATE/DELETE vs async execution - Mailing list pgsql-hackers

From Etsuro Fujita
Subject Inherited UPDATE/DELETE vs async execution
Date
Msg-id CAPmGK158e9sJOfuWxfn+0ynrspXQU3JhNjSCbaoeSzMvnga+bw@mail.gmail.com
Whole thread Raw
Responses Re: Inherited UPDATE/DELETE vs async execution
Re: Inherited UPDATE/DELETE vs async execution
List pgsql-hackers
I noticed this while working on the
EXPLAIN-ANALYZE-for-async-capable-nodes issue:

EXPLAIN (VERBOSE, COSTS OFF)
DELETE FROM async_pt;
                           QUERY PLAN
----------------------------------------------------------------
 Delete on public.async_pt
   Foreign Delete on public.async_p1 async_pt_1
   Foreign Delete on public.async_p2 async_pt_2
   Delete on public.async_p3 async_pt_3
   ->  Append
         ->  Async Foreign Delete on public.async_p1 async_pt_1
               Remote SQL: DELETE FROM public.base_tbl1
         ->  Async Foreign Delete on public.async_p2 async_pt_2
               Remote SQL: DELETE FROM public.base_tbl2
         ->  Seq Scan on public.async_p3 async_pt_3
               Output: async_pt_3.tableoid, async_pt_3.ctid
(11 rows)

DELETE FROM async_pt;
server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.
connection to server was lost

The cause for this would be that direct-update plans are mistakenly
treated as async-capable ones, as shown in the EXPLAIN output.  To
fix, I think we should modify postgresPlanDirectModify() so that it
clears the async-capable flag if it is set.  Attached is a patch for
that.  Maybe I am missing something, though.

Best regards,
Etsuro Fujita

Attachment

pgsql-hackers by date:

Previous
From: Etsuro Fujita
Date:
Subject: Re: Asynchronous Append on postgres_fdw nodes.
Next
From: Tom Lane
Date:
Subject: Draft back-branch release notes are up