mirror of
https://github.com/postgres/postgres.git
synced 2025-05-09 18:21:05 +03:00
Tighten pg_upgrade's new check for non-upgradable anyarray usages.
We only need to reject cases when the aggregate or operator is itself declared with a polymorphic type. Per buildfarm. Discussion: https://postgr.es/m/3383880.QJadu78ljV@vejsadalnx
This commit is contained in:
parent
4a37527fde
commit
c7e21e9664
@ -1070,6 +1070,7 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
|
|||||||
"JOIN pg_proc AS transfn ON transfn.oid=a.aggtransfn "
|
"JOIN pg_proc AS transfn ON transfn.oid=a.aggtransfn "
|
||||||
"WHERE p.oid >= 16384 "
|
"WHERE p.oid >= 16384 "
|
||||||
"AND a.aggtransfn = ANY(ARRAY[%s]::regprocedure[]) "
|
"AND a.aggtransfn = ANY(ARRAY[%s]::regprocedure[]) "
|
||||||
|
"AND a.aggtranstype = ANY(ARRAY['anyarray', 'anyelement']::regtype[]) "
|
||||||
|
|
||||||
/* Aggregate final functions */
|
/* Aggregate final functions */
|
||||||
"UNION ALL "
|
"UNION ALL "
|
||||||
@ -1079,13 +1080,15 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
|
|||||||
"JOIN pg_proc AS finalfn ON finalfn.oid=a.aggfinalfn "
|
"JOIN pg_proc AS finalfn ON finalfn.oid=a.aggfinalfn "
|
||||||
"WHERE p.oid >= 16384 "
|
"WHERE p.oid >= 16384 "
|
||||||
"AND a.aggfinalfn = ANY(ARRAY[%s]::regprocedure[]) "
|
"AND a.aggfinalfn = ANY(ARRAY[%s]::regprocedure[]) "
|
||||||
|
"AND a.aggtranstype = ANY(ARRAY['anyarray', 'anyelement']::regtype[]) "
|
||||||
|
|
||||||
/* Operators */
|
/* Operators */
|
||||||
"UNION ALL "
|
"UNION ALL "
|
||||||
"SELECT 'operator' AS objkind, op.oid::regoperator::text AS objname "
|
"SELECT 'operator' AS objkind, op.oid::regoperator::text AS objname "
|
||||||
"FROM pg_operator AS op "
|
"FROM pg_operator AS op "
|
||||||
"WHERE op.oid >= 16384 "
|
"WHERE op.oid >= 16384 "
|
||||||
"AND oprcode = ANY(ARRAY[%s]::regprocedure[]);",
|
"AND oprcode = ANY(ARRAY[%s]::regprocedure[]) "
|
||||||
|
"AND oprleft = ANY(ARRAY['anyarray', 'anyelement']::regtype[]);",
|
||||||
old_polymorphics.data,
|
old_polymorphics.data,
|
||||||
old_polymorphics.data,
|
old_polymorphics.data,
|
||||||
old_polymorphics.data);
|
old_polymorphics.data);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user