Re: Partial aggregates pushdown - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Partial aggregates pushdown
Date
Msg-id ZsTjTkUxZ8TnoVWp@momjian.us
Whole thread Raw
In response to Re: Partial aggregates pushdown  (Jelte Fennema-Nio <postgres@jeltef.nl>)
Responses Re: Partial aggregates pushdown
List pgsql-hackers
On Tue, Aug 20, 2024 at 07:03:56PM +0200, Jelte Fennema-Nio wrote:
> On Tue, 20 Aug 2024 at 18:50, Bruce Momjian <bruce@momjian.us> wrote:
> > Okay, so we can do MAX easily, and AVG if the count can be represented
> > as the same data type as the sum?  Is that correct?  Our only problem is
> > that something like AVG(interval) can't use an array because arrays have
> > to have the same data type for all array elements, and an interval can't
> > represent a count?
> 
> Close, but still not completely correct. AVG(bigint) can also not be
> supported by patch 1, because the sum and the count for that both
> stored using an int128. So we'd need an array of int128, and there's
> currently no int128 SQL type.

Okay.  Have we considered having the FDW return a record:

    SELECT (oid, relname) FROM pg_class LIMIT 1;
             row
    ---------------------
     (2619,pg_statistic)

    SELECT pg_typeof((oid, relname)) FROM pg_class LIMIT 1;
     pg_typeof
    -----------
     record

    SELECT pg_typeof(oid) FROM pg_class LIMIT 1;
     pg_typeof
    -----------
     oid
    
    SELECT pg_typeof(relname) FROM pg_class LIMIT 1;
     pg_typeof
    -----------
     name

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Only you can decide what is important to you.



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: ANALYZE ONLY
Next
From: Noah Misch
Date:
Subject: Re: Use read streams in pg_visibility