Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kaTNf-0001TZ-Sj for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Nov 2020 00:43:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kaTNd-0008LI-Cm for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Nov 2020 00:43:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kaTNd-0008L7-61 for pgsql-hackers@lists.postgresql.org; Thu, 05 Nov 2020 00:43:57 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kaTNa-0008JV-7i for pgsql-hackers@lists.postgresql.org; Thu, 05 Nov 2020 00:43:56 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 0A50hpR11401825; Wed, 4 Nov 2020 19:43:51 -0500 From: Tom Lane To: Andrew Dunstan cc: pgsql-hackers@lists.postgresql.org Subject: array_cat anycompatible change is breaking xversion upgrade tests MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1401823.1604537031.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Wed, 04 Nov 2020 19:43:51 -0500 Message-ID: <1401824.1604537031@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk crake is showing xversion upgrade failures since 9e38c2bb50: pg_restore: error: could not execute query: ERROR: function array_cat(any= array, anyarray) does not exist Command was: CREATE AGGREGATE "public"."array_cat_accum"("anyarray") ( SFUNC =3D "array_cat", STYPE =3D "anyarray", INITCOND =3D '{}' ); As was discussed in the thread leading up to that commit, modifying the signature of array_cat and friends could break user-defined operators and aggregates based on those functions. It seems to me that the usability gain from this change is worth that cost, but it is causing an issue for xversion tests. I think the most plausible response is to add this aggregate to the filter logic that already exists in the xversion tests. Perhaps we could alternatively change this test case so that it relies on some other polymorphic function, but I'm not quite sure what a good candidate would be. regards, tom lane