Work around cross-version-upgrade issues created by commit 9e38c2bb5.

Summarily changing the STYPE of regression-test aggregates that
depend on array_append or array_cat is an issue for the buildfarm's
cross-version-upgrade tests, because those aggregates (as defined
in the back branches) now won't load into HEAD.  Although this seems
like only a minimal risk for genuine user-defined aggregates, we
need to do something for the buildfarm.  Hence, adjust the aggregate
definitions, in both HEAD and the back branches.

Discussion: https://postgr.es/m/1401824.1604537031@sss.pgh.pa.us
Discussion: https://postgr.es/m/E1kaQ2c-0005lx-Eg@gemulon.postgresql.org
This commit is contained in:
Tom Lane 2020-11-10 18:32:36 -05:00
parent f57cc8693b
commit 6c91e28224
2 changed files with 14 additions and 14 deletions

View File

@ -579,24 +579,24 @@ select q2, sql_if(q2 > 0, q2, q2 + 1) from int8_tbl;
(5 rows)
-- another sort of polymorphic aggregate
CREATE AGGREGATE array_cat_accum (anyarray)
CREATE AGGREGATE array_larger_accum (anyarray)
(
sfunc = array_cat,
sfunc = array_larger,
stype = anyarray,
initcond = '{}'
);
SELECT array_cat_accum(i)
SELECT array_larger_accum(i)
FROM (VALUES (ARRAY[1,2]), (ARRAY[3,4])) as t(i);
array_cat_accum
-----------------
{1,2,3,4}
array_larger_accum
--------------------
{3,4}
(1 row)
SELECT array_cat_accum(i)
SELECT array_larger_accum(i)
FROM (VALUES (ARRAY[row(1,2),row(3,4)]), (ARRAY[row(5,6),row(7,8)])) as t(i);
array_cat_accum
-----------------------------------
{"(1,2)","(3,4)","(5,6)","(7,8)"}
array_larger_accum
--------------------
{"(5,6)","(7,8)"}
(1 row)
-- another kind of polymorphic aggregate

View File

@ -394,17 +394,17 @@ select q2, sql_if(q2 > 0, q2, q2 + 1) from int8_tbl;
-- another sort of polymorphic aggregate
CREATE AGGREGATE array_cat_accum (anyarray)
CREATE AGGREGATE array_larger_accum (anyarray)
(
sfunc = array_cat,
sfunc = array_larger,
stype = anyarray,
initcond = '{}'
);
SELECT array_cat_accum(i)
SELECT array_larger_accum(i)
FROM (VALUES (ARRAY[1,2]), (ARRAY[3,4])) as t(i);
SELECT array_cat_accum(i)
SELECT array_larger_accum(i)
FROM (VALUES (ARRAY[row(1,2),row(3,4)]), (ARRAY[row(5,6),row(7,8)])) as t(i);
-- another kind of polymorphic aggregate