On 26.06.22 05:51, Julien Rouhaud wrote:
Hi,

On Sat, Jun 25, 2022 at 10:19:30AM -0500, Justin Pryzby wrote:
commit f2553d43060edb210b36c63187d52a632448e1d2 says >=1500 in a few places,
but in pg_upgrade says <=1500, which looks wrong for upgrades from v15.
I think it should say <= 1400.

On Wed, Feb 02, 2022 at 02:01:23PM +0100, Peter Eisentraut wrote:
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index 69ef23119f..2a9ca0e389 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -312,11 +312,20 @@ get_db_infos(ClusterInfo *cluster)
                                i_spclocation;
        char            query[QUERY_ALLOC];
snprintf(query, sizeof(query),
-                        "SELECT d.oid, d.datname, d.encoding, d.datcollate, 
d.datctype, "
+                        "SELECT d.oid, d.datname, d.encoding, d.datcollate, 
d.datctype, ");
+       if (GET_MAJOR_VERSION(old_cluster.major_version) <= 1500)

I think the fix here is to change <= to < ?

+               snprintf(query + strlen(query), sizeof(query) - strlen(query),
+                                "'c' AS datcollprovider, NULL AS daticucoll, 
");
+       else
+               snprintf(query + strlen(query), sizeof(query) - strlen(query),
+                                "datcollprovider, daticucoll, ");
+       snprintf(query + strlen(query), sizeof(query) - strlen(query),
                         "pg_catalog.pg_tablespace_location(t.oid) AS spclocation 
"
                         "FROM pg_catalog.pg_database d "
                         " LEFT OUTER JOIN pg_catalog.pg_tablespace t "

Indeed!





Reply via email to