Re: join pushdown and issue with foreign update

Поиск
Список
Период
Сортировка
От Amit Langote
Тема Re: join pushdown and issue with foreign update
Дата
Msg-id CA+HiwqHnLESTUQUQ3-MBxOatPK4P4uu2Br3+6KRxFfbBO=HgFw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: join pushdown and issue with foreign update  (Alexander Pyhalov <a.pyhalov@postgrespro.ru>)
Ответы Re: join pushdown and issue with foreign update  (Alexander Pyhalov <a.pyhalov@postgrespro.ru>)
Список pgsql-hackers
Hi,

On Tue, Jun 1, 2021 at 1:04 AM Alexander Pyhalov
<a.pyhalov@postgrespro.ru> wrote:
>
> Alexander Pyhalov писал 2021-05-31 15:39:
> > Hi.
> >
> > There's issue with join pushdown after
> >
> > commit 86dc90056dfdbd9d1b891718d2e5614e3e432f35
> > Author: Tom Lane <tgl@sss.pgh.pa.us>
> > Date:   Wed Mar 31 11:52:34 2021 -0400
> >
> ...
> > You'll get
> > ERROR:  input of anonymous composite types is not implemented
> > CONTEXT:  whole-row reference to foreign table "remote_tbl"

Interesting, thanks for reporting this.  This sounds like a regression
on 86dc90056's part.

> > make_tuple_from_result_row() (called by fetch_more_data()), will try
> > to call InputFunctionCall() for ROW(r1.a, r1.b) and will get error in
> > record_in().
> >
> > Here ROW(r2.a, r2.b) would have attribute type id, corresponding to
> > remote_tbl, but ROW(r1.a, r1.b) would have atttypid 2249 (RECORD).
> >
>
> The issue seems to be that add_row_identity_columns() adds RECORD var to
> the query.
> Adding var with table's relation type fixes this issue, but breaks
> update of
> partitioned tables, as we add "wholerow" with type of one child relation
> and then
> try to use it with another child (of different table type).

Perhaps, we can get away with adding the wholerow Var with the target
relation's reltype when the target foreign table is not a "child"
relation, but the root target relation itself.  Maybe like the
attached?

--
Amit Langote
EDB: http://www.enterprisedb.com

Вложения

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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: security_definer_search_path GUC
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: Re: Alias collision in `refresh materialized view concurrently`