Re: Partial aggregates pushdown

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: "Fujii(dot)Yuki(at)df(dot)MitsubishiElectric(dot)co(dot)jp" <Fujii(dot)Yuki(at)df(dot)mitsubishielectric(dot)co(dot)jp>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, "Finnerty, Jim" <jfinnert(at)amazon(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Julien Rouhaud <rjuju123(at)gmail(dot)com>, Daniel Gustafsson <daniel(at)yesql(dot)se>, Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>
Subject: Re: Partial aggregates pushdown
Date: 2023-10-25 22:08:23
Message-ID: ZTmR1wIr2_A-vw33@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Oct 24, 2023 at 12:12:41AM +0000, Fujii(dot)Yuki(at)df(dot)MitsubishiElectric(dot)co(dot)jp wrote:
> Hi Mr.Momjian.
>
> > Fujii-san, to get this patch closer to finished, can I modify this version of the patch to improve some wording and post an
> > updated version you can use for future changes?
> Yes, I greatly appreciate your offer.
> I would very much appreciate your modifications.

I am almost done updating the patch, but I got stuck on how the feature
is supposed to work. This documentation sentence is where I got
confused:

<varlistentry>
<term><literal>check_partial_aggregate_support</literal> (<type>boolean</type>)</term>
<listitem>
<para>
If this option is false, <filename>postgres_fdw</filename> assumes
that for each built-in aggregate function,
the partial aggregate function is defined on the remote server
without checking the remote server version.
If this option is true, during query planning,
<filename>postgres_fdw</filename> connects to the remote server
and checks if the remote server version is older than the local server version.
If so,
<filename>postgres_fdw</filename>
--> assumes that for each built-in aggregate function, the partial aggregate function is not defined
--> on the remote server unless the partial aggregate function and the aggregate
--> function match.
Otherwise <filename>postgres_fdw</filename> assumes that for each built-in aggregate function,
the partial aggregate function is defined on the remote server.
The default is <literal>false</literal>.
</para>
</listitem>
</varlistentry>

What does that marked sentence mean? What is match? Are one or both of
these remote? It sounds like you are checking the local aggregate
against the remote partial aggregate, but I don't see any code that does
this in the patch.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Only you can decide what is important to you.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jelte Fennema 2023-10-25 22:10:39 Re: libpq async connection and multiple hosts
Previous Message Jeff Davis 2023-10-25 22:03:04 Re: Container Types