On 11/4/20 4:10 PM, Tom Lane wrote:
> Declare assorted array functions using anycompatible not anyelement.
>
> Convert array_append, array_prepend, array_cat, array_position,
> array_positions, array_remove, array_replace, and width_bucket
> to use anycompatiblearray.  This is a simple extension of commit
> 5c292e6b9 to hit some other places where there's a pretty obvious
> gain in usability from doing so.
>
> Ideally we'd also modify other functions taking multiple old-style
> polymorphic arguments.  But most of the remainder are tied into one
> or more operator classes, making any such change a much larger can of
> worms than I desire to open right now.
>
> Discussion: 
> https://postgr.es/m/[email protected]
>


This patch broke cross-version pg_upgrade testing. I have cured crake
for the moment by having it execute this in the source database:

    drop aggregate if exists public.array_cat_accum(anyarray);
    drop aggregate if exists public.first_el_agg_any(anyelement);

But I wonder if we really want to make it impossible to upgrade
databases with aggregates that contain these functions?


cheers


andrew



Reply via email to