From 0004249c62a4afba1121282687f2b3d773241b54 Mon Sep 17 00:00:00 2001
From: "dgrowley@gmail.com" <dgrowley@gmail.com>
Date: Sun, 28 Apr 2019 13:42:04 +1200
Subject: [PATCH 2/4] Use appendStringInfoString instead of appendStringInfo,
 where possible

If the call does not require any printf type formatting then there is no
point in using appendStringInfo, doing so just adds overhead and leaves
bad examples in the code.
---
 contrib/postgres_fdw/deparse.c         | 8 ++++----
 contrib/test_decoding/test_decoding.c  | 4 ++--
 src/backend/access/rmgrdesc/heapdesc.c | 4 ++--
 src/backend/commands/explain.c         | 2 +-
 src/backend/utils/adt/ruleutils.c      | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/contrib/postgres_fdw/deparse.c b/contrib/postgres_fdw/deparse.c
index 6da4c834bf..b951b11592 100644
--- a/contrib/postgres_fdw/deparse.c
+++ b/contrib/postgres_fdw/deparse.c
@@ -1531,7 +1531,7 @@ deparseFromExprForRel(StringInfo buf, PlannerInfo *root, RelOptInfo *foreignrel,
 			{
 				Assert(fpinfo->jointype == JOIN_INNER);
 				Assert(fpinfo->joinclauses == NIL);
-				appendStringInfo(buf, "%s", join_sql_o.data);
+				appendStringInfoString(buf, join_sql_o.data);
 				return;
 			}
 		}
@@ -1552,7 +1552,7 @@ deparseFromExprForRel(StringInfo buf, PlannerInfo *root, RelOptInfo *foreignrel,
 			{
 				Assert(fpinfo->jointype == JOIN_INNER);
 				Assert(fpinfo->joinclauses == NIL);
-				appendStringInfo(buf, "%s", join_sql_i.data);
+				appendStringInfoString(buf, join_sql_i.data);
 				return;
 			}
 		}
@@ -1861,7 +1861,7 @@ deparseDirectUpdateSql(StringInfo buf, PlannerInfo *root,
 	{
 		List	   *ignore_conds = NIL;
 
-		appendStringInfo(buf, " FROM ");
+		appendStringInfoString(buf, " FROM ");
 		deparseFromExprForRel(buf, root, foreignrel, true, rtindex,
 							  &ignore_conds, params_list);
 		remote_conds = list_concat(remote_conds, ignore_conds);
@@ -1944,7 +1944,7 @@ deparseDirectDeleteSql(StringInfo buf, PlannerInfo *root,
 	{
 		List	   *ignore_conds = NIL;
 
-		appendStringInfo(buf, " USING ");
+		appendStringInfoString(buf, " USING ");
 		deparseFromExprForRel(buf, root, foreignrel, true, rtindex,
 							  &ignore_conds, params_list);
 		remote_conds = list_concat(remote_conds, ignore_conds);
diff --git a/contrib/test_decoding/test_decoding.c b/contrib/test_decoding/test_decoding.c
index 33955a478e..a0ded67b9a 100644
--- a/contrib/test_decoding/test_decoding.c
+++ b/contrib/test_decoding/test_decoding.c
@@ -518,9 +518,9 @@ pg_decode_truncate(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
 		|| change->data.truncate.cascade)
 	{
 		if (change->data.truncate.restart_seqs)
-			appendStringInfo(ctx->out, " restart_seqs");
+			appendStringInfoString(ctx->out, " restart_seqs");
 		if (change->data.truncate.cascade)
-			appendStringInfo(ctx->out, " cascade");
+			appendStringInfoString(ctx->out, " cascade");
 	}
 	else
 		appendStringInfoString(ctx->out, " (no-flags)");
diff --git a/src/backend/access/rmgrdesc/heapdesc.c b/src/backend/access/rmgrdesc/heapdesc.c
index eff529f990..f25ebcda99 100644
--- a/src/backend/access/rmgrdesc/heapdesc.c
+++ b/src/backend/access/rmgrdesc/heapdesc.c
@@ -86,9 +86,9 @@ heap_desc(StringInfo buf, XLogReaderState *record)
 		int			i;
 
 		if (xlrec->flags & XLH_TRUNCATE_CASCADE)
-			appendStringInfo(buf, "cascade ");
+			appendStringInfoString(buf, "cascade ");
 		if (xlrec->flags & XLH_TRUNCATE_RESTART_SEQS)
-			appendStringInfo(buf, "restart_seqs ");
+			appendStringInfoString(buf, "restart_seqs ");
 		appendStringInfo(buf, "nrelids %u relids", xlrec->nrelids);
 		for (i = 0; i < xlrec->nrelids; i++)
 			appendStringInfo(buf, " %u", xlrec->relids[i]);
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index 92969636b7..dff2ed3f97 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -822,7 +822,7 @@ ExplainPrintJIT(ExplainState *es, int jit_flags,
 		if (for_workers)
 			appendStringInfo(es->str, "JIT for worker %u:\n", worker_num);
 		else
-			appendStringInfo(es->str, "JIT:\n");
+			appendStringInfoString(es->str, "JIT:\n");
 		es->indent += 1;
 
 		ExplainPropertyInteger("Functions", NULL, ji->created_functions, es);
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 9dda4820af..421b622b5e 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -1723,7 +1723,7 @@ pg_get_partkeydef_worker(Oid relid, int prettyFlags,
 	{
 		case PARTITION_STRATEGY_HASH:
 			if (!attrsOnly)
-				appendStringInfo(&buf, "HASH");
+				appendStringInfoString(&buf, "HASH");
 			break;
 		case PARTITION_STRATEGY_LIST:
 			if (!attrsOnly)
-- 
2.20.1

