From: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
---|---|
To: | Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Case expression pushdown |
Date: | 2021-06-15 13:24:30 |
Message-ID: | CAExHW5skEf2d3fA0LXubQc2wD2NFoqgWKsbNS_SzHFtRARkyow@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Looks quite useful to me. Can you please add this to the next commitfest?
On Wed, Jun 9, 2021 at 5:25 PM Alexander Pyhalov
<a(dot)pyhalov(at)postgrespro(dot)ru> wrote:
>
> Hi.
>
> This patch allows pushing case expressions to foreign servers, so that
> more types of updates could be executed directly.
>
> For example, without patch:
>
> EXPLAIN (VERBOSE, COSTS OFF)
> UPDATE ft2 d SET c2 = CASE WHEN c2 > 0 THEN c2 ELSE 0 END
> WHERE c1 > 1000;
> QUERY PLAN
> -----------------------------------------------------------------------------------------------------------------------
> Update on public.ft2 d
> Remote SQL: UPDATE "S 1"."T 1" SET c2 = $2 WHERE ctid = $1
> -> Foreign Scan on public.ft2 d
> Output: CASE WHEN (c2 > 0) THEN c2 ELSE 0 END, ctid, d.*
> Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8, ctid FROM
> "S 1"."T 1" WHERE (("C 1" > 1000)) FOR UPDATE
>
>
> EXPLAIN (VERBOSE, COSTS OFF)
> UPDATE ft2 d SET c2 = CASE WHEN c2 > 0 THEN c2 ELSE 0 END
> WHERE c1 > 1000;
> QUERY PLAN
> ----------------------------------------------------------------------------------------------------------------
> Update on public.ft2 d
> -> Foreign Update on public.ft2 d
> Remote SQL: UPDATE "S 1"."T 1" SET c2 = (CASE WHEN (c2 > 0)
> THEN c2 ELSE 0 END) WHERE (("C 1" > 1000))
>
>
> --
> Best regards,
> Alexander Pyhalov,
> Postgres Professional
--
Best Wishes,
Ashutosh Bapat
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2021-06-15 13:26:34 | Re: [PATCH] expand the units that pg_size_pretty supports on output |
Previous Message | Adam Brusselback | 2021-06-15 13:18:58 | Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints |