agora inbox for [email protected]  
help / color / mirror / Atom feed
[PATCH 4/4] Support clauses of the form Var op Var
62+ messages / 3 participants
[nested] [flat]

* [PATCH 4/4] Support clauses of the form Var op Var
@ 2020-03-08 22:27 Tomas Vondra <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Tomas Vondra @ 2020-03-08 22:27 UTC (permalink / raw)

---
 src/backend/statistics/extended_stats.c       | 63 ++++++++++++----
 src/backend/statistics/mcv.c                  | 75 ++++++++++++++++++-
 .../statistics/extended_stats_internal.h      |  2 +-
 src/test/regress/expected/stats_ext.out       | 72 ++++++++++++++++++
 src/test/regress/sql/stats_ext.sql            | 22 ++++++
 5 files changed, 217 insertions(+), 17 deletions(-)

diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c
index daf95ff437..ddcb5d2955 100644
--- a/src/backend/statistics/extended_stats.c
+++ b/src/backend/statistics/extended_stats.c
@@ -986,14 +986,18 @@ statext_is_compatible_clause_internal(PlannerInfo *root, Node *clause,
 	{
 		RangeTblEntry *rte = root->simple_rte_array[relid];
 		OpExpr	   *expr = (OpExpr *) clause;
-		Var		   *var;
+		Var		   *var,
+				   *var2;
 
 		/* Only expressions with two arguments are considered compatible. */
 		if (list_length(expr->args) != 2)
 			return false;
 
-		/* Check if the expression the right shape (one Var, one Const) */
-		if (!examine_opclause_expression(expr, &var, NULL, NULL))
+		/*
+		 * Check if the expression the right shape (one Var and one Const,
+		 * or two Vars).
+		 */
+		if (!examine_opclause_expression(expr, &var, &var2, NULL, NULL))
 			return false;
 
 		/*
@@ -1033,7 +1037,20 @@ statext_is_compatible_clause_internal(PlannerInfo *root, Node *clause,
 			!get_func_leakproof(get_opcode(expr->opno)))
 			return false;
 
-		return statext_is_compatible_clause_internal(root, (Node *) var,
+		/*
+		 * Check compatibility of the first Var - we get this one for both
+		 * types of supported expressions (Var op Const) and (Var op Var).
+		 */
+		if (!statext_is_compatible_clause_internal(root, (Node *) var,
+												   relid, attnums))
+			return false;
+
+		/* For (Var op Const) we don't get the second Var, and we're done. */
+		if (!var2)
+			return true;
+
+		/* For (Var op Var) check compatibility of the second Var. */
+		return statext_is_compatible_clause_internal(root, (Node *) var2,
 													 relid, attnums);
 	}
 
@@ -1422,19 +1439,21 @@ statext_clauselist_selectivity(PlannerInfo *root, List *clauses, int varRelid,
  * examine_opclause_expression
  *		Split expression into Var and Const parts.
  *
- * Attempts to match the arguments to either (Var op Const) or (Const op Var),
- * possibly with a RelabelType on top. When the expression matches this form,
- * returns true, otherwise returns false.
+ * Attempts to match the arguments to either (Var op Const) or (Const op Var)
+ * or (Var op Var), possibly with a RelabelType on top. When the expression
+ * matches this form, returns true, otherwise returns false.
  *
  * Optionally returns pointers to the extracted Var/Const nodes, when passed
  * non-null pointers (varp, cstp and varonleftp). The varonleftp flag specifies
  * on which side of the operator we found the Var node.
  */
 bool
-examine_opclause_expression(OpExpr *expr, Var **varp, Const **cstp, bool *varonleftp)
+examine_opclause_expression(OpExpr *expr, Var **var1p, Var **var2p,
+							Const **cstp, bool *varonleftp)
 {
-	Var	   *var;
-	Const  *cst;
+	Var	   *var1 = NULL;
+	Var	   *var2 = NULL;
+	Const  *cst = NULL;
 	bool	varonleft;
 	Node   *leftop,
 		   *rightop;
@@ -1454,22 +1473,38 @@ examine_opclause_expression(OpExpr *expr, Var **varp, Const **cstp, bool *varonl
 
 	if (IsA(leftop, Var) && IsA(rightop, Const))
 	{
-		var = (Var *) leftop;
+		var1 = (Var *) leftop;
 		cst = (Const *) rightop;
 		varonleft = true;
 	}
 	else if (IsA(leftop, Const) && IsA(rightop, Var))
 	{
-		var = (Var *) rightop;
+		var1 = (Var *) rightop;
 		cst = (Const *) leftop;
 		varonleft = false;
 	}
+	else if (IsA(leftop, Var) && IsA(rightop, Var))
+	{
+		var1 = (Var *) leftop;
+		var2 = (Var *) rightop;
+		varonleft = false;
+
+		/*
+		 * Both variables have to be for the same relation (otherwise it's
+		 * a join clause, and we don't deal with those yet.
+		 */
+		if (var1->varno != var2->varno)
+			return false;
+	}
 	else
 		return false;
 
 	/* return pointers to the extracted parts if requested */
-	if (varp)
-		*varp = var;
+	if (var1p)
+		*var1p = var1;
+
+	if (var2p)
+		*var2p = var2;
 
 	if (cstp)
 		*cstp = cst;
diff --git a/src/backend/statistics/mcv.c b/src/backend/statistics/mcv.c
index 3f42713aa2..97d3083451 100644
--- a/src/backend/statistics/mcv.c
+++ b/src/backend/statistics/mcv.c
@@ -1581,16 +1581,25 @@ mcv_get_match_bitmap(PlannerInfo *root, List *clauses,
 
 			/* valid only after examine_opclause_expression returns true */
 			Var		   *var;
+			Var		   *var2;
 			Const	   *cst;
 			bool		varonleft;
 
 			fmgr_info(get_opcode(expr->opno), &opproc);
 
-			/* extract the var and const from the expression */
-			if (examine_opclause_expression(expr, &var, &cst, &varonleft))
+			/* extract the vars and const from the expression */
+			if (!examine_opclause_expression(expr, &var, &var2, &cst, &varonleft))
+				continue;	/* XXX Can this actually happen? */
+
+			/* We should always get at least one Var. */
+			Assert(var);
+
+			if (cst)
 			{
 				int			idx;
 
+				Assert(!var2);
+
 				/* match the attribute to a dimension of the statistic */
 				idx = bms_member_index(keys, var->varattno);
 
@@ -1651,6 +1660,68 @@ mcv_get_match_bitmap(PlannerInfo *root, List *clauses,
 					matches[i] = RESULT_MERGE(matches[i], is_or, match);
 				}
 			}
+			else
+			{
+				int			idx;
+				int			idx2;
+
+				Assert(var2);
+
+				/* match the attribute to a dimension of the statistic */
+				idx = bms_member_index(keys, var->varattno);
+				idx2 = bms_member_index(keys, var2->varattno);
+
+				/*
+				 * Walk through the MCV items and evaluate the current clause.
+				 * We can skip items that were already ruled out, and
+				 * terminate if there are no remaining MCV items that might
+				 * possibly match.
+				 */
+				for (i = 0; i < mcvlist->nitems; i++)
+				{
+					bool		match = true;
+					MCVItem    *item = &mcvlist->items[i];
+
+					/*
+					 * When either of the MCV items is NULL we can treat this
+					 * as a mismatch. We must not call the operator because
+					 * of strictness.
+					 */
+					if (item->isnull[idx] || item->isnull[idx2])
+					{
+						matches[i] = RESULT_MERGE(matches[i], is_or, false);
+						continue;
+					}
+
+					/*
+					 * Skip MCV items that can't change result in the bitmap.
+					 * Once the value gets false for AND-lists, or true for
+					 * OR-lists, we don't need to look at more clauses.
+					 */
+					if (RESULT_IS_FINAL(matches[i], is_or))
+						continue;
+
+					/*
+					 * First check whether the constant is below the lower
+					 * boundary (in that case we can skip the bucket, because
+					 * there's no overlap).
+					 *
+					 * We don't store collations used to build the statistics,
+					 * but we can use the collation for the attribute itself,
+					 * as stored in varcollid. We do reset the statistics after
+					 * a type change (including collation change), so this is
+					 * OK. We may need to relax this after allowing extended
+					 * statistics on expressions.
+					 */
+					match = DatumGetBool(FunctionCall2Coll(&opproc,
+														   var->varcollid,
+														   item->values[idx],
+														   item->values[idx2]));
+
+					/* update the match bitmap with the result */
+					matches[i] = RESULT_MERGE(matches[i], is_or, match);
+				}
+			}
 		}
 		else if (IsA(clause, NullTest))
 		{
diff --git a/src/include/statistics/extended_stats_internal.h b/src/include/statistics/extended_stats_internal.h
index 5171895bba..804089bc57 100644
--- a/src/include/statistics/extended_stats_internal.h
+++ b/src/include/statistics/extended_stats_internal.h
@@ -96,7 +96,7 @@ extern SortItem *build_sorted_items(int numrows, int *nitems, HeapTuple *rows,
 									TupleDesc tdesc, MultiSortSupport mss,
 									int numattrs, AttrNumber *attnums);
 
-extern bool examine_opclause_expression(OpExpr *expr, Var **varp,
+extern bool examine_opclause_expression(OpExpr *expr, Var **var1p, Var **var2p,
 										Const **cstp, bool *varonleftp);
 
 extern Selectivity mcv_clauselist_selectivity(PlannerInfo *root,
diff --git a/src/test/regress/expected/stats_ext.out b/src/test/regress/expected/stats_ext.out
index 383465e8cb..3eb1804cf3 100644
--- a/src/test/regress/expected/stats_ext.out
+++ b/src/test/regress/expected/stats_ext.out
@@ -603,6 +603,18 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = '
        343 |    200
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a > c');
+ estimated | actual 
+-----------+--------
+      1667 |   3750
+(1 row)
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < c');
+ estimated | actual 
+-----------+--------
+      1667 |      0
+(1 row)
+
 -- create statistics
 CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c FROM mcv_lists;
 ANALYZE mcv_lists;
@@ -654,6 +666,18 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = '
        200 |    200
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a > c');
+ estimated | actual 
+-----------+--------
+      3750 |   3750
+(1 row)
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < c');
+ estimated | actual 
+-----------+--------
+         1 |      0
+(1 row)
+
 -- check change of unrelated column type does not reset the MCV statistics
 ALTER TABLE mcv_lists ALTER COLUMN d TYPE VARCHAR(64);
 SELECT d.stxdmcv IS NOT NULL
@@ -749,6 +773,12 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d
       3750 |   2500
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = d');
+ estimated | actual 
+-----------+--------
+        25 |   2500
+(1 row)
+
 -- create statistics
 CREATE STATISTICS mcv_lists_stats (mcv) ON b, d FROM mcv_lists;
 ANALYZE mcv_lists;
@@ -758,6 +788,12 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d
       2500 |   2500
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = d');
+ estimated | actual 
+-----------+--------
+      2500 |   2500
+(1 row)
+
 -- mcv with arrays
 CREATE TABLE mcv_lists_arrays (
     a TEXT[],
@@ -808,6 +844,18 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND
       1094 |      0
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b');
+ estimated | actual 
+-----------+--------
+      9950 |   2500
+(1 row)
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b AND b = c');
+ estimated | actual 
+-----------+--------
+        50 |   2500
+(1 row)
+
 CREATE STATISTICS mcv_lists_bool_stats (mcv) ON a, b, c
   FROM mcv_lists_bool;
 ANALYZE mcv_lists_bool;
@@ -835,6 +883,18 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND
          1 |      0
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b');
+ estimated | actual 
+-----------+--------
+      2500 |   2500
+(1 row)
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b AND b = c');
+ estimated | actual 
+-----------+--------
+      2500 |   2500
+(1 row)
+
 -- check the ability to use multiple MCV lists
 CREATE TABLE mcv_lists_multi (
 	a INTEGER,
@@ -893,6 +953,12 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR
       2649 |   1572
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = b AND c = d');
+ estimated | actual 
+-----------+--------
+         1 |   5000
+(1 row)
+
 -- create separate MCV statistics
 CREATE STATISTICS mcv_lists_multi_1 (mcv) ON a, b FROM mcv_lists_multi;
 CREATE STATISTICS mcv_lists_multi_2 (mcv) ON c, d FROM mcv_lists_multi;
@@ -939,6 +1005,12 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR
       1571 |   1572
 (1 row)
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = b AND c = d');
+ estimated | actual 
+-----------+--------
+      5000 |   5000
+(1 row)
+
 DROP TABLE mcv_lists_multi;
 -- Permission tests. Users should not be able to see specific data values in
 -- the extended statistics, if they lack permission to see those values in
diff --git a/src/test/regress/sql/stats_ext.sql b/src/test/regress/sql/stats_ext.sql
index 6fd8b016bd..42b67f7cde 100644
--- a/src/test/regress/sql/stats_ext.sql
+++ b/src/test/regress/sql/stats_ext.sql
@@ -381,6 +381,10 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = '
 
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL');
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a > c');
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < c');
+
 -- create statistics
 CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c FROM mcv_lists;
 
@@ -402,6 +406,10 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = '
 
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL');
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a > c');
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < c');
+
 -- check change of unrelated column type does not reset the MCV statistics
 ALTER TABLE mcv_lists ALTER COLUMN d TYPE VARCHAR(64);
 
@@ -473,6 +481,8 @@ ANALYZE mcv_lists;
 
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d = ''x''');
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = d');
+
 -- create statistics
 CREATE STATISTICS mcv_lists_stats (mcv) ON b, d FROM mcv_lists;
 
@@ -480,6 +490,8 @@ ANALYZE mcv_lists;
 
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d = ''x''');
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = d');
+
 -- mcv with arrays
 CREATE TABLE mcv_lists_arrays (
     a TEXT[],
@@ -521,6 +533,10 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND
 
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND NOT c');
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b');
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b AND b = c');
+
 CREATE STATISTICS mcv_lists_bool_stats (mcv) ON a, b, c
   FROM mcv_lists_bool;
 
@@ -534,6 +550,10 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND
 
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND NOT c');
 
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b');
+
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a = b AND b = c');
+
 -- check the ability to use multiple MCV lists
 CREATE TABLE mcv_lists_multi (
 	a INTEGER,
@@ -560,6 +580,7 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 OR
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0');
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE (a = 0 AND b = 0) OR (c = 0 AND d = 0)');
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR b = 0 OR c = 0 OR d = 0');
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = b AND c = d');
 
 -- create separate MCV statistics
 CREATE STATISTICS mcv_lists_multi_1 (mcv) ON a, b FROM mcv_lists_multi;
@@ -574,6 +595,7 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 OR
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0');
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE (a = 0 AND b = 0) OR (c = 0 AND d = 0)');
 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR b = 0 OR c = 0 OR d = 0');
+SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = b AND c = d');
 
 DROP TABLE mcv_lists_multi;
 
-- 
2.21.1


--vcvacfll7i2xqkl4--





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

* [PATCH v10 3/4] Convert pg_restore's ready_list to a priority queue.
@ 2023-07-20 17:19 Nathan Bossart <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Nathan Bossart @ 2023-07-20 17:19 UTC (permalink / raw)

Presently, we spend a lot of time sorting this list so that we pick
the largest items first.  With many tables, this sorting can become
a significant bottleneck.  There are a couple of reports from the
field about this, and it is easily reproducible, so this is not a
hypothetical issue.

This commit improves the performance of pg_restore with many tables
by converting its ready_list to a priority queue, i.e., a binary
heap.  We will first try to run the highest priority item, but if
it cannot be chosen due to the lock heuristic, we'll do a
sequential scan through the heap nodes until we find one that is
runnable.  This means that we might end up picking an item with
much lower priority, but since we expect that we'll typically be
able to choose one of the first few nodes, we should usually pick
an item with a relatively high priority.

On my machine, a basic test with 100,000 tables takes 11.5 minutes
without this patch and 1.5 minutes with it.  Pierre Ducroquet
claims to see a speedup from 30 minutes to 23 minutes for a
real-world dump of over 50,000 tables.

Suggested-by: Tom Lane
Tested-by: Pierre Ducroquet
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/3612876.1689443232%40sss.pgh.pa.us
---
 src/bin/pg_dump/pg_backup_archiver.c | 198 ++++++++-------------------
 1 file changed, 58 insertions(+), 140 deletions(-)

diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index 4d83381d84..b30b49702d 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -34,6 +34,7 @@
 #include "compress_io.h"
 #include "dumputils.h"
 #include "fe_utils/string_utils.h"
+#include "lib/binaryheap.h"
 #include "lib/stringinfo.h"
 #include "libpq/libpq-fs.h"
 #include "parallel.h"
@@ -44,24 +45,6 @@
 #define TEXT_DUMP_HEADER "--\n-- PostgreSQL database dump\n--\n\n"
 #define TEXT_DUMPALL_HEADER "--\n-- PostgreSQL database cluster dump\n--\n\n"
 
-/*
- * State for tracking TocEntrys that are ready to process during a parallel
- * restore.  (This used to be a list, and we still call it that, though now
- * it's really an array so that we can apply qsort to it.)
- *
- * tes[] is sized large enough that we can't overrun it.
- * The valid entries are indexed first_te .. last_te inclusive.
- * We periodically sort the array to bring larger-by-dataLength entries to
- * the front; "sorted" is true if the valid entries are known sorted.
- */
-typedef struct _parallelReadyList
-{
-	TocEntry  **tes;			/* Ready-to-dump TocEntrys */
-	int			first_te;		/* index of first valid entry in tes[] */
-	int			last_te;		/* index of last valid entry in tes[] */
-	bool		sorted;			/* are valid entries currently sorted? */
-} ParallelReadyList;
-
 
 static ArchiveHandle *_allocAH(const char *FileSpec, const ArchiveFormat fmt,
 							   const pg_compress_specification compression_spec,
@@ -111,16 +94,12 @@ static void restore_toc_entries_postfork(ArchiveHandle *AH,
 static void pending_list_header_init(TocEntry *l);
 static void pending_list_append(TocEntry *l, TocEntry *te);
 static void pending_list_remove(TocEntry *te);
-static void ready_list_init(ParallelReadyList *ready_list, int tocCount);
-static void ready_list_free(ParallelReadyList *ready_list);
-static void ready_list_insert(ParallelReadyList *ready_list, TocEntry *te);
-static void ready_list_remove(ParallelReadyList *ready_list, int i);
-static void ready_list_sort(ParallelReadyList *ready_list);
-static int	TocEntrySizeCompare(const void *p1, const void *p2);
-static void move_to_ready_list(TocEntry *pending_list,
-							   ParallelReadyList *ready_list,
+static int	TocEntrySizeCompareQsort(const void *p1, const void *p2);
+static int	TocEntrySizeCompareBinaryheap(void *p1, void *p2, void *arg);
+static void move_to_ready_heap(TocEntry *pending_list,
+							   binaryheap *ready_heap,
 							   RestorePass pass);
-static TocEntry *pop_next_work_item(ParallelReadyList *ready_list,
+static TocEntry *pop_next_work_item(binaryheap *ready_heap,
 									ParallelState *pstate);
 static void mark_dump_job_done(ArchiveHandle *AH,
 							   TocEntry *te,
@@ -135,7 +114,7 @@ static bool has_lock_conflicts(TocEntry *te1, TocEntry *te2);
 static void repoint_table_dependencies(ArchiveHandle *AH);
 static void identify_locking_dependencies(ArchiveHandle *AH, TocEntry *te);
 static void reduce_dependencies(ArchiveHandle *AH, TocEntry *te,
-								ParallelReadyList *ready_list);
+								binaryheap *ready_heap);
 static void mark_create_done(ArchiveHandle *AH, TocEntry *te);
 static void inhibit_data_for_failed_table(ArchiveHandle *AH, TocEntry *te);
 
@@ -2384,7 +2363,7 @@ WriteDataChunks(ArchiveHandle *AH, ParallelState *pstate)
 		}
 
 		if (ntes > 1)
-			qsort(tes, ntes, sizeof(TocEntry *), TocEntrySizeCompare);
+			qsort(tes, ntes, sizeof(TocEntry *), TocEntrySizeCompareQsort);
 
 		for (int i = 0; i < ntes; i++)
 			DispatchJobForTocEntry(AH, pstate, tes[i], ACT_DUMP,
@@ -3984,7 +3963,7 @@ restore_toc_entries_prefork(ArchiveHandle *AH, TocEntry *pending_list)
 
 			(void) restore_toc_entry(AH, next_work_item, false);
 
-			/* Reduce dependencies, but don't move anything to ready_list */
+			/* Reduce dependencies, but don't move anything to ready_heap */
 			reduce_dependencies(AH, next_work_item, NULL);
 		}
 		else
@@ -4027,24 +4006,26 @@ static void
 restore_toc_entries_parallel(ArchiveHandle *AH, ParallelState *pstate,
 							 TocEntry *pending_list)
 {
-	ParallelReadyList ready_list;
+	binaryheap *ready_heap;
 	TocEntry   *next_work_item;
 
 	pg_log_debug("entering restore_toc_entries_parallel");
 
-	/* Set up ready_list with enough room for all known TocEntrys */
-	ready_list_init(&ready_list, AH->tocCount);
+	/* Set up ready_heap with enough room for all known TocEntrys */
+	ready_heap = binaryheap_allocate(AH->tocCount,
+									 TocEntrySizeCompareBinaryheap,
+									 NULL);
 
 	/*
 	 * The pending_list contains all items that we need to restore.  Move all
-	 * items that are available to process immediately into the ready_list.
+	 * items that are available to process immediately into the ready_heap.
 	 * After this setup, the pending list is everything that needs to be done
-	 * but is blocked by one or more dependencies, while the ready list
+	 * but is blocked by one or more dependencies, while the ready heap
 	 * contains items that have no remaining dependencies and are OK to
 	 * process in the current restore pass.
 	 */
 	AH->restorePass = RESTORE_PASS_MAIN;
-	move_to_ready_list(pending_list, &ready_list, AH->restorePass);
+	move_to_ready_heap(pending_list, ready_heap, AH->restorePass);
 
 	/*
 	 * main parent loop
@@ -4058,7 +4039,7 @@ restore_toc_entries_parallel(ArchiveHandle *AH, ParallelState *pstate,
 	for (;;)
 	{
 		/* Look for an item ready to be dispatched to a worker */
-		next_work_item = pop_next_work_item(&ready_list, pstate);
+		next_work_item = pop_next_work_item(ready_heap, pstate);
 		if (next_work_item != NULL)
 		{
 			/* If not to be restored, don't waste time launching a worker */
@@ -4068,7 +4049,7 @@ restore_toc_entries_parallel(ArchiveHandle *AH, ParallelState *pstate,
 							next_work_item->dumpId,
 							next_work_item->desc, next_work_item->tag);
 				/* Update its dependencies as though we'd completed it */
-				reduce_dependencies(AH, next_work_item, &ready_list);
+				reduce_dependencies(AH, next_work_item, ready_heap);
 				/* Loop around to see if anything else can be dispatched */
 				continue;
 			}
@@ -4079,7 +4060,7 @@ restore_toc_entries_parallel(ArchiveHandle *AH, ParallelState *pstate,
 
 			/* Dispatch to some worker */
 			DispatchJobForTocEntry(AH, pstate, next_work_item, ACT_RESTORE,
-								   mark_restore_job_done, &ready_list);
+								   mark_restore_job_done, ready_heap);
 		}
 		else if (IsEveryWorkerIdle(pstate))
 		{
@@ -4093,7 +4074,7 @@ restore_toc_entries_parallel(ArchiveHandle *AH, ParallelState *pstate,
 			/* Advance to next restore pass */
 			AH->restorePass++;
 			/* That probably allows some stuff to be made ready */
-			move_to_ready_list(pending_list, &ready_list, AH->restorePass);
+			move_to_ready_heap(pending_list, ready_heap, AH->restorePass);
 			/* Loop around to see if anything's now ready */
 			continue;
 		}
@@ -4122,10 +4103,10 @@ restore_toc_entries_parallel(ArchiveHandle *AH, ParallelState *pstate,
 					   next_work_item ? WFW_ONE_IDLE : WFW_GOT_STATUS);
 	}
 
-	/* There should now be nothing in ready_list. */
-	Assert(ready_list.first_te > ready_list.last_te);
+	/* There should now be nothing in ready_heap. */
+	Assert(binaryheap_empty(ready_heap));
 
-	ready_list_free(&ready_list);
+	binaryheap_free(ready_heap);
 
 	pg_log_info("finished main parallel loop");
 }
@@ -4225,80 +4206,9 @@ pending_list_remove(TocEntry *te)
 }
 
 
-/*
- * Initialize the ready_list with enough room for up to tocCount entries.
- */
-static void
-ready_list_init(ParallelReadyList *ready_list, int tocCount)
-{
-	ready_list->tes = (TocEntry **)
-		pg_malloc(tocCount * sizeof(TocEntry *));
-	ready_list->first_te = 0;
-	ready_list->last_te = -1;
-	ready_list->sorted = false;
-}
-
-/*
- * Free storage for a ready_list.
- */
-static void
-ready_list_free(ParallelReadyList *ready_list)
-{
-	pg_free(ready_list->tes);
-}
-
-/* Add te to the ready_list */
-static void
-ready_list_insert(ParallelReadyList *ready_list, TocEntry *te)
-{
-	ready_list->tes[++ready_list->last_te] = te;
-	/* List is (probably) not sorted anymore. */
-	ready_list->sorted = false;
-}
-
-/* Remove the i'th entry in the ready_list */
-static void
-ready_list_remove(ParallelReadyList *ready_list, int i)
-{
-	int			f = ready_list->first_te;
-
-	Assert(i >= f && i <= ready_list->last_te);
-
-	/*
-	 * In the typical case where the item to be removed is the first ready
-	 * entry, we need only increment first_te to remove it.  Otherwise, move
-	 * the entries before it to compact the list.  (This preserves sortedness,
-	 * if any.)  We could alternatively move the entries after i, but there
-	 * are typically many more of those.
-	 */
-	if (i > f)
-	{
-		TocEntry  **first_te_ptr = &ready_list->tes[f];
-
-		memmove(first_te_ptr + 1, first_te_ptr, (i - f) * sizeof(TocEntry *));
-	}
-	ready_list->first_te++;
-}
-
-/* Sort the ready_list into the desired order */
-static void
-ready_list_sort(ParallelReadyList *ready_list)
-{
-	if (!ready_list->sorted)
-	{
-		int			n = ready_list->last_te - ready_list->first_te + 1;
-
-		if (n > 1)
-			qsort(ready_list->tes + ready_list->first_te, n,
-				  sizeof(TocEntry *),
-				  TocEntrySizeCompare);
-		ready_list->sorted = true;
-	}
-}
-
 /* qsort comparator for sorting TocEntries by dataLength */
 static int
-TocEntrySizeCompare(const void *p1, const void *p2)
+TocEntrySizeCompareQsort(const void *p1, const void *p2)
 {
 	const TocEntry *te1 = *(const TocEntry *const *) p1;
 	const TocEntry *te2 = *(const TocEntry *const *) p2;
@@ -4318,17 +4228,25 @@ TocEntrySizeCompare(const void *p1, const void *p2)
 	return 0;
 }
 
+/* binaryheap comparator for sorting TocEntries by dataLength */
+static int
+TocEntrySizeCompareBinaryheap(void *p1, void *p2, void *arg)
+{
+	/* return opposite of qsort comparator for max-heap */
+	return -TocEntrySizeCompareQsort(&p1, &p2);
+}
+
 
 /*
- * Move all immediately-ready items from pending_list to ready_list.
+ * Move all immediately-ready items from pending_list to ready_heap.
  *
  * Items are considered ready if they have no remaining dependencies and
  * they belong in the current restore pass.  (See also reduce_dependencies,
  * which applies the same logic one-at-a-time.)
  */
 static void
-move_to_ready_list(TocEntry *pending_list,
-				   ParallelReadyList *ready_list,
+move_to_ready_heap(TocEntry *pending_list,
+				   binaryheap *ready_heap,
 				   RestorePass pass)
 {
 	TocEntry   *te;
@@ -4344,38 +4262,38 @@ move_to_ready_list(TocEntry *pending_list,
 		{
 			/* Remove it from pending_list ... */
 			pending_list_remove(te);
-			/* ... and add to ready_list */
-			ready_list_insert(ready_list, te);
+			/* ... and add to ready_heap */
+			binaryheap_add(ready_heap, te);
 		}
 	}
 }
 
 /*
  * Find the next work item (if any) that is capable of being run now,
- * and remove it from the ready_list.
+ * and remove it from the ready_heap.
  *
  * Returns the item, or NULL if nothing is runnable.
  *
  * To qualify, the item must have no remaining dependencies
  * and no requirements for locks that are incompatible with
- * items currently running.  Items in the ready_list are known to have
+ * items currently running.  Items in the ready_heap are known to have
  * no remaining dependencies, but we have to check for lock conflicts.
  */
 static TocEntry *
-pop_next_work_item(ParallelReadyList *ready_list,
+pop_next_work_item(binaryheap *ready_heap,
 				   ParallelState *pstate)
 {
 	/*
-	 * Sort the ready_list so that we'll tackle larger jobs first.
-	 */
-	ready_list_sort(ready_list);
-
-	/*
-	 * Search the ready_list until we find a suitable item.
+	 * Search the ready_heap until we find a suitable item.  Note that we do a
+	 * sequential scan through the heap nodes, so even though we will first
+	 * try to choose the highest-priority item, we might end up picking
+	 * something with a much lower priority.  However, it is expected that we
+	 * will typically be able to pick one of the first few items, which should
+	 * usually have a relatively high priority.
 	 */
-	for (int i = ready_list->first_te; i <= ready_list->last_te; i++)
+	for (int i = 0; i < binaryheap_size(ready_heap); i++)
 	{
-		TocEntry   *te = ready_list->tes[i];
+		TocEntry   *te = (TocEntry *) binaryheap_get_node(ready_heap, i);
 		bool		conflicts = false;
 
 		/*
@@ -4401,7 +4319,7 @@ pop_next_work_item(ParallelReadyList *ready_list,
 			continue;
 
 		/* passed all tests, so this item can run */
-		ready_list_remove(ready_list, i);
+		binaryheap_remove_node(ready_heap, i);
 		return te;
 	}
 
@@ -4447,7 +4365,7 @@ mark_restore_job_done(ArchiveHandle *AH,
 					  int status,
 					  void *callback_data)
 {
-	ParallelReadyList *ready_list = (ParallelReadyList *) callback_data;
+	binaryheap *ready_heap = (binaryheap *) callback_data;
 
 	pg_log_info("finished item %d %s %s",
 				te->dumpId, te->desc, te->tag);
@@ -4465,7 +4383,7 @@ mark_restore_job_done(ArchiveHandle *AH,
 		pg_fatal("worker process failed: exit code %d",
 				 status);
 
-	reduce_dependencies(AH, te, ready_list);
+	reduce_dependencies(AH, te, ready_heap);
 }
 
 
@@ -4708,11 +4626,11 @@ identify_locking_dependencies(ArchiveHandle *AH, TocEntry *te)
 /*
  * Remove the specified TOC entry from the depCounts of items that depend on
  * it, thereby possibly making them ready-to-run.  Any pending item that
- * becomes ready should be moved to the ready_list, if that's provided.
+ * becomes ready should be moved to the ready_heap, if that's provided.
  */
 static void
 reduce_dependencies(ArchiveHandle *AH, TocEntry *te,
-					ParallelReadyList *ready_list)
+					binaryheap *ready_heap)
 {
 	int			i;
 
@@ -4730,18 +4648,18 @@ reduce_dependencies(ArchiveHandle *AH, TocEntry *te,
 		 * the current restore pass, and it is currently a member of the
 		 * pending list (that check is needed to prevent double restore in
 		 * some cases where a list-file forces out-of-order restoring).
-		 * However, if ready_list == NULL then caller doesn't want any list
+		 * However, if ready_heap == NULL then caller doesn't want any list
 		 * memberships changed.
 		 */
 		if (otherte->depCount == 0 &&
 			_tocEntryRestorePass(otherte) == AH->restorePass &&
 			otherte->pending_prev != NULL &&
-			ready_list != NULL)
+			ready_heap != NULL)
 		{
 			/* Remove it from pending list ... */
 			pending_list_remove(otherte);
-			/* ... and add to ready_list */
-			ready_list_insert(ready_list, otherte);
+			/* ... and add to ready_heap */
+			binaryheap_add(ready_heap, otherte);
 		}
 	}
 }
-- 
2.25.1


--y0ulUmNC+osPPQO6
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v10-0004-Remove-open-coded-binary-heap-in-pg_dump_sort.c.patch"



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

* [PATCH v1 1/1] remove check hooks for GUCs that contribute to MaxBackends
@ 2024-06-19 18:39 Nathan Bossart <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Nathan Bossart @ 2024-06-19 18:39 UTC (permalink / raw)

---
 src/backend/utils/init/postinit.c   | 57 ++++-------------------------
 src/backend/utils/misc/guc_tables.c |  8 ++--
 src/include/utils/guc_hooks.h       |  6 ---
 3 files changed, 11 insertions(+), 60 deletions(-)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 0805398e24..8a629982c4 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -580,57 +580,14 @@ InitializeMaxBackends(void)
 	MaxBackends = MaxConnections + autovacuum_max_workers + 1 +
 		max_worker_processes + max_wal_senders;
 
-	/* internal error because the values were all checked previously */
 	if (MaxBackends > MAX_BACKENDS)
-		elog(ERROR, "too many backends configured");
-}
-
-/*
- * GUC check_hook for max_connections
- */
-bool
-check_max_connections(int *newval, void **extra, GucSource source)
-{
-	if (*newval + autovacuum_max_workers + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for autovacuum_max_workers
- */
-bool
-check_autovacuum_max_workers(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + *newval + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_worker_processes
- */
-bool
-check_max_worker_processes(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		*newval + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_wal_senders
- */
-bool
-check_max_wal_senders(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		max_worker_processes + *newval > MAX_BACKENDS)
-		return false;
-	return true;
+		ereport(ERROR,
+				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+				 errmsg("too many backends configured"),
+				 errdetail("\"max_connections\" (%d) plus \"autovacuum_max_workers\" (%d) plus \"max_worker_processes\" (%d) plus \"max_wal_senders\" (%d) must be less than %d.",
+						   MaxConnections, autovacuum_max_workers,
+						   max_worker_processes, max_wal_senders,
+						   MAX_BACKENDS - 1)));
 }
 
 /*
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 46c258be28..07b575894d 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -2207,7 +2207,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&MaxConnections,
 		100, 1, MAX_BACKENDS,
-		check_max_connections, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -2923,7 +2923,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_wal_senders,
 		10, 0, MAX_BACKENDS,
-		check_max_wal_senders, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3153,7 +3153,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_worker_processes,
 		8, 0, MAX_BACKENDS,
-		check_max_worker_processes, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3387,7 +3387,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&autovacuum_max_workers,
 		3, 1, MAX_BACKENDS,
-		check_autovacuum_max_workers, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
diff --git a/src/include/utils/guc_hooks.h b/src/include/utils/guc_hooks.h
index d64dc5fcdb..6304f0679b 100644
--- a/src/include/utils/guc_hooks.h
+++ b/src/include/utils/guc_hooks.h
@@ -29,8 +29,6 @@ extern bool check_application_name(char **newval, void **extra,
 								   GucSource source);
 extern void assign_application_name(const char *newval, void *extra);
 extern const char *show_archive_command(void);
-extern bool check_autovacuum_max_workers(int *newval, void **extra,
-										 GucSource source);
 extern bool check_autovacuum_work_mem(int *newval, void **extra,
 									  GucSource source);
 extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
@@ -84,13 +82,9 @@ extern const char *show_log_timezone(void);
 extern bool check_maintenance_io_concurrency(int *newval, void **extra,
 											 GucSource source);
 extern void assign_maintenance_io_concurrency(int newval, void *extra);
-extern bool check_max_connections(int *newval, void **extra, GucSource source);
-extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
 extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
 										 GucSource source);
 extern void assign_max_wal_size(int newval, void *extra);
-extern bool check_max_worker_processes(int *newval, void **extra,
-									   GucSource source);
 extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
 extern void assign_max_stack_depth(int newval, void *extra);
 extern bool check_multixact_member_buffers(int *newval, void **extra,
-- 
2.39.3 (Apple Git-146)


--4rSPnp6/pm7uSOZW--





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

* [PATCH v5 2/3] remove check hooks for GUCs that contribute to MaxBackends
@ 2024-06-19 18:39 Nathan Bossart <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Nathan Bossart @ 2024-06-19 18:39 UTC (permalink / raw)

---
 src/backend/utils/init/postinit.c   | 57 ++++-------------------------
 src/backend/utils/misc/guc_tables.c |  8 ++--
 src/include/utils/guc_hooks.h       |  6 ---
 3 files changed, 11 insertions(+), 60 deletions(-)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 0805398e24..8a629982c4 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -580,57 +580,14 @@ InitializeMaxBackends(void)
 	MaxBackends = MaxConnections + autovacuum_max_workers + 1 +
 		max_worker_processes + max_wal_senders;
 
-	/* internal error because the values were all checked previously */
 	if (MaxBackends > MAX_BACKENDS)
-		elog(ERROR, "too many backends configured");
-}
-
-/*
- * GUC check_hook for max_connections
- */
-bool
-check_max_connections(int *newval, void **extra, GucSource source)
-{
-	if (*newval + autovacuum_max_workers + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for autovacuum_max_workers
- */
-bool
-check_autovacuum_max_workers(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + *newval + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_worker_processes
- */
-bool
-check_max_worker_processes(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		*newval + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_wal_senders
- */
-bool
-check_max_wal_senders(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		max_worker_processes + *newval > MAX_BACKENDS)
-		return false;
-	return true;
+		ereport(ERROR,
+				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+				 errmsg("too many backends configured"),
+				 errdetail("\"max_connections\" (%d) plus \"autovacuum_max_workers\" (%d) plus \"max_worker_processes\" (%d) plus \"max_wal_senders\" (%d) must be less than %d.",
+						   MaxConnections, autovacuum_max_workers,
+						   max_worker_processes, max_wal_senders,
+						   MAX_BACKENDS - 1)));
 }
 
 /*
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 80e77cbac9..57df7767ad 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -2208,7 +2208,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&MaxConnections,
 		100, 1, MAX_BACKENDS,
-		check_max_connections, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -2935,7 +2935,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_wal_senders,
 		10, 0, MAX_BACKENDS,
-		check_max_wal_senders, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3165,7 +3165,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_worker_processes,
 		8, 0, MAX_BACKENDS,
-		check_max_worker_processes, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3399,7 +3399,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&autovacuum_max_workers,
 		3, 1, MAX_BACKENDS,
-		check_autovacuum_max_workers, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
diff --git a/src/include/utils/guc_hooks.h b/src/include/utils/guc_hooks.h
index d64dc5fcdb..6304f0679b 100644
--- a/src/include/utils/guc_hooks.h
+++ b/src/include/utils/guc_hooks.h
@@ -29,8 +29,6 @@ extern bool check_application_name(char **newval, void **extra,
 								   GucSource source);
 extern void assign_application_name(const char *newval, void *extra);
 extern const char *show_archive_command(void);
-extern bool check_autovacuum_max_workers(int *newval, void **extra,
-										 GucSource source);
 extern bool check_autovacuum_work_mem(int *newval, void **extra,
 									  GucSource source);
 extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
@@ -84,13 +82,9 @@ extern const char *show_log_timezone(void);
 extern bool check_maintenance_io_concurrency(int *newval, void **extra,
 											 GucSource source);
 extern void assign_maintenance_io_concurrency(int newval, void *extra);
-extern bool check_max_connections(int *newval, void **extra, GucSource source);
-extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
 extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
 										 GucSource source);
 extern void assign_max_wal_size(int newval, void *extra);
-extern bool check_max_worker_processes(int *newval, void **extra,
-									   GucSource source);
 extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
 extern void assign_max_stack_depth(int newval, void *extra);
 extern bool check_multixact_member_buffers(int *newval, void **extra,
-- 
2.39.3 (Apple Git-146)


--wPBE4Nn73k3cOM/e
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment;
	filename="v5-0003-allow-changing-autovacuum_max_workers-without-res.patch"



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

* [PATCH v1 1/1] remove check hooks for GUCs that contribute to MaxBackends
@ 2024-06-19 18:39 Nathan Bossart <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Nathan Bossart @ 2024-06-19 18:39 UTC (permalink / raw)

---
 src/backend/utils/init/postinit.c   | 57 ++++-------------------------
 src/backend/utils/misc/guc_tables.c |  8 ++--
 src/include/utils/guc_hooks.h       |  6 ---
 3 files changed, 11 insertions(+), 60 deletions(-)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 0805398e24..8a629982c4 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -580,57 +580,14 @@ InitializeMaxBackends(void)
 	MaxBackends = MaxConnections + autovacuum_max_workers + 1 +
 		max_worker_processes + max_wal_senders;
 
-	/* internal error because the values were all checked previously */
 	if (MaxBackends > MAX_BACKENDS)
-		elog(ERROR, "too many backends configured");
-}
-
-/*
- * GUC check_hook for max_connections
- */
-bool
-check_max_connections(int *newval, void **extra, GucSource source)
-{
-	if (*newval + autovacuum_max_workers + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for autovacuum_max_workers
- */
-bool
-check_autovacuum_max_workers(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + *newval + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_worker_processes
- */
-bool
-check_max_worker_processes(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		*newval + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_wal_senders
- */
-bool
-check_max_wal_senders(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		max_worker_processes + *newval > MAX_BACKENDS)
-		return false;
-	return true;
+		ereport(ERROR,
+				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+				 errmsg("too many backends configured"),
+				 errdetail("\"max_connections\" (%d) plus \"autovacuum_max_workers\" (%d) plus \"max_worker_processes\" (%d) plus \"max_wal_senders\" (%d) must be less than %d.",
+						   MaxConnections, autovacuum_max_workers,
+						   max_worker_processes, max_wal_senders,
+						   MAX_BACKENDS - 1)));
 }
 
 /*
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 46c258be28..07b575894d 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -2207,7 +2207,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&MaxConnections,
 		100, 1, MAX_BACKENDS,
-		check_max_connections, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -2923,7 +2923,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_wal_senders,
 		10, 0, MAX_BACKENDS,
-		check_max_wal_senders, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3153,7 +3153,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_worker_processes,
 		8, 0, MAX_BACKENDS,
-		check_max_worker_processes, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3387,7 +3387,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&autovacuum_max_workers,
 		3, 1, MAX_BACKENDS,
-		check_autovacuum_max_workers, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
diff --git a/src/include/utils/guc_hooks.h b/src/include/utils/guc_hooks.h
index d64dc5fcdb..6304f0679b 100644
--- a/src/include/utils/guc_hooks.h
+++ b/src/include/utils/guc_hooks.h
@@ -29,8 +29,6 @@ extern bool check_application_name(char **newval, void **extra,
 								   GucSource source);
 extern void assign_application_name(const char *newval, void *extra);
 extern const char *show_archive_command(void);
-extern bool check_autovacuum_max_workers(int *newval, void **extra,
-										 GucSource source);
 extern bool check_autovacuum_work_mem(int *newval, void **extra,
 									  GucSource source);
 extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
@@ -84,13 +82,9 @@ extern const char *show_log_timezone(void);
 extern bool check_maintenance_io_concurrency(int *newval, void **extra,
 											 GucSource source);
 extern void assign_maintenance_io_concurrency(int newval, void *extra);
-extern bool check_max_connections(int *newval, void **extra, GucSource source);
-extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
 extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
 										 GucSource source);
 extern void assign_max_wal_size(int newval, void *extra);
-extern bool check_max_worker_processes(int *newval, void **extra,
-									   GucSource source);
 extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
 extern void assign_max_stack_depth(int newval, void *extra);
 extern bool check_multixact_member_buffers(int *newval, void **extra,
-- 
2.39.3 (Apple Git-146)


--4rSPnp6/pm7uSOZW--





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

* [PATCH v5 2/3] remove check hooks for GUCs that contribute to MaxBackends
@ 2024-06-19 18:39 Nathan Bossart <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Nathan Bossart @ 2024-06-19 18:39 UTC (permalink / raw)

---
 src/backend/utils/init/postinit.c   | 57 ++++-------------------------
 src/backend/utils/misc/guc_tables.c |  8 ++--
 src/include/utils/guc_hooks.h       |  6 ---
 3 files changed, 11 insertions(+), 60 deletions(-)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 0805398e24..8a629982c4 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -580,57 +580,14 @@ InitializeMaxBackends(void)
 	MaxBackends = MaxConnections + autovacuum_max_workers + 1 +
 		max_worker_processes + max_wal_senders;
 
-	/* internal error because the values were all checked previously */
 	if (MaxBackends > MAX_BACKENDS)
-		elog(ERROR, "too many backends configured");
-}
-
-/*
- * GUC check_hook for max_connections
- */
-bool
-check_max_connections(int *newval, void **extra, GucSource source)
-{
-	if (*newval + autovacuum_max_workers + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for autovacuum_max_workers
- */
-bool
-check_autovacuum_max_workers(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + *newval + 1 +
-		max_worker_processes + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_worker_processes
- */
-bool
-check_max_worker_processes(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		*newval + max_wal_senders > MAX_BACKENDS)
-		return false;
-	return true;
-}
-
-/*
- * GUC check_hook for max_wal_senders
- */
-bool
-check_max_wal_senders(int *newval, void **extra, GucSource source)
-{
-	if (MaxConnections + autovacuum_max_workers + 1 +
-		max_worker_processes + *newval > MAX_BACKENDS)
-		return false;
-	return true;
+		ereport(ERROR,
+				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+				 errmsg("too many backends configured"),
+				 errdetail("\"max_connections\" (%d) plus \"autovacuum_max_workers\" (%d) plus \"max_worker_processes\" (%d) plus \"max_wal_senders\" (%d) must be less than %d.",
+						   MaxConnections, autovacuum_max_workers,
+						   max_worker_processes, max_wal_senders,
+						   MAX_BACKENDS - 1)));
 }
 
 /*
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 80e77cbac9..57df7767ad 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -2208,7 +2208,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&MaxConnections,
 		100, 1, MAX_BACKENDS,
-		check_max_connections, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -2935,7 +2935,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_wal_senders,
 		10, 0, MAX_BACKENDS,
-		check_max_wal_senders, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3165,7 +3165,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&max_worker_processes,
 		8, 0, MAX_BACKENDS,
-		check_max_worker_processes, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
@@ -3399,7 +3399,7 @@ struct config_int ConfigureNamesInt[] =
 		},
 		&autovacuum_max_workers,
 		3, 1, MAX_BACKENDS,
-		check_autovacuum_max_workers, NULL, NULL
+		NULL, NULL, NULL
 	},
 
 	{
diff --git a/src/include/utils/guc_hooks.h b/src/include/utils/guc_hooks.h
index d64dc5fcdb..6304f0679b 100644
--- a/src/include/utils/guc_hooks.h
+++ b/src/include/utils/guc_hooks.h
@@ -29,8 +29,6 @@ extern bool check_application_name(char **newval, void **extra,
 								   GucSource source);
 extern void assign_application_name(const char *newval, void *extra);
 extern const char *show_archive_command(void);
-extern bool check_autovacuum_max_workers(int *newval, void **extra,
-										 GucSource source);
 extern bool check_autovacuum_work_mem(int *newval, void **extra,
 									  GucSource source);
 extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
@@ -84,13 +82,9 @@ extern const char *show_log_timezone(void);
 extern bool check_maintenance_io_concurrency(int *newval, void **extra,
 											 GucSource source);
 extern void assign_maintenance_io_concurrency(int newval, void *extra);
-extern bool check_max_connections(int *newval, void **extra, GucSource source);
-extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
 extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
 										 GucSource source);
 extern void assign_max_wal_size(int newval, void *extra);
-extern bool check_max_worker_processes(int *newval, void **extra,
-									   GucSource source);
 extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
 extern void assign_max_stack_depth(int newval, void *extra);
 extern bool check_multixact_member_buffers(int *newval, void **extra,
-- 
2.39.3 (Apple Git-146)


--wPBE4Nn73k3cOM/e
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment;
	filename="v5-0003-allow-changing-autovacuum_max_workers-without-res.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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

* [PATCH 3/4] Add missing period to HINT message
@ 2026-05-28 02:53 Kyotaro Horiguchi <[email protected]>
  0 siblings, 0 replies; 62+ messages in thread

From: Kyotaro Horiguchi @ 2026-05-28 02:53 UTC (permalink / raw)

Add a trailing period to a HINT message.
---
 src/backend/libpq/be-secure-openssl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index f2738c351f9..e81d2eab3fd 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -364,7 +364,7 @@ be_tls_init(bool isServerStart)
 				errcode(ERRCODE_CONFIG_FILE_ERROR),
 				errmsg("no SSL configurations loaded"),
 		/*- translator: The two %s contain filenames */
-				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\"",
+				errhint("If ssl_sni is enabled then add configuration to \"%s\", else \"%s\".",
 						"pg_hosts.conf", "postgresql.conf"));
 		goto error;
 	}
-- 
2.47.3


----Next_Part(Thu_May_28_12_16_22_2026_214)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-Use-singular-datachecksum-consistently-in-process-na.patch"



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


end of thread, other threads:[~2026-05-28 02:53 UTC | newest]

Thread overview: 62+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2020-03-08 22:27 [PATCH 4/4] Support clauses of the form Var op Var Tomas Vondra <[email protected]>
2023-07-20 17:19 [PATCH v10 3/4] Convert pg_restore's ready_list to a priority queue. Nathan Bossart <[email protected]>
2024-06-19 18:39 [PATCH v1 1/1] remove check hooks for GUCs that contribute to MaxBackends Nathan Bossart <[email protected]>
2024-06-19 18:39 [PATCH v5 2/3] remove check hooks for GUCs that contribute to MaxBackends Nathan Bossart <[email protected]>
2024-06-19 18:39 [PATCH v1 1/1] remove check hooks for GUCs that contribute to MaxBackends Nathan Bossart <[email protected]>
2024-06-19 18:39 [PATCH v5 2/3] remove check hooks for GUCs that contribute to MaxBackends Nathan Bossart <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[email protected]>
2026-05-28 02:53 [PATCH 3/4] Add missing period to HINT message Kyotaro Horiguchi <[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