On Mon, Feb 17, 2025 at 11:46:43AM -0800, Jeff Davis wrote:
> Attached a version that rebases both patches. In my patch, I added a
> report_status().

I briefly looked at v2-0002, and the UpgradeTask usage looks correct to me.
Did you find it easy enough to use?

+       /*
+        * The builtin provider did not exist prior to version 17. While there 
are
+        * still problems that could potentially be caught from earlier 
versions,
+        * such as an index on NORMALIZE(), we don't check for that here.
+        */
+       if (GET_MAJOR_VERSION(cluster->major_version) < 1700)
+               return;

nitpick: In most cases, I think this check is done in
check_and_dump_old_cluster() before actually calling the checking function.
I don't think there's any big problem here, except you might strand the
memory allocated for the task.

+       if (!unicode_version_changed(cluster))
+       {
+               check_ok();
+               return;
+       }

Same nitpick here about stranding the task memory.

+               report_status(PG_WARNING, "warning");
+               pg_log(PG_WARNING, "Your installation contains relations that 
may be affected by a new version of Unicode.\n"
+                          "A list of potentially-affected relations is in the 
file:\n"
+                          "    %s", report.path);

This may have been discussed upthread, but is a warning enough?  That seems
like something that could very easily be missed.

-- 
nathan


Reply via email to