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-26 19:43:29
Message-ID: ZTrBYS71CrnnA7xa@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Oct 26, 2023 at 11:11:09AM +0000, Fujii(dot)Yuki(at)df(dot)MitsubishiElectric(dot)co(dot)jp wrote:
> > 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.
> This sentence means that
> "If the partial aggregate function has the same OID as the aggregate function,
> then postgres_fdw assumes that for each built-in aggregate function, the partial aggregate function is not defined
> on the remote server."
> "Match" means that the partial aggregate function has the same OID as the aggregate function in local server.
> But, in v30, there is no code which checks the partial aggregate function has the same OID as the aggregate function in local server.
> So I modified the code of is_builtin_aggpartialfunc_shippable().
> Also, I modified wording postgres-fdw.sgml.

Yes, that is what I needed. Attached is a modification of your v31
patch (the most recent) that mostly improves the documentation and
comments. What else needs to be done before committers start to review
this?

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

Only you can decide what is important to you.

Attachment Content-Type Size
fdw_partial.diff.gz application/gzip 33.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alena Rybakina 2023-10-26 19:47:20 Re: POC, WIP: OR-clause support for indexes
Previous Message Jeff Davis 2023-10-26 18:42:27 Re: Does UCS_BASIC have the right CTYPE?