On Tue, Aug 20, 2024 at 07:03:56PM +0200, Jelte Fennema-Nio wrote:
> On Tue, 20 Aug 2024 at 18:50, Bruce Momjian <br...@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  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Only you can decide what is important to you.


Reply via email to