Re: Import Statistics in postgres_fdw before resorting to sampling.

From: Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com>
To: Corey Huinker <corey(dot)huinker(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers(at)postgresql(dot)org, jkatz(at)postgresql(dot)org, nathandbossart(at)gmail(dot)com
Subject: Re: Import Statistics in postgres_fdw before resorting to sampling.
Date: 2026-05-12 11:36:25
Message-ID: CAPmGK17MA_8OFN1N2jnsRX3zEbTXVf83xs2R76T9Ko05fCwSWA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, May 1, 2026 at 3:04 AM Corey Huinker <corey(dot)huinker(at)gmail(dot)com> wrote:
> I've attached 2 different fixes.

Thanks for the patches!

> The first one swtiches to pg_mbcliplen+memcpy, which is probably overkill but better safe than sorry.

I noticed that RemoteAttributeMapping.remote_attname is used in
match_attrmap(), which assumes that it fully contains a remote
attribute's name, so I think this solution is actually unsafe.

> The second gets rid of the string buffers entirely, and instead frees the nested object.
>
> I have no preference between the two, though I suspect that the nested-free solution will be preferred by the community.

ISTM that the second solution is the right direction to go in.

+static void
+free_remattrmap(RemoteAttributeMapping *map, int len)
+{
+ if (!map)
+ return;
+
+ for (int i = 0; i < len; i++)
+ {
+ if (map[i].local_attname)
+ pfree(map[i].local_attname);
+ if (map[i].remote_attname)
+ pfree(map[i].remote_attname);
+ }

The if tests for local_attname/remote_attname should be assertions?

It took more time than expected to return to this issue. My apologies for that.

Best regards,
Etsuro Fujita

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Henson Choi 2026-05-12 11:39:04 Re: Remove invalid SS2/SS3 handling from EUC-KR routines
Previous Message Ashutosh Bapat 2026-05-12 11:15:06 Re: [Bug]Assertion failure in LATERAL GRAPH_TABLE with multi-label pattern