Re: join pushdown and issue with foreign update

From: Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: join pushdown and issue with foreign update
Date: 2021-05-31 16:04:17
Message-ID: ae6d414df6165d50ec9db4265f999c14@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alexander Pyhalov писал 2021-05-31 15:39:
> Hi.
>
> There's issue with join pushdown after
>
> commit 86dc90056dfdbd9d1b891718d2e5614e3e432f35
> Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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"
>
> 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).

--
Best regards,
Alexander Pyhalov,
Postgres Professional

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Emre Hasegeli 2021-05-31 16:51:57 Re: postgres_fdw: Handle boolean comparison predicates
Previous Message Dilip Kumar 2021-05-31 14:42:25 Re: Decoding speculative insert with toast leaks memory