Case expression pushdown

Поиск
Список
Период
Сортировка
От Alexander Pyhalov
Тема Case expression pushdown
Дата
Msg-id fda09032e90d85d9b726a41e03f9097f@postgrespro.ru
обсуждение исходный текст
Ответы Re: Case expression pushdown  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Список pgsql-hackers
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
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Nitin Jadhav
Дата:
Сообщение: Re: when the startup process doesn't
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Decoding of two-phase xacts missing from CREATE_REPLICATION_SLOT command