agora inbox for [email protected]  
help / color / mirror / Atom feed
[PATCH v21 3/8] Row pattern recognition patch (rewriter).
70+ messages / 2 participants
[nested] [flat]

* [PATCH v21 3/8] Row pattern recognition patch (rewriter).
@ 2024-08-26 04:32 Tatsuo Ishii <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Tatsuo Ishii @ 2024-08-26 04:32 UTC (permalink / raw)

---
 src/backend/utils/adt/ruleutils.c | 103 ++++++++++++++++++++++++++++++
 1 file changed, 103 insertions(+)

diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 00eda1b34c..dff7e169e7 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -426,6 +426,10 @@ static void get_rule_groupingset(GroupingSet *gset, List *targetlist,
 								 bool omit_parens, deparse_context *context);
 static void get_rule_orderby(List *orderList, List *targetList,
 							 bool force_colno, deparse_context *context);
+static void get_rule_pattern(List *patternVariable, List *patternRegexp,
+							 bool force_colno, deparse_context *context);
+static void get_rule_define(List *defineClause, List *patternVariables,
+							bool force_colno, deparse_context *context);
 static void get_rule_windowclause(Query *query, deparse_context *context);
 static void get_rule_windowspec(WindowClause *wc, List *targetList,
 								deparse_context *context);
@@ -6460,6 +6464,67 @@ get_rule_orderby(List *orderList, List *targetList,
 	}
 }
 
+/*
+ * Display a PATTERN clause.
+ */
+static void
+get_rule_pattern(List *patternVariable, List *patternRegexp,
+				 bool force_colno, deparse_context *context)
+{
+	StringInfo	buf = context->buf;
+	const char *sep;
+	ListCell   *lc_var,
+			   *lc_reg = list_head(patternRegexp);
+
+	sep = "";
+	appendStringInfoChar(buf, '(');
+	foreach(lc_var, patternVariable)
+	{
+		char	   *variable = strVal((String *) lfirst(lc_var));
+		char	   *regexp = NULL;
+
+		if (lc_reg != NULL)
+		{
+			regexp = strVal((String *) lfirst(lc_reg));
+
+			lc_reg = lnext(patternRegexp, lc_reg);
+		}
+
+		appendStringInfo(buf, "%s%s", sep, variable);
+		if (regexp !=NULL)
+			appendStringInfoString(buf, regexp);
+
+		sep = " ";
+	}
+	appendStringInfoChar(buf, ')');
+}
+
+/*
+ * Display a DEFINE clause.
+ */
+static void
+get_rule_define(List *defineClause, List *patternVariables,
+				bool force_colno, deparse_context *context)
+{
+	StringInfo	buf = context->buf;
+	const char *sep;
+	ListCell   *lc_var,
+			   *lc_def;
+
+	sep = "  ";
+	Assert(list_length(patternVariables) == list_length(defineClause));
+
+	forboth(lc_var, patternVariables, lc_def, defineClause)
+	{
+		char	   *varName = strVal(lfirst(lc_var));
+		TargetEntry *te = (TargetEntry *) lfirst(lc_def);
+
+		appendStringInfo(buf, "%s%s AS ", sep, varName);
+		get_rule_expr((Node *) te->expr, context, false);
+		sep = ",\n  ";
+	}
+}
+
 /*
  * Display a WINDOW clause.
  *
@@ -6597,6 +6662,44 @@ get_rule_windowspec(WindowClause *wc, List *targetList,
 			appendStringInfoString(buf, "EXCLUDE GROUP ");
 		else if (wc->frameOptions & FRAMEOPTION_EXCLUDE_TIES)
 			appendStringInfoString(buf, "EXCLUDE TIES ");
+		/* RPR */
+		if (wc->rpSkipTo == ST_NEXT_ROW)
+			appendStringInfoString(buf,
+								   "\n  AFTER MATCH SKIP TO NEXT ROW ");
+		else if (wc->rpSkipTo == ST_PAST_LAST_ROW)
+			appendStringInfoString(buf,
+								   "\n  AFTER MATCH SKIP PAST LAST ROW ");
+		else if (wc->rpSkipTo == ST_FIRST_VARIABLE)
+			appendStringInfo(buf,
+							 "\n  AFTER MATCH SKIP TO FIRST %s ",
+							 wc->rpSkipVariable);
+		else if (wc->rpSkipTo == ST_LAST_VARIABLE)
+			appendStringInfo(buf,
+							 "\n  AFTER MATCH SKIP TO LAST %s ",
+							 wc->rpSkipVariable);
+		else if (wc->rpSkipTo == ST_VARIABLE)
+			appendStringInfo(buf,
+							 "\n  AFTER MATCH SKIP TO %s ",
+							 wc->rpSkipVariable);
+
+		if (wc->initial)
+			appendStringInfoString(buf, "\n  INITIAL");
+
+		if (wc->patternVariable)
+		{
+			appendStringInfoString(buf, "\n  PATTERN ");
+			get_rule_pattern(wc->patternVariable, wc->patternRegexp,
+							 false, context);
+		}
+
+		if (wc->defineClause)
+		{
+			appendStringInfoString(buf, "\n  DEFINE\n");
+			get_rule_define(wc->defineClause, wc->patternVariable,
+							false, context);
+			appendStringInfoChar(buf, ' ');
+		}
+
 		/* we will now have a trailing space; remove it */
 		buf->len--;
 	}
-- 
2.25.1


----Next_Part(Mon_Aug_26_13_39_47_2024_878)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="v21-0004-Row-pattern-recognition-patch-planner.patch"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread

* [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length
@ 2026-03-12 15:12 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 70+ messages in thread

From: Álvaro Herrera @ 2026-03-12 15:12 UTC (permalink / raw)

---
 src/backend/commands/cluster.c                            | 2 +-
 src/backend/replication/pgoutput_repack/pgoutput_repack.c | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 29440fb75cd..244843ee1cf 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -3113,7 +3113,7 @@ restore_tuple(BufFile *file, Relation relation, MemoryContext cxt)
 	uint32		t_len;
 	HeapTuple	tup;
 	MemoryContext oldcxt;
-	uint32		natt_ext;
+	int			natt_ext;
 	List	   *attrs_ext = NIL;
 
 	oldcxt = MemoryContextSwitchTo(cxt);
diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
index 79fc611b9ff..61cd7c52ae6 100644
--- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c
+++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c
@@ -175,7 +175,7 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 	BufFile    *file;
 	char		kind_byte = (char) kind;
 	List	   *attrs_ext = NIL;
-	uint32		natt_ext;
+	int			natt_ext;
 
 	dstate = (RepackDecodingState *) ctx->output_writer_private;
 	file = dstate->file;
@@ -237,14 +237,12 @@ store_change(LogicalDecodingContext *ctx, Relation relation,
 				Assert(VARATT_IS_EXTERNAL_ONDISK(varlena_pointer));
 			}
 		}
-		natt_ext = list_length(attrs_ext);
 	}
-	else
-		natt_ext = 0;
 
 	/* Write the number of external attributes. */
+	natt_ext = list_length(attrs_ext);
 	BufFileWrite(file, &natt_ext, sizeof(natt_ext));
-	/* ... and the attributes themselves, if there are some. */
+	/* ... and the attributes themselves, if any */
 	foreach_ptr(varlena, attr_val, attrs_ext)
 	{
 		varlena    *ext_val;
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0007-no-need-for-palloc0-here-simple-palloc-is-enough.nocfbot.txt"



^ permalink  raw  reply  [nested|flat] 70+ messages in thread


end of thread, other threads:[~2026-03-12 15:12 UTC | newest]

Thread overview: 70+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-08-26 04:32 [PATCH v21 3/8] Row pattern recognition patch (rewriter). Tatsuo Ishii <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>
2026-03-12 15:12 [PATCH 6/9] use 'int' instead of 'uint32' for the result of list_length Álvaro Herrera <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox