| From: | Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru> |
|---|---|
| To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: postgres_fdw: Fix crash when estimating joins with functions |
| Date: | 2026-09-09 15:09:42 |
| Message-ID: | ae12f92b71879b41e82a2eb952ded6ed@postgrespro.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Fujii Masao писал(а) 2026-09-09 17:02:
> Hi,
>
> On master, I found that the following causes a segmentation fault:
>
> CREATE EXTENSION postgres_fdw;
> CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw;
> CREATE USER MAPPING FOR PUBLIC SERVER loopback;
> CREATE TABLE t (i int);
> CREATE FOREIGN TABLE ft (i int) SERVER loopback
> OPTIONS (table_name 't', use_remote_estimate 'true');
> EXPLAIN SELECT * FROM generate_series(1, 3) g JOIN ft ON ft.i = g;
>
> This crash seems to occur because init_func_stub_fpinfo() forgets to
> copy
> the user mapping to the function-side stub, leaving it NULL. The NULL
> mapping is then passed to GetConnection() when requesting a remote
> estimate, causing the segmentation fault.
>
> This seems to have been introduced by commit 0ee83dd4a99.
>
> The attached patch fixes this by also copying the user mapping from the
> foreign side.
>
> Regards,
Hi. Thanks. Looks good to me.
--
Best regards,
Alexander Pyhalov,
Postgres Professional
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Álvaro Herrera | 2026-09-09 15:24:51 | Re: Reject WAIT FOR earlier in transaction-snapshot mode |
| Previous Message | Андрей Казаринов | 2026-09-09 15:03:09 | Re:[PATCH] Allow subquery pull-up past inlineable CTEs |