Fixup various older misuses of appendPQExpBuffer
authorDavid Rowley <drowley@postgresql.org>
Fri, 18 Apr 2025 00:15:08 +0000 (12:15 +1200)
committerDavid Rowley <drowley@postgresql.org>
Fri, 18 Apr 2025 00:15:08 +0000 (12:15 +1200)
Use appendPQExpBufferStr when there are no parameters and
appendPQExpBufferChar when the string length is 1.

Unlike 3fae25cbb, which fixed this issue for code that was new to v18,
this one fixes up instances which exist in the backbranches.  We've
historically tried to maintain this standard and if we're going to
continue doing that, then we won't be doing that selectively based on
when the code was introduced.  Now seems like a good time to flush out the
existing misuses.  Waiting until v19 just prolongs their existence in
terms of released versions that the misuses exist in.

Author: David Rowley <drowleyml@gmail.com>
Discussion: https://postgr.es/m/CAApHDvoARMvPeXTTC0HnpARBHn-WgVstc8XFCyMGOzvgu_1HvQ@mail.gmail.com

src/bin/initdb/initdb.c
src/bin/pg_basebackup/pg_createsubscriber.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dumpall.c
src/bin/pg_upgrade/pg_upgrade.c
src/bin/psql/common.c
src/bin/scripts/vacuumdb.c

index c17fda2bc81d0b53c88fabb3980f28c6706d2e58..2087690449de9191a7959435f410aea00cdc8bbd 100644 (file)
@@ -1620,9 +1620,9 @@ bootstrap_template1(void)
    printfPQExpBuffer(&cmd, "\"%s\" --boot %s %s", backend_exec, boot_options, extra_options);
    appendPQExpBuffer(&cmd, " -X %d", wal_segment_size_mb * (1024 * 1024));
    if (data_checksums)
-       appendPQExpBuffer(&cmd, " -k");
+       appendPQExpBufferStr(&cmd, " -k");
    if (debug)
-       appendPQExpBuffer(&cmd, " -d 5");
+       appendPQExpBufferStr(&cmd, " -d 5");
 
 
    PG_CMD_OPEN(cmd.data);
index b92a978a426718e7739705788abfc892c1cd881c..f65acc7cb1141294701e64703ecc4046bb289394 100644 (file)
@@ -1247,20 +1247,20 @@ setup_recovery(const struct LogicalRepInfo *dbinfo, const char *datadir, const c
     * targets (name, time, xid, LSN).
     */
    recoveryconfcontents = GenerateRecoveryConfig(conn, NULL, NULL);
-   appendPQExpBuffer(recoveryconfcontents, "recovery_target = ''\n");
-   appendPQExpBuffer(recoveryconfcontents,
-                     "recovery_target_timeline = 'latest'\n");
-   appendPQExpBuffer(recoveryconfcontents,
-                     "recovery_target_inclusive = true\n");
-   appendPQExpBuffer(recoveryconfcontents,
-                     "recovery_target_action = promote\n");
-   appendPQExpBuffer(recoveryconfcontents, "recovery_target_name = ''\n");
-   appendPQExpBuffer(recoveryconfcontents, "recovery_target_time = ''\n");
-   appendPQExpBuffer(recoveryconfcontents, "recovery_target_xid = ''\n");
+   appendPQExpBufferStr(recoveryconfcontents, "recovery_target = ''\n");
+   appendPQExpBufferStr(recoveryconfcontents,
+                        "recovery_target_timeline = 'latest'\n");
+   appendPQExpBufferStr(recoveryconfcontents,
+                        "recovery_target_inclusive = true\n");
+   appendPQExpBufferStr(recoveryconfcontents,
+                        "recovery_target_action = promote\n");
+   appendPQExpBufferStr(recoveryconfcontents, "recovery_target_name = ''\n");
+   appendPQExpBufferStr(recoveryconfcontents, "recovery_target_time = ''\n");
+   appendPQExpBufferStr(recoveryconfcontents, "recovery_target_xid = ''\n");
 
    if (dry_run)
    {
-       appendPQExpBuffer(recoveryconfcontents, "# dry run mode");
+       appendPQExpBufferStr(recoveryconfcontents, "# dry run mode");
        appendPQExpBuffer(recoveryconfcontents,
                          "recovery_target_lsn = '%X/%X'\n",
                          LSN_FORMAT_ARGS((XLogRecPtr) InvalidXLogRecPtr));
@@ -1484,7 +1484,7 @@ start_standby_server(const struct CreateSubscriberOptions *opt, bool restricted_
 
    appendPQExpBuffer(pg_ctl_cmd, "\"%s\" start -D ", pg_ctl_path);
    appendShellString(pg_ctl_cmd, subscriber_dir);
-   appendPQExpBuffer(pg_ctl_cmd, " -s -o \"-c sync_replication_slots=off\"");
+   appendPQExpBufferStr(pg_ctl_cmd, " -s -o \"-c sync_replication_slots=off\"");
 
    /* Prevent unintended slot invalidation */
    appendPQExpBufferStr(pg_ctl_cmd, " -o \"-c idle_replication_slot_timeout=0\"");
index 8ef9c6a021a8ef54f0e12017a3e0c08ae72b3435..105e917aa7b9fc21e5ef91864a3b4534bb3d632d 100644 (file)
@@ -1777,7 +1777,7 @@ expand_table_name_patterns(Archive *fout,
         */
        if (with_child_tables)
        {
-           appendPQExpBuffer(query, "WITH RECURSIVE partition_tree (relid) AS (\n");
+           appendPQExpBufferStr(query, "WITH RECURSIVE partition_tree (relid) AS (\n");
        }
 
        appendPQExpBuffer(query,
@@ -1804,13 +1804,13 @@ expand_table_name_patterns(Archive *fout,
 
        if (with_child_tables)
        {
-           appendPQExpBuffer(query, "UNION"
-                             "\nSELECT i.inhrelid"
-                             "\nFROM partition_tree p"
-                             "\n     JOIN pg_catalog.pg_inherits i"
-                             "\n     ON p.relid OPERATOR(pg_catalog.=) i.inhparent"
-                             "\n)"
-                             "\nSELECT relid FROM partition_tree");
+           appendPQExpBufferStr(query, "UNION"
+                                "\nSELECT i.inhrelid"
+                                "\nFROM partition_tree p"
+                                "\n     JOIN pg_catalog.pg_inherits i"
+                                "\n     ON p.relid OPERATOR(pg_catalog.=) i.inhparent"
+                                "\n)"
+                                "\nSELECT relid FROM partition_tree");
        }
 
        ExecuteSqlStatement(fout, "RESET search_path");
@@ -5034,8 +5034,8 @@ getSubscriptions(Archive *fout)
        appendPQExpBufferStr(query,
                             " s.subfailover\n");
    else
-       appendPQExpBuffer(query,
-                         " false AS subfailover\n");
+       appendPQExpBufferStr(query,
+                            " false AS subfailover\n");
 
    appendPQExpBufferStr(query,
                         "FROM pg_subscription s\n");
@@ -5257,7 +5257,7 @@ dumpSubscriptionTable(Archive *fout, const SubRelInfo *subrinfo)
        if (subrinfo->srsublsn && subrinfo->srsublsn[0] != '\0')
            appendPQExpBuffer(query, ", '%s'", subrinfo->srsublsn);
        else
-           appendPQExpBuffer(query, ", NULL");
+           appendPQExpBufferStr(query, ", NULL");
 
        appendPQExpBufferStr(query, ");\n");
    }
@@ -5352,7 +5352,7 @@ dumpSubscription(Archive *fout, const SubscriptionInfo *subinfo)
        appendPQExpBufferStr(query, ", disable_on_error = true");
 
    if (!subinfo->subpasswordrequired)
-       appendPQExpBuffer(query, ", password_required = false");
+       appendPQExpBufferStr(query, ", password_required = false");
 
    if (subinfo->subrunasowner)
        appendPQExpBufferStr(query, ", run_as_owner = true");
index 3395d559518e8fc02f4146f3a09f969477ed4fcf..946a6d0fafc6b873153c3116764dcbe51e86c84d 100644 (file)
@@ -1246,7 +1246,7 @@ dumpRoleMembership(PGconn *conn)
                {
                    if (optbuf->data[0] != '\0')
                        appendPQExpBufferStr(optbuf, ", ");
-                   appendPQExpBuffer(optbuf, "SET FALSE");
+                   appendPQExpBufferStr(optbuf, "SET FALSE");
                }
                if (optbuf->data[0] != '\0')
                    fprintf(OPF, " WITH %s", optbuf->data);
index d9db48dba0d25ce9a9876f194e83a42b2badad87..536e49d26168bf1c0506447beedeb4e1f902f6f1 100644 (file)
@@ -999,11 +999,11 @@ create_logical_replication_slots(void)
            LogicalSlotInfo *slot_info = &slot_arr->slots[slotnum];
 
            /* Constructs a query for creating logical replication slots */
-           appendPQExpBuffer(query,
-                             "SELECT * FROM "
-                             "pg_catalog.pg_create_logical_replication_slot(");
+           appendPQExpBufferStr(query,
+                                "SELECT * FROM "
+                                "pg_catalog.pg_create_logical_replication_slot(");
            appendStringLiteralConn(query, slot_info->slotname, conn);
-           appendPQExpBuffer(query, ", ");
+           appendPQExpBufferStr(query, ", ");
            appendStringLiteralConn(query, slot_info->plugin, conn);
 
            appendPQExpBuffer(query, ", false, %s, %s);",
index 5249336bcf2aa26c016ab7795e9bee8170d9f21e..5382a07b74de98b89014cd335331513c47376ff3 100644 (file)
@@ -1404,7 +1404,7 @@ DescribeQuery(const char *query, double *elapsed_msec)
                char       *escname;
 
                if (i > 0)
-                   appendPQExpBufferStr(&buf, ",");
+                   appendPQExpBufferChar(&buf, ',');
 
                name = PQfname(result, i);
                escname = PQescapeLiteral(pset.db, name, strlen(name));
index 935e6da3c179a898e34da983a9079baf105b54b6..22067faaf7d10f7aabe8e65905bd5905a5719cf0 100644 (file)
@@ -896,11 +896,11 @@ retrieve_objects(PGconn *conn, vacuumingOptions *vacopts,
    if (objects_listed)
    {
        if (objfilter & OBJFILTER_SCHEMA_EXCLUDE)
-           appendPQExpBuffer(&catalog_query,
-                             " AND listed_objects.object_oid IS NULL\n");
+           appendPQExpBufferStr(&catalog_query,
+                                " AND listed_objects.object_oid IS NULL\n");
        else
-           appendPQExpBuffer(&catalog_query,
-                             " AND listed_objects.object_oid IS NOT NULL\n");
+           appendPQExpBufferStr(&catalog_query,
+                                " AND listed_objects.object_oid IS NOT NULL\n");
    }
 
    /*
@@ -911,10 +911,10 @@ retrieve_objects(PGconn *conn, vacuumingOptions *vacopts,
     */
    if ((objfilter & OBJFILTER_TABLE) == 0)
    {
-       appendPQExpBuffer(&catalog_query,
-                         " AND c.relkind OPERATOR(pg_catalog.=) ANY (array["
-                         CppAsString2(RELKIND_RELATION) ", "
-                         CppAsString2(RELKIND_MATVIEW) "])\n");
+       appendPQExpBufferStr(&catalog_query,
+                            " AND c.relkind OPERATOR(pg_catalog.=) ANY (array["
+                            CppAsString2(RELKIND_RELATION) ", "
+                            CppAsString2(RELKIND_MATVIEW) "])\n");
    }
 
    /*