Re: Update Unicode data to Unicode 16.0.0 - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: Update Unicode data to Unicode 16.0.0
Date
Msg-id Z_KMsUH2-FEbiNjC@nathan
Whole thread Raw
In response to Re: Update Unicode data to Unicode 16.0.0  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: Update Unicode data to Unicode 16.0.0
List pgsql-hackers
On Wed, Mar 05, 2025 at 02:33:42PM -0600, Nathan Bossart wrote:
> +    /*
> +     * 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.

Coverity is unhappy about these.  I think we should at least do something
like the following.  I'll commit this when I have an opportunity.

diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c
index 8f946c4e3d6..18c2d652bb6 100644
--- a/src/bin/pg_upgrade/check.c
+++ b/src/bin/pg_upgrade/check.c
@@ -1825,7 +1825,7 @@ static void
 check_for_unicode_update(ClusterInfo *cluster)
 {
     UpgradeTaskReport report;
-    UpgradeTask *task = upgrade_task_create();
+    UpgradeTask *task;
     const char *query;

     /*
@@ -1920,6 +1920,7 @@ check_for_unicode_update(ClusterInfo *cluster)
         "        d.datname = current_database() AND "
         "        d.encoding = pg_char_to_encoding('UTF8');";

+    task = upgrade_task_create();
     upgrade_task_add_step(task, query,
                           process_unicode_update,
                           true, &report);

-- 
nathan



pgsql-hackers by date:

Previous
From: Jingtang Zhang
Date:
Subject: Re: Introduce new multi insert Table AM and improve performance of various SQL commands with it for Heap AM
Next
From: Andrew Dunstan
Date:
Subject: Re: getting "shell command argument contains a newline or carriage return:" error with pg_dumpall when db name have new line in double quote