Hi Wells,

This is a pgAdmin mailing list. You will get better support on PostgreSQL
mailing list - pgsql-ad...@postgresql.org.

On Sun, Jan 15, 2023 at 2:45 AM Wells Oliver <wells.oli...@gmail.com> wrote:

> We have had and used this basic dumb useful aggregate in PG 13 and earlier:
>
> CREATE OR REPLACE FUNCTION _final_mode(anyarray)
>   RETURNS anyelement AS
> $BODY$
>     SELECT a
>     FROM unnest($1) a
>     GROUP BY 1
>     ORDER BY COUNT(1) DESC, 1
>     LIMIT 1;
> $BODY$
> LANGUAGE sql IMMUTABLE;
>
> CREATE AGGREGATE mode(anyelement) (
>   SFUNC=array_append,
>   STYPE=anyarray,
>   FINALFUNC=_final_mode,
>   INITCOND='{}'
> );
>
> I can't seem to figure out how to adjust the mode(anyelement) bit now for
> PG 14 and the loss of anyarray. Changing STYPE to anyelement yields
> "function array_append(anyelement, anyelement) does not exist" and changing
> it to anycompatiblearray yields:
>
> ERROR:  cannot determine transition data type
> DETAIL:  A result of type anycompatiblearray requires at least one input
> of type anycompatible, anycompatiblearray, anycompatiblenonarray,
> anycompatiblerange, or anycompatiblemultirange.
>
> What's the obvious thing I am missing here? Thank you.
>
> --
> Wells Oliver
> wells.oli...@gmail.com <wellsoli...@gmail.com>
>


-- 
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Software Architect | *edbpostgres.com*
<http://edbpostgres.com>
"Don't Complain about Heat, Plant a TREE"

Reply via email to