Some more accumulated/new typos.
>From 6c79a0d4e0251dbbac38babb60bb2d0fbae3da8d Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Wed, 11 Jan 2023 12:52:25 -0600
Subject: [PATCH 01/10] use "an SQL" rather than a SQL
Per 04539e
---
doc/src/sgml/ecpg.sgml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index a76cf3538f1..f52165165dc 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -1506,7 +1506,7 @@ EXEC SQL TYPE serial_t IS long;
</para>
<para>
- Any word you declare as a typedef cannot be used as a SQL keyword
+ Any word you declare as a typedef cannot be used as an SQL keyword
in <literal>EXEC SQL</literal> commands later in the same program.
For example, this won't work:
<programlisting>
@@ -1518,7 +1518,7 @@ EXEC SQL START TRANSACTION;
</programlisting>
ECPG will report a syntax error for <literal>START
TRANSACTION</literal>, because it no longer
- recognizes <literal>START</literal> as a SQL keyword,
+ recognizes <literal>START</literal> as an SQL keyword,
only as a typedef.
(If you have such a conflict, and renaming the typedef
seems impractical, you could write the SQL command
@@ -1530,7 +1530,7 @@ EXEC SQL START TRANSACTION;
In <productname>PostgreSQL</productname> releases before v16, use
of SQL keywords as typedef names was likely to result in syntax
errors associated with use of the typedef itself, rather than use
- of the name as a SQL keyword. The new behavior is less likely to
+ of the name as an SQL keyword. The new behavior is less likely to
cause problems when an existing ECPG application is recompiled in
a new <productname>PostgreSQL</productname> release with new
keywords.
--
2.25.1
>From fef49b822bad849722ec9b043ffd676c80492d0d Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Sun, 15 Jan 2023 17:00:06 -0600
Subject: [PATCH 02/10] comment typos
---
src/backend/commands/dbcommands.c | 2 +-
src/backend/executor/execMain.c | 2 +-
src/backend/jit/llvm/llvmjit_inline.cpp | 2 +-
src/backend/replication/logical/snapbuild.c | 2 +-
src/backend/replication/walsender.c | 6 +++---
src/bin/pg_dump/pg_backup_custom.c | 2 +-
src/bin/pg_dump/pg_dumpall.c | 2 +-
src/include/lib/ilist.h | 2 +-
src/test/regress/expected/alter_table.out | 2 +-
src/test/regress/expected/create_procedure.out | 2 +-
src/test/regress/sql/alter_table.sql | 2 +-
src/test/regress/sql/create_procedure.sql | 2 +-
src/test/subscription/t/031_column_list.pl | 2 +-
13 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index 1f4ce2fb9cf..ef05633bb05 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -3090,7 +3090,7 @@ dbase_redo(XLogReaderState *record)
/*
* There's a case where the copy source directory is missing for the
- * same reason above. Create the emtpy source directory so that
+ * same reason above. Create the empty source directory so that
* copydir below doesn't fail. The directory will be dropped soon by
* recovery.
*/
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index a5115b9c1f7..39bfb48dc22 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -134,7 +134,7 @@ ExecutorStart(QueryDesc *queryDesc, int eflags)
/*
* In some cases (e.g. an EXECUTE statement) a query execution will skip
* parse analysis, which means that the query_id won't be reported. Note
- * that it's harmless to report the query_id multiple time, as the call
+ * that it's harmless to report the query_id multiple times, as the call
* will be ignored if the top level query_id has already been reported.
*/
pgstat_report_query_id(queryDesc->plannedstmt->queryId, false);
diff --git a/src/backend/jit/llvm/llvmjit_inline.cpp b/src/backend/jit/llvm/llvmjit_inline.cpp
index dc35e002f51..c765add8564 100644
--- a/src/backend/jit/llvm/llvmjit_inline.cpp
+++ b/src/backend/jit/llvm/llvmjit_inline.cpp
@@ -753,7 +753,7 @@ function_inlinable(llvm::Function &F,
/* import referenced function itself */
importVars.insert(referencedFunction->getName());
- /* import referenced function and its dependants */
+ /* import referenced function and its dependents */
for (auto& recImportVar : recImportVars)
importVars.insert(recImportVar.first());
}
diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c
index 829c5681120..62542827e4b 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -1816,7 +1816,7 @@ SnapBuildSerialize(SnapBuild *builder, XLogRecPtr lsn)
fsync_fname("pg_logical/snapshots", true);
/*
- * Now there's no way we can loose the dumped state anymore, remember this
+ * Now there's no way we can lose the dumped state anymore, remember this
* as a serialization point.
*/
builder->last_serialized_snapshot = lsn;
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index 4ed3747e3f9..75e8363e248 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -2050,9 +2050,9 @@ PhysicalConfirmReceivedLocation(XLogRecPtr lsn)
/*
* One could argue that the slot should be saved to disk now, but that'd
- * be energy wasted - the worst lost information can do here is give us
- * wrong information in a statistics view - we'll just potentially be more
- * conservative in removing files.
+ * be energy wasted - the worst thing lost information could cause here is
+ * to give wrong information in a statistics view - we'll just potentially
+ * be more conservative in removing files.
*/
}
diff --git a/src/bin/pg_dump/pg_backup_custom.c b/src/bin/pg_dump/pg_backup_custom.c
index d1e54644a94..7529367a7b9 100644
--- a/src/bin/pg_dump/pg_backup_custom.c
+++ b/src/bin/pg_dump/pg_backup_custom.c
@@ -99,7 +99,7 @@ static size_t _CustomReadFunc(ArchiveHandle *AH, char **buf, size_t *buflen);
* It's task is to create any extra archive context (using AH->formatData),
* and to initialize the supported function pointers.
*
- * It should also prepare whatever it's input source is for reading/writing,
+ * It should also prepare whatever its input source is for reading/writing,
* and in the case of a read mode connection, it should load the Header & TOC.
*/
void
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index fbd1c6fc85b..cd421c59443 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -995,7 +995,7 @@ dumpRoleMembership(PGconn *conn)
fprintf(OPF, "--\n-- Role memberships\n--\n\n");
/*
- * We can't dump these GRANT commands in arbitary order, because a role
+ * We can't dump these GRANT commands in arbitrary order, because a role
* that is named as a grantor must already have ADMIN OPTION on the
* role for which it is granting permissions, except for the boostrap
* superuser, who can always be named as the grantor.
diff --git a/src/include/lib/ilist.h b/src/include/lib/ilist.h
index e03aa1c683b..095107a99c4 100644
--- a/src/include/lib/ilist.h
+++ b/src/include/lib/ilist.h
@@ -39,7 +39,7 @@
* operations that can be done without branches (and thus faster) on lists
* that use circular representation. However, it is often convenient to
* initialize list headers to zeroes rather than setting them up with an
- * explicit initialization function, so we also allow the NULL initalization.
+ * explicit initialization function, so we also allow the NULL initialization.
*
* EXAMPLES
*
diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out
index 9e5f6c1a804..97bfc3475b6 100644
--- a/src/test/regress/expected/alter_table.out
+++ b/src/test/regress/expected/alter_table.out
@@ -2566,7 +2566,7 @@ select * from at_view_2;
drop view at_view_2;
drop view at_view_1;
drop table at_base_table;
--- check adding a column not iself requiring a rewrite, together with
+-- check adding a column not itself requiring a rewrite, together with
-- a column requiring a default (bug #16038)
-- ensure that rewrites aren't silently optimized away, removing the
-- value of the test
diff --git a/src/test/regress/expected/create_procedure.out b/src/test/regress/expected/create_procedure.out
index 46c827f9791..f2a677fa552 100644
--- a/src/test/regress/expected/create_procedure.out
+++ b/src/test/regress/expected/create_procedure.out
@@ -100,7 +100,7 @@ SELECT * FROM cp_test ORDER BY b COLLATE "C";
1 | xyzzy
(4 rows)
--- utitlity functions currently not supported here
+-- utility functions currently not supported here
CREATE PROCEDURE ptestx()
LANGUAGE SQL
BEGIN ATOMIC
diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql
index f58b2f75d5b..b5d57a771ae 100644
--- a/src/test/regress/sql/alter_table.sql
+++ b/src/test/regress/sql/alter_table.sql
@@ -1635,7 +1635,7 @@ drop view at_view_2;
drop view at_view_1;
drop table at_base_table;
--- check adding a column not iself requiring a rewrite, together with
+-- check adding a column not itself requiring a rewrite, together with
-- a column requiring a default (bug #16038)
-- ensure that rewrites aren't silently optimized away, removing the
diff --git a/src/test/regress/sql/create_procedure.sql b/src/test/regress/sql/create_procedure.sql
index 75cc0fcf2a6..35b872779ef 100644
--- a/src/test/regress/sql/create_procedure.sql
+++ b/src/test/regress/sql/create_procedure.sql
@@ -42,7 +42,7 @@ CALL ptest1s('b');
SELECT * FROM cp_test ORDER BY b COLLATE "C";
--- utitlity functions currently not supported here
+-- utility functions currently not supported here
CREATE PROCEDURE ptestx()
LANGUAGE SQL
BEGIN ATOMIC
diff --git a/src/test/subscription/t/031_column_list.pl b/src/test/subscription/t/031_column_list.pl
index 7c313e26eea..fd77757352a 100644
--- a/src/test/subscription/t/031_column_list.pl
+++ b/src/test/subscription/t/031_column_list.pl
@@ -1034,7 +1034,7 @@ is( $node_subscriber->safe_psql('postgres', "SELECT * FROM s1.t ORDER BY a"),
4|5|6),
'two publications, publishing the same relation');
-# Now resync the subcription, but with publications in the opposite order.
+# Now resync the subscription, but with publications in the opposite order.
# The result should be the same.
$node_subscriber->safe_psql(
--
2.25.1
>From 226d9e218b2bfb6e7421dd50e53cfec4c7857ef4 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Sat, 28 Jan 2023 12:48:13 -0600
Subject: [PATCH 03/10] Avoid hardcoded reference (only) to .gz
This should've been updated at:
dab298471ff2f91f33bc25bfb73e435d3ab02148
751b8d23b788580bbff7463e3959f9a92a95b28a
Ideally it doesn't reference any specific compression algorithm at all.
---
src/bin/pg_basebackup/pg_basebackup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index 1d3ef2c694e..414771ec87c 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -2015,8 +2015,8 @@ BaseBackup(char *compression_algorithm, char *compression_detail,
* If we write the data out to a tar file, it will be named
* base.tar if it's the main data directory or <tablespaceoid>.tar
* if it's for another tablespace. CreateBackupStreamer() will
- * arrange to add .gz to the archive name if pg_basebackup is
- * performing compression.
+ * arrange to add an extension to the archive name if pg_basebackup
+ * is performing compression.
*/
if (PQgetisnull(res, i, 0))
{
--
2.25.1
>From b8296980b51629418336ba1c0a4ae3a57b73d8f9 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Tue, 17 Jan 2023 22:28:42 -0600
Subject: [PATCH 04/10] duplicate words
---
contrib/postgres_fdw/deparse.c | 2 +-
doc/src/sgml/ref/create_database.sgml | 2 +-
doc/src/sgml/ref/create_schema.sgml | 2 +-
src/include/partitioning/partdesc.h | 2 +-
src/include/port/simd.h | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/contrib/postgres_fdw/deparse.c b/contrib/postgres_fdw/deparse.c
index 8a847deb13b..09d6dd60ddc 100644
--- a/contrib/postgres_fdw/deparse.c
+++ b/contrib/postgres_fdw/deparse.c
@@ -2412,7 +2412,7 @@ deparseAnalyzeInfoSql(StringInfo buf, Relation rel)
*
* We could also do "ORDER BY random() LIMIT x", which would always pick
* the expected number of rows, but it requires sorting so it may be much
- * more expensive (particularly on large tables, which is what what the
+ * more expensive (particularly on large tables, which is what the
* remote sampling is meant to improve).
*/
void
diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml
index f3df2def864..91c39c52303 100644
--- a/doc/src/sgml/ref/create_database.sgml
+++ b/doc/src/sgml/ref/create_database.sgml
@@ -89,7 +89,7 @@ CREATE DATABASE <replaceable class="parameter">name</replaceable>
The role name of the user who will own the new database,
or <literal>DEFAULT</literal> to use the default (namely, the
user executing the command). To create a database owned by another
- role, you must must be able to <literal>SET ROLE</literal> to that
+ role, you must be able to <literal>SET ROLE</literal> to that
role.
</para>
</listitem>
diff --git a/doc/src/sgml/ref/create_schema.sgml b/doc/src/sgml/ref/create_schema.sgml
index 04b0c28731e..ed69298ccc6 100644
--- a/doc/src/sgml/ref/create_schema.sgml
+++ b/doc/src/sgml/ref/create_schema.sgml
@@ -89,7 +89,7 @@ CREATE SCHEMA IF NOT EXISTS AUTHORIZATION <replaceable class="parameter">role_sp
<para>
The role name of the user who will own the new schema. If omitted,
defaults to the user executing the command. To create a schema
- owned by another role, you must must be able to
+ owned by another role, you must be able to
<literal>SET ROLE</literal> to that role.
</para>
</listitem>
diff --git a/src/include/partitioning/partdesc.h b/src/include/partitioning/partdesc.h
index 7d71fb6e931..e157eae9c1e 100644
--- a/src/include/partitioning/partdesc.h
+++ b/src/include/partitioning/partdesc.h
@@ -31,7 +31,7 @@ typedef struct PartitionDescData
int nparts; /* Number of partitions */
bool detached_exist; /* Are there any detached partitions? */
Oid *oids; /* Array of 'nparts' elements containing
- * partition OIDs in order of the their bounds */
+ * partition OIDs in order of their bounds */
bool *is_leaf; /* Array of 'nparts' elements storing whether
* the corresponding 'oids' element belongs to
* a leaf partition or not */
diff --git a/src/include/port/simd.h b/src/include/port/simd.h
index c836360d4b7..1fa6c3bc6c4 100644
--- a/src/include/port/simd.h
+++ b/src/include/port/simd.h
@@ -345,7 +345,7 @@ vector8_ssub(const Vector8 v1, const Vector8 v2)
#endif /* ! USE_NO_SIMD */
/*
- * Return a vector with all bits set in each lane where the the corresponding
+ * Return a vector with all bits set in each lane where the corresponding
* lanes in the inputs are equal.
*/
#ifndef USE_NO_SIMD
--
2.25.1
>From fe2c8749fd0ca92a433e5beca00014266074ff4d Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Thu, 12 Jan 2023 21:23:09 -0600
Subject: [PATCH 05/10] WIP: avoid whitespace preceding/following 'else'
---
contrib/dblink/dblink.c | 1 -
contrib/spi/refint.c | 1 -
src/backend/commands/functioncmds.c | 1 -
src/backend/commands/tablecmds.c | 1 -
src/backend/executor/nodeTidrangescan.c | 1 -
src/backend/libpq/be-secure-openssl.c | 1 -
src/backend/optimizer/geqo/geqo_erx.c | 1 -
src/backend/optimizer/geqo/geqo_pmx.c | 1 -
src/backend/optimizer/geqo/geqo_pool.c | 1 -
src/backend/optimizer/util/clauses.c | 1 -
src/backend/replication/logical/origin.c | 1 -
src/backend/replication/logical/snapbuild.c | 1 -
src/backend/rewrite/rowsecurity.c | 1 -
src/backend/utils/adt/formatting.c | 1 -
src/backend/utils/adt/pgstatfuncs.c | 5 -----
.../mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c | 1 -
src/backend/utils/mmgr/mcxt.c | 1 -
src/bin/pg_amcheck/pg_amcheck.c | 3 ---
src/bin/psql/command.c | 4 ----
src/interfaces/libpq/fe-connect.c | 1 -
20 files changed, 29 deletions(-)
diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c
index 78a8bcee6e3..263e35442b3 100644
--- a/contrib/dblink/dblink.c
+++ b/contrib/dblink/dblink.c
@@ -2428,7 +2428,6 @@ get_tuple_of_interest(Relation rel, int *pkattnums, int pknumatts, char **src_pk
ereport(ERROR,
(errcode(ERRCODE_CARDINALITY_VIOLATION),
errmsg("source criteria matched more than one record")));
-
else if (ret == SPI_OK_SELECT && SPI_processed == 1)
{
SPITupleTable *tuptable = SPI_tuptable;
diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c
index 18062eb1cff..31e95663466 100644
--- a/contrib/spi/refint.c
+++ b/contrib/spi/refint.c
@@ -456,7 +456,6 @@ check_foreign_key(PG_FUNCTION_ARGS)
* updates new key values in referenced tables
*/
-
else if (action == 'c')
{
if (is_update == 1)
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index 69f66dfe7da..bfd44d3b2c6 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -1575,7 +1575,6 @@ CreateCast(CreateCastStmt *stmt)
ereport(WARNING,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("cast will be ignored because the source data type is a domain")));
-
else if (targettyptype == TYPTYPE_DOMAIN)
ereport(WARNING,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 1293545947e..debbe8a73ef 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -17002,7 +17002,6 @@ RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid, Oid oldrelid,
}
else if (IsA(stmt, AlterObjectSchemaStmt))
reltype = ((AlterObjectSchemaStmt *) stmt)->objectType;
-
else if (IsA(stmt, AlterTableStmt))
reltype = ((AlterTableStmt *) stmt)->objtype;
else
diff --git a/src/backend/executor/nodeTidrangescan.c b/src/backend/executor/nodeTidrangescan.c
index 2124c55ef53..5f0c9f06879 100644
--- a/src/backend/executor/nodeTidrangescan.c
+++ b/src/backend/executor/nodeTidrangescan.c
@@ -183,7 +183,6 @@ TidRangeEval(TidRangeScanState *node)
if (ItemPointerCompare(&lb, &lowerBound) > 0)
ItemPointerCopy(&lb, &lowerBound);
}
-
else if (tidopexpr->exprtype == TIDEXPR_UPPER_BOUND)
{
ItemPointerData ub;
diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index e3c7c12aa0e..4e721b705d5 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -1630,7 +1630,6 @@ default_openssl_tls_init(SSL_CTX *context, bool isServerStart)
if (ssl_passphrase_command[0] && ssl_passphrase_command_supports_reload)
SSL_CTX_set_default_passwd_cb(context, ssl_external_passwd_cb);
else
-
/*
* If reloading and no external command is configured, override
* OpenSSL's default handling of passphrase-protected files,
diff --git a/src/backend/optimizer/geqo/geqo_erx.c b/src/backend/optimizer/geqo/geqo_erx.c
index 21ad7854118..26b58f43dee 100644
--- a/src/backend/optimizer/geqo/geqo_erx.c
+++ b/src/backend/optimizer/geqo/geqo_erx.c
@@ -212,7 +212,6 @@ gimme_tour(PlannerInfo *root, Edge *edge_table, Gene *new_gene, int num_gene)
if (edge_table[new_gene[i - 1]].unused_edges > 0)
new_gene[i] = gimme_gene(root, edge_table[(int) new_gene[i - 1]], edge_table);
-
else
{ /* cope with fault */
edge_failures++;
diff --git a/src/backend/optimizer/geqo/geqo_pmx.c b/src/backend/optimizer/geqo/geqo_pmx.c
index e44fd0bae5a..dd35d269281 100644
--- a/src/backend/optimizer/geqo/geqo_pmx.c
+++ b/src/backend/optimizer/geqo/geqo_pmx.c
@@ -112,7 +112,6 @@ pmx(PlannerInfo *root, Gene *tour1, Gene *tour2, Gene *offspring, int num_gene)
if (tour1[k] == tour2[k])
found = 1; /* find match in tour2 */
-
else
{
found = 0; /* substitute elements */
diff --git a/src/backend/optimizer/geqo/geqo_pool.c b/src/backend/optimizer/geqo/geqo_pool.c
index e45bd7286b2..584dc020fda 100644
--- a/src/backend/optimizer/geqo/geqo_pool.c
+++ b/src/backend/optimizer/geqo/geqo_pool.c
@@ -218,7 +218,6 @@ spread_chromo(PlannerInfo *root, Chromosome *chromo, Pool *pool)
else if (bot - top <= 1)
index = bot;
-
/*
* these 2 cases move the search indices since a new location has not
* yet been found.
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 76e25118f94..080180e2d0d 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -733,7 +733,6 @@ max_parallel_hazard_walker(Node *node, max_parallel_hazard_context *context)
if (max_parallel_hazard_test(PROPARALLEL_RESTRICTED, context))
return true;
}
-
else if (IsA(node, NextValueExpr))
{
if (max_parallel_hazard_test(PROPARALLEL_UNSAFE, context))
diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c
index 2c04c8707dc..04b084d298e 100644
--- a/src/backend/replication/logical/origin.c
+++ b/src/backend/replication/logical/origin.c
@@ -1133,7 +1133,6 @@ replorigin_session_setup(RepOriginId node, int acquired_by)
/* not our slot */
if (curstate->roident != node)
continue;
-
else if (curstate->acquired_by != 0 && acquired_by == 0)
{
ereport(ERROR,
diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c
index 62542827e4b..e45e0e56756 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -1647,7 +1647,6 @@ SnapBuildSerialize(SnapBuild *builder, XLogRecPtr lsn)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not stat file \"%s\": %m", path)));
-
else if (ret == 0)
{
/*
diff --git a/src/backend/rewrite/rowsecurity.c b/src/backend/rewrite/rowsecurity.c
index 569c1c94679..0666e7ba06a 100644
--- a/src/backend/rewrite/rowsecurity.c
+++ b/src/backend/rewrite/rowsecurity.c
@@ -727,7 +727,6 @@ add_security_quals(int rt_index,
*securityQuals = list_append_unique(*securityQuals, rowsec_expr);
}
else
-
/*
* A permissive policy must exist for rows to be visible at all.
* Therefore, if there were no permissive policies found, return a
diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c
index f3f4db5ef60..7ac400ce092 100644
--- a/src/backend/utils/adt/formatting.c
+++ b/src/backend/utils/adt/formatting.c
@@ -5082,7 +5082,6 @@ NUM_prepare_locale(NUMProc *Np)
*/
if (lconv->decimal_point && *lconv->decimal_point)
Np->decimal = lconv->decimal_point;
-
else
Np->decimal = ".";
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 67374934022..1797416427d 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -814,7 +814,6 @@ pg_stat_get_backend_activity_start(PG_FUNCTION_ARGS)
if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL)
PG_RETURN_NULL();
-
else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
PG_RETURN_NULL();
@@ -840,7 +839,6 @@ pg_stat_get_backend_xact_start(PG_FUNCTION_ARGS)
if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL)
PG_RETURN_NULL();
-
else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
PG_RETURN_NULL();
@@ -862,7 +860,6 @@ pg_stat_get_backend_start(PG_FUNCTION_ARGS)
if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL)
PG_RETURN_NULL();
-
else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
PG_RETURN_NULL();
@@ -886,7 +883,6 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS)
if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL)
PG_RETURN_NULL();
-
else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
PG_RETURN_NULL();
@@ -931,7 +927,6 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS)
if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL)
PG_RETURN_NULL();
-
else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
PG_RETURN_NULL();
diff --git a/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c b/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c
index bae24681668..9d344e9a8e4 100644
--- a/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c
+++ b/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c
@@ -162,7 +162,6 @@ euc_jis_20042shift_jis_2004(const unsigned char *euc, unsigned char *p, int len,
else
*p++ = ten + 0x9e;
}
-
else if (l == 2) /* JIS X 0213 plane 1? */
{
ku = c1 - 0xa0;
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index 0b00802df70..4646ae50277 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -711,7 +711,6 @@ MemoryContextStatsDetail(MemoryContext context, int max_children,
grand_totals.freespace, grand_totals.freechunks,
grand_totals.totalspace - grand_totals.freespace);
else
-
/*
* Use LOG_SERVER_ONLY to prevent the memory contexts from being sent
* to the connected client.
diff --git a/src/bin/pg_amcheck/pg_amcheck.c b/src/bin/pg_amcheck/pg_amcheck.c
index 68f8180c19f..4b770d83a70 100644
--- a/src/bin/pg_amcheck/pg_amcheck.c
+++ b/src/bin/pg_amcheck/pg_amcheck.c
@@ -1017,18 +1017,15 @@ verify_heap_slot_handler(PGresult *res, PGconn *conn, void *context)
PQgetvalue(res, i, 0), /* blkno */
PQgetvalue(res, i, 1), /* offnum */
PQgetvalue(res, i, 2)); /* attnum */
-
else if (!PQgetisnull(res, i, 1))
printf(_("heap table \"%s.%s.%s\", block %s, offset %s:\n"),
rel->datinfo->datname, rel->nspname, rel->relname,
PQgetvalue(res, i, 0), /* blkno */
PQgetvalue(res, i, 1)); /* offnum */
-
else if (!PQgetisnull(res, i, 0))
printf(_("heap table \"%s.%s.%s\", block %s:\n"),
rel->datinfo->datname, rel->nspname, rel->relname,
PQgetvalue(res, i, 0)); /* blkno */
-
else
printf(_("heap table \"%s.%s.%s\":\n"),
rel->datinfo->datname, rel->nspname, rel->relname);
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index b5201edf555..3e0b37a17ca 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1992,7 +1992,6 @@ exec_command_lo(PsqlScanState scan_state, bool active_branch, const char *cmd)
success = do_lo_export(opt1, opt2);
}
}
-
else if (strcmp(cmd + 3, "import") == 0)
{
if (!opt1)
@@ -2006,12 +2005,10 @@ exec_command_lo(PsqlScanState scan_state, bool active_branch, const char *cmd)
success = do_lo_import(opt1, opt2);
}
}
-
else if (strcmp(cmd + 3, "list") == 0)
success = listLargeObjects(false);
else if (strcmp(cmd + 3, "list+") == 0)
success = listLargeObjects(true);
-
else if (strcmp(cmd + 3, "unlink") == 0)
{
if (!opt1)
@@ -2022,7 +2019,6 @@ exec_command_lo(PsqlScanState scan_state, bool active_branch, const char *cmd)
else
success = do_lo_unlink(opt1);
}
-
else
status = PSQL_CMD_UNKNOWN;
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 50b5df3490b..00ba10b01b4 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -7012,7 +7012,6 @@ passwordFromFile(const char *hostname, const char *port, const char *dbname,
if (hostname == NULL || hostname[0] == '\0')
hostname = DefaultHost;
else if (is_unixsock_path(hostname))
-
/*
* We should probably use canonicalize_path(), but then we have to
* bring path.c into libpq, and it doesn't seem worth it.
--
2.25.1
>From 25547eaf0cd16ffcd49894922c3f478a4b005308 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Fri, 20 Jan 2023 17:39:35 -0600
Subject: [PATCH 06/10] doc typo: pg_used_reserved_connections
v16: 6e2775e4d4e47775f0d933e4a93c148024a3bc63
---
doc/src/sgml/config.sgml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index d190be1925d..8c56b134a84 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -718,7 +718,7 @@ include_dir 'conf.d'
<para>
Determines the number of connection <quote>slots</quote> that are
reserved for connections by roles with privileges of the
- <link linkend="predefined-roles-table"><literal>pg_used_reserved_connections</literal></link>
+ <link linkend="predefined-roles-table"><literal>pg_use_reserved_connections</literal></link>
role. Whenever the number of free connection slots is greater than
<xref linkend="guc-superuser-reserved-connections"/> but less than or
equal to the sum of <varname>superuser_reserved_connections</varname>
--
2.25.1
>From 83556cfd8be8c1f0f27cbed3ffd42dfae038ddd3 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Sun, 13 Nov 2022 14:03:27 -0600
Subject: [PATCH 07/10] cirrus/ccache: use G rather than GB suffix..
the former being the documented spelling.
---
.cirrus.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.cirrus.yml b/.cirrus.yml
index f2129787529..10ec7ac406a 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -665,7 +665,7 @@ task:
# Use larger ccache cache, as this task compiles with multiple compilers /
# flag combinations
- CCACHE_MAXSIZE: "1GB"
+ CCACHE_MAXSIZE: "1G"
CCACHE_DIR: "/tmp/ccache_dir"
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
--
2.25.1
>From cc3c1536bd6f6d69d960c2cecc5e32ca814c9a21 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Sun, 26 Sep 2021 11:13:27 -0500
Subject: [PATCH 08/10] comments grammar: extended (and other) stats
See:
[email protected]
070d2e19e40897d857f570f24888fc30727ed9c0
609b0652af00374b89411ea2613fd5bb92bca92c
a4d75c86bf15220df22de0a92c819ecef9db3849
7300a699502fe5432b05fbc75baca534b080bebb
ccaa3569f58796868303629bc2d63ddddb599b38
---
src/backend/commands/statscmds.c | 4 ++--
src/backend/statistics/README | 2 +-
src/backend/statistics/dependencies.c | 8 ++++----
src/backend/statistics/extended_stats.c | 4 ++--
src/backend/utils/adt/pgstatfuncs.c | 4 ++--
src/backend/utils/adt/ruleutils.c | 4 ++--
src/include/statistics/extended_stats_internal.h | 2 +-
7 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/backend/commands/statscmds.c b/src/backend/commands/statscmds.c
index 26ebd0819d6..2e41745646b 100644
--- a/src/backend/commands/statscmds.c
+++ b/src/backend/commands/statscmds.c
@@ -377,7 +377,7 @@ CreateStatistics(CreateStatsStmt *stmt)
/*
* If no statistic type was specified, build them all (but only when the
- * statistics is defined on more than one column/expression).
+ * statistics object is defined on more than one column/expression).
*/
if ((!requested_type) && (numcols >= 2))
{
@@ -432,7 +432,7 @@ CreateStatistics(CreateStatsStmt *stmt)
* similar to why we don't bother with extracting columns from
* expressions. It's either expensive or very easy to defeat for
* determined user, and there's no risk if we allow such statistics (the
- * statistics is useless, but harmless).
+ * statistic is useless, but harmless).
*/
foreach(cell, stxexprs)
{
diff --git a/src/backend/statistics/README b/src/backend/statistics/README
index 13a97a35662..b87ca4734b2 100644
--- a/src/backend/statistics/README
+++ b/src/backend/statistics/README
@@ -24,7 +24,7 @@ There are currently several kinds of extended statistics:
Compatible clause types
-----------------------
-Each type of statistics may be used to estimate some subset of clause types.
+Each type of statistic may be used to estimate some subset of clause types.
(a) functional dependencies - equality clauses (AND), possibly IS NULL
diff --git a/src/backend/statistics/dependencies.c b/src/backend/statistics/dependencies.c
index e6e2835345e..a54e038d6a1 100644
--- a/src/backend/statistics/dependencies.c
+++ b/src/backend/statistics/dependencies.c
@@ -846,7 +846,7 @@ dependency_is_compatible_clause(Node *clause, Index relid, AttrNumber *attnum)
AttrNumber clause_attnum;
/*
- * Had we found incompatible clause in the arguments, treat the
+ * If we found an incompatible clause in the arguments, treat the
* whole clause as incompatible.
*/
if (!dependency_is_compatible_clause((Node *) lfirst(lc),
@@ -1274,7 +1274,7 @@ dependency_is_compatible_expression(Node *clause, Index relid, List *statlist, N
Node *or_expr = NULL;
/*
- * Had we found incompatible expression in the arguments, treat
+ * If we found an incompatible expression in the arguments, treat
* the whole expression as incompatible.
*/
if (!dependency_is_compatible_expression((Node *) lfirst(lc), relid,
@@ -1725,7 +1725,7 @@ dependencies_clauselist_selectivity(PlannerInfo *root,
/*
* For expressions, we need to do two translations. First
- * we have to translate the negative attnum to index in
+ * we have to translate the negative attnum to an index in
* the list of expressions (in the statistics object).
* Then we need to see if there's a matching clause. The
* index of the unique expression determines the attnum
@@ -1733,7 +1733,7 @@ dependencies_clauselist_selectivity(PlannerInfo *root,
*/
idx = -(1 + attnum);
- /* Is the expression index is valid? */
+ /* Is the expression index valid? */
Assert((idx >= 0) && (idx < list_length(stat->exprs)));
expr = (Node *) list_nth(stat->exprs, idx);
diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c
index 572d9b44643..e18398cd428 100644
--- a/src/backend/statistics/extended_stats.c
+++ b/src/backend/statistics/extended_stats.c
@@ -1214,8 +1214,8 @@ stat_covers_expressions(StatisticExtInfo *stat, List *exprs,
/*
* choose_best_statistics
- * Look for and return statistics with the specified 'requiredkind' which
- * have keys that match at least two of the given attnums. Return NULL if
+ * Look for and return the statistics object with the specified 'requiredkind' which
+ * has keys that match at least two of the given attnums. Return NULL if
* there's no match.
*
* The current selection criteria is very simple - we choose the statistics
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 1797416427d..268ff16f99c 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -1755,7 +1755,7 @@ pg_stat_get_archiver(PG_FUNCTION_ARGS)
}
/*
- * Get the statistics for the replication slot. If the slot statistics is not
+ * Get the statistics for the replication slot. If the slot statistics are not
* available, return all-zeroes stats.
*/
Datum
@@ -1827,7 +1827,7 @@ pg_stat_get_replication_slot(PG_FUNCTION_ARGS)
/*
* Get the subscription statistics for the given subscription. If the
- * subscription statistics is not available, return all-zeros stats.
+ * subscription statistics are not available, return all-zeros stats.
*/
Datum
pg_stat_get_subscription_stats(PG_FUNCTION_ARGS)
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 9ac42efdbc3..075c4d0ad86 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -1699,8 +1699,8 @@ pg_get_statisticsobj_worker(Oid statextid, bool columns_only, bool missing_ok)
* will create all statistics types on a newer postgres version, if
* the statistics had all options enabled on the original version.
*
- * But if the statistics is defined on just a single column, it has to
- * be an expression statistics. In that case we don't need to specify
+ * But if the statistics are defined on just a single column, it has to
+ * be a statistics expression. In that case we don't need to specify
* kinds.
*/
if ((!ndistinct_enabled || !dependencies_enabled || !mcv_enabled) &&
diff --git a/src/include/statistics/extended_stats_internal.h b/src/include/statistics/extended_stats_internal.h
index 7b55eb8ffac..72f94814704 100644
--- a/src/include/statistics/extended_stats_internal.h
+++ b/src/include/statistics/extended_stats_internal.h
@@ -57,7 +57,7 @@ typedef struct SortItem
int count;
} SortItem;
-/* a unified representation of the data the statistics is built on */
+/* a unified representation of the data the statistics object is built on */
typedef struct StatsBuildData
{
int numrows;
--
2.25.1
>From f2e68b7c2f5dd727815fbe24390996324d692d43 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Sat, 23 Jul 2022 15:10:01 -0500
Subject: [PATCH 09/10] fix whitespace
weird since c91560defc57f89f7e88632ea14ae77b5cec78ee
See also:
https://www.postgresql.org/message-id/cafbsxshtyve1txm+nym5gb1c3ezn_qdpjoosjk_vsc2dxqz...@mail.gmail.com
---
src/backend/commands/indexcmds.c | 2 +-
src/backend/utils/activity/backend_status.c | 2 +-
src/backend/utils/cache/inval.c | 188 ++++++++++----------
src/backend/utils/mmgr/mcxt.c | 4 +-
4 files changed, 98 insertions(+), 98 deletions(-)
diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
index 16ec0b114e6..38e6d9ebe7e 100644
--- a/src/backend/commands/indexcmds.c
+++ b/src/backend/commands/indexcmds.c
@@ -2313,7 +2313,7 @@ GetDefaultOpClass(Oid type_id, Oid am_id)
* extended statistics, etc.
*
* The parameters are typically: the original table name, the original field
- * name, and a "type" string (such as "seq" or "pkey"). The field name
+ * name, and a "type" string (such as "seq" or "pkey"). The field name
* and/or type can be NULL if not relevant.
*
* The result is a palloc'd string.
diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c
index 608d01ea0dd..f6e847ff3b6 100644
--- a/src/backend/utils/activity/backend_status.c
+++ b/src/backend/utils/activity/backend_status.c
@@ -786,7 +786,7 @@ pgstat_read_current_status(void)
* Follow the protocol of retrying if st_changecount changes while we
* copy the entry, or if it's odd. (The check for odd is needed to
* cover the case where we are able to completely copy the entry while
- * the source backend is between increment steps.) We use a volatile
+ * the source backend is between increment steps.) We use a volatile
* pointer here to ensure the compiler doesn't try to get cute.
*/
for (;;)
diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c
index 0008826f67c..cc7de542b1e 100644
--- a/src/backend/utils/cache/inval.c
+++ b/src/backend/utils/cache/inval.c
@@ -3,100 +3,100 @@
* inval.c
* POSTGRES cache invalidation dispatcher code.
*
- * This is subtle stuff, so pay attention:
- *
- * When a tuple is updated or deleted, our standard visibility rules
- * consider that it is *still valid* so long as we are in the same command,
- * ie, until the next CommandCounterIncrement() or transaction commit.
- * (See access/heap/heapam_visibility.c, and note that system catalogs are
- * generally scanned under the most current snapshot available, rather than
- * the transaction snapshot.) At the command boundary, the old tuple stops
- * being valid and the new version, if any, becomes valid. Therefore,
- * we cannot simply flush a tuple from the system caches during heap_update()
- * or heap_delete(). The tuple is still good at that point; what's more,
- * even if we did flush it, it might be reloaded into the caches by a later
- * request in the same command. So the correct behavior is to keep a list
- * of outdated (updated/deleted) tuples and then do the required cache
- * flushes at the next command boundary. We must also keep track of
- * inserted tuples so that we can flush "negative" cache entries that match
- * the new tuples; again, that mustn't happen until end of command.
- *
- * Once we have finished the command, we still need to remember inserted
- * tuples (including new versions of updated tuples), so that we can flush
- * them from the caches if we abort the transaction. Similarly, we'd better
- * be able to flush "negative" cache entries that may have been loaded in
- * place of deleted tuples, so we still need the deleted ones too.
- *
- * If we successfully complete the transaction, we have to broadcast all
- * these invalidation events to other backends (via the SI message queue)
- * so that they can flush obsolete entries from their caches. Note we have
- * to record the transaction commit before sending SI messages, otherwise
- * the other backends won't see our updated tuples as good.
- *
- * When a subtransaction aborts, we can process and discard any events
- * it has queued. When a subtransaction commits, we just add its events
- * to the pending lists of the parent transaction.
- *
- * In short, we need to remember until xact end every insert or delete
- * of a tuple that might be in the system caches. Updates are treated as
- * two events, delete + insert, for simplicity. (If the update doesn't
- * change the tuple hash value, catcache.c optimizes this into one event.)
- *
- * We do not need to register EVERY tuple operation in this way, just those
- * on tuples in relations that have associated catcaches. We do, however,
- * have to register every operation on every tuple that *could* be in a
- * catcache, whether or not it currently is in our cache. Also, if the
- * tuple is in a relation that has multiple catcaches, we need to register
- * an invalidation message for each such catcache. catcache.c's
- * PrepareToInvalidateCacheTuple() routine provides the knowledge of which
- * catcaches may need invalidation for a given tuple.
- *
- * Also, whenever we see an operation on a pg_class, pg_attribute, or
- * pg_index tuple, we register a relcache flush operation for the relation
- * described by that tuple (as specified in CacheInvalidateHeapTuple()).
- * Likewise for pg_constraint tuples for foreign keys on relations.
- *
- * We keep the relcache flush requests in lists separate from the catcache
- * tuple flush requests. This allows us to issue all the pending catcache
- * flushes before we issue relcache flushes, which saves us from loading
- * a catcache tuple during relcache load only to flush it again right away.
- * Also, we avoid queuing multiple relcache flush requests for the same
- * relation, since a relcache flush is relatively expensive to do.
- * (XXX is it worth testing likewise for duplicate catcache flush entries?
- * Probably not.)
- *
- * Many subsystems own higher-level caches that depend on relcache and/or
- * catcache, and they register callbacks here to invalidate their caches.
- * While building a higher-level cache entry, a backend may receive a
- * callback for the being-built entry or one of its dependencies. This
- * implies the new higher-level entry would be born stale, and it might
- * remain stale for the life of the backend. Many caches do not prevent
- * that. They rely on DDL for can't-miss catalog changes taking
- * AccessExclusiveLock on suitable objects. (For a change made with less
- * locking, backends might never read the change.) The relation cache,
- * however, needs to reflect changes from CREATE INDEX CONCURRENTLY no later
- * than the beginning of the next transaction. Hence, when a relevant
- * invalidation callback arrives during a build, relcache.c reattempts that
- * build. Caches with similar needs could do likewise.
- *
- * If a relcache flush is issued for a system relation that we preload
- * from the relcache init file, we must also delete the init file so that
- * it will be rebuilt during the next backend restart. The actual work of
- * manipulating the init file is in relcache.c, but we keep track of the
- * need for it here.
- *
- * Currently, inval messages are sent without regard for the possibility
- * that the object described by the catalog tuple might be a session-local
- * object such as a temporary table. This is because (1) this code has
- * no practical way to tell the difference, and (2) it is not certain that
- * other backends don't have catalog cache or even relcache entries for
- * such tables, anyway; there is nothing that prevents that. It might be
- * worth trying to avoid sending such inval traffic in the future, if those
- * problems can be overcome cheaply.
- *
- * When wal_level=logical, write invalidations into WAL at each command end to
- * support the decoding of the in-progress transactions. See
- * CommandEndInvalidationMessages.
+ * This is subtle stuff, so pay attention:
+ *
+ * When a tuple is updated or deleted, our standard visibility rules
+ * consider that it is *still valid* so long as we are in the same command,
+ * ie, until the next CommandCounterIncrement() or transaction commit.
+ * (See access/heap/heapam_visibility.c, and note that system catalogs are
+ * generally scanned under the most current snapshot available, rather than
+ * the transaction snapshot.) At the command boundary, the old tuple stops
+ * being valid and the new version, if any, becomes valid. Therefore,
+ * we cannot simply flush a tuple from the system caches during heap_update()
+ * or heap_delete(). The tuple is still good at that point; what's more,
+ * even if we did flush it, it might be reloaded into the caches by a later
+ * request in the same command. So the correct behavior is to keep a list
+ * of outdated (updated/deleted) tuples and then do the required cache
+ * flushes at the next command boundary. We must also keep track of
+ * inserted tuples so that we can flush "negative" cache entries that match
+ * the new tuples; again, that mustn't happen until end of command.
+ *
+ * Once we have finished the command, we still need to remember inserted
+ * tuples (including new versions of updated tuples), so that we can flush
+ * them from the caches if we abort the transaction. Similarly, we'd better
+ * be able to flush "negative" cache entries that may have been loaded in
+ * place of deleted tuples, so we still need the deleted ones too.
+ *
+ * If we successfully complete the transaction, we have to broadcast all
+ * these invalidation events to other backends (via the SI message queue)
+ * so that they can flush obsolete entries from their caches. Note we have
+ * to record the transaction commit before sending SI messages, otherwise
+ * the other backends won't see our updated tuples as good.
+ *
+ * When a subtransaction aborts, we can process and discard any events
+ * it has queued. When a subtransaction commits, we just add its events
+ * to the pending lists of the parent transaction.
+ *
+ * In short, we need to remember until xact end every insert or delete
+ * of a tuple that might be in the system caches. Updates are treated as
+ * two events, delete + insert, for simplicity. (If the update doesn't
+ * change the tuple hash value, catcache.c optimizes this into one event.)
+ *
+ * We do not need to register EVERY tuple operation in this way, just those
+ * on tuples in relations that have associated catcaches. We do, however,
+ * have to register every operation on every tuple that *could* be in a
+ * catcache, whether or not it currently is in our cache. Also, if the
+ * tuple is in a relation that has multiple catcaches, we need to register
+ * an invalidation message for each such catcache. catcache.c's
+ * PrepareToInvalidateCacheTuple() routine provides the knowledge of which
+ * catcaches may need invalidation for a given tuple.
+ *
+ * Also, whenever we see an operation on a pg_class, pg_attribute, or
+ * pg_index tuple, we register a relcache flush operation for the relation
+ * described by that tuple (as specified in CacheInvalidateHeapTuple()).
+ * Likewise for pg_constraint tuples for foreign keys on relations.
+ *
+ * We keep the relcache flush requests in lists separate from the catcache
+ * tuple flush requests. This allows us to issue all the pending catcache
+ * flushes before we issue relcache flushes, which saves us from loading
+ * a catcache tuple during relcache load only to flush it again right away.
+ * Also, we avoid queuing multiple relcache flush requests for the same
+ * relation, since a relcache flush is relatively expensive to do.
+ * (XXX is it worth testing likewise for duplicate catcache flush entries?
+ * Probably not.)
+ *
+ * Many subsystems own higher-level caches that depend on relcache and/or
+ * catcache, and they register callbacks here to invalidate their caches.
+ * While building a higher-level cache entry, a backend may receive a
+ * callback for the being-built entry or one of its dependencies. This
+ * implies the new higher-level entry would be born stale, and it might
+ * remain stale for the life of the backend. Many caches do not prevent
+ * that. They rely on DDL for can't-miss catalog changes taking
+ * AccessExclusiveLock on suitable objects. (For a change made with less
+ * locking, backends might never read the change.) The relation cache,
+ * however, needs to reflect changes from CREATE INDEX CONCURRENTLY no later
+ * than the beginning of the next transaction. Hence, when a relevant
+ * invalidation callback arrives during a build, relcache.c reattempts that
+ * build. Caches with similar needs could do likewise.
+ *
+ * If a relcache flush is issued for a system relation that we preload
+ * from the relcache init file, we must also delete the init file so that
+ * it will be rebuilt during the next backend restart. The actual work of
+ * manipulating the init file is in relcache.c, but we keep track of the
+ * need for it here.
+ *
+ * Currently, inval messages are sent without regard for the possibility
+ * that the object described by the catalog tuple might be a session-local
+ * object such as a temporary table. This is because (1) this code has
+ * no practical way to tell the difference, and (2) it is not certain that
+ * other backends don't have catalog cache or even relcache entries for
+ * such tables, anyway; there is nothing that prevents that. It might be
+ * worth trying to avoid sending such inval traffic in the future, if those
+ * problems can be overcome cheaply.
+ *
+ * When wal_level=logical, write invalidations into WAL at each command end to
+ * support the decoding of the in-progress transactions. See
+ * CommandEndInvalidationMessages.
*
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index 4646ae50277..bdaa9539e40 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -928,7 +928,7 @@ MemoryContextCheck(MemoryContext context)
* context creation routines, not by the unwashed masses.
*
* The memory context creation procedure goes like this:
- * 1. Context-type-specific routine makes some initial space allocation,
+ * 1. Context-type-specific routine makes some initial space allocation,
* including enough space for the context header. If it fails,
* it can ereport() with no damage done.
* 2. Context-type-specific routine sets up all type-specific fields of
@@ -938,7 +938,7 @@ MemoryContextCheck(MemoryContext context)
* the initial space allocation should be freed before ereport'ing.
* 3. Context-type-specific routine calls MemoryContextCreate() to fill in
* the generic header fields and link the context into the context tree.
- * 4. We return to the context-type-specific routine, which finishes
+ * 4. We return to the context-type-specific routine, which finishes
* up type-specific initialization. This routine can now do things
* that might fail (like allocate more memory), so long as it's
* sure the node is left in a state that delete will handle.
--
2.25.1
>From 9a38d4fbf2a3b441505c169533f1b96726c8b03b Mon Sep 17 00:00:00 2001
From: Justin Pryzby <[email protected]>
Date: Tue, 31 Jan 2023 13:32:59 -0600
Subject: [PATCH 10/10] WIP: whitespace issues
TODO:
git grep '\*.*\w.* \w' '*.c'
git grep '\*.* .* .*\w.* \w' '*.c'
---
contrib/pg_trgm/trgm_regexp.c | 2 +-
src/backend/access/common/tupconvert.c | 2 +-
src/backend/access/gin/ginfast.c | 2 +-
src/backend/access/heap/heapam.c | 2 +-
src/backend/access/heap/hio.c | 2 +-
src/backend/access/nbtree/nbtutils.c | 2 +-
src/backend/access/transam/clog.c | 2 +-
src/backend/access/transam/multixact.c | 2 +-
src/backend/access/transam/xlog.c | 2 +-
src/backend/catalog/aclchk.c | 2 +-
src/backend/catalog/namespace.c | 6 +++---
src/backend/catalog/pg_proc.c | 2 +-
src/backend/catalog/pg_shdepend.c | 4 ++--
src/backend/commands/analyze.c | 2 +-
src/backend/commands/dbcommands.c | 2 +-
src/backend/commands/opclasscmds.c | 4 ++--
src/backend/commands/vacuum.c | 2 +-
src/backend/executor/execAmi.c | 2 +-
src/backend/executor/execExpr.c | 2 +-
src/backend/executor/functions.c | 2 +-
src/backend/executor/nodeAgg.c | 2 +-
src/backend/executor/nodeGather.c | 2 +-
src/backend/executor/nodeGatherMerge.c | 2 +-
src/backend/executor/nodeIncrementalSort.c | 2 +-
src/backend/lib/rbtree.c | 2 +-
src/backend/libpq/be-secure-openssl.c | 2 +-
src/backend/optimizer/path/clausesel.c | 2 +-
src/backend/optimizer/path/costsize.c | 6 +++---
src/backend/optimizer/path/joinpath.c | 2 +-
src/backend/optimizer/path/pathkeys.c | 2 +-
src/backend/optimizer/plan/createplan.c | 4 ++--
src/backend/optimizer/plan/initsplan.c | 2 +-
src/backend/optimizer/prep/prepjointree.c | 2 +-
src/backend/optimizer/util/orclauses.c | 2 +-
src/backend/optimizer/util/pathnode.c | 2 +-
src/backend/optimizer/util/var.c | 2 +-
src/backend/parser/parse_coerce.c | 2 +-
src/backend/postmaster/postmaster.c | 2 +-
src/backend/statistics/extended_stats.c | 2 +-
src/backend/storage/file/fd.c | 2 +-
src/backend/storage/lmgr/lock.c | 4 ++--
src/backend/storage/smgr/smgr.c | 2 +-
src/backend/tcop/postgres.c | 2 +-
src/backend/tsearch/ts_parse.c | 2 +-
src/backend/utils/adt/acl.c | 2 +-
src/backend/utils/adt/like_support.c | 2 +-
src/backend/utils/adt/selfuncs.c | 4 ++--
src/backend/utils/adt/varlena.c | 6 +++---
src/backend/utils/cache/plancache.c | 2 +-
src/backend/utils/cache/relcache.c | 2 +-
src/backend/utils/cache/ts_cache.c | 2 +-
src/backend/utils/misc/guc.c | 2 +-
src/backend/utils/mmgr/dsa.c | 2 +-
src/bin/initdb/initdb.c | 2 +-
src/bin/pg_dump/dumputils.c | 2 +-
src/bin/pg_dump/pg_dump.c | 2 +-
src/bin/pg_test_timing/pg_test_timing.c | 2 +-
src/bin/pg_upgrade/server.c | 2 +-
src/interfaces/ecpg/ecpglib/prepare.c | 2 +-
src/interfaces/ecpg/pgtypeslib/timestamp.c | 2 +-
60 files changed, 71 insertions(+), 71 deletions(-)
diff --git a/contrib/pg_trgm/trgm_regexp.c b/contrib/pg_trgm/trgm_regexp.c
index 9a00564ae4f..5f41ff1e5d1 100644
--- a/contrib/pg_trgm/trgm_regexp.c
+++ b/contrib/pg_trgm/trgm_regexp.c
@@ -1608,7 +1608,7 @@ selectColorTrigrams(TrgmNFA *trgmNFA)
/*
* Does any arc of this color trigram connect initial and final
- * states? If so we can't remove it.
+ * states? If so we can't remove it.
*/
foreach(cell, trgmInfo->arcs)
{
diff --git a/src/backend/access/common/tupconvert.c b/src/backend/access/common/tupconvert.c
index d303fe010a2..128d407e24a 100644
--- a/src/backend/access/common/tupconvert.c
+++ b/src/backend/access/common/tupconvert.c
@@ -93,7 +93,7 @@ convert_tuples_by_position(TupleDesc indesc,
/*
* Set up for tuple conversion, matching input and output columns by name.
- * (Dropped columns are ignored in both input and output.) This is intended
+ * (Dropped columns are ignored in both input and output.) This is intended
* for use when the rowtypes are related by inheritance, so we expect an exact
* match of both type and typmod. The error messages will be a bit unhelpful
* unless both rowtypes are named composite types.
diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c
index ca7d770d864..ec3bd4f4baf 100644
--- a/src/backend/access/gin/ginfast.c
+++ b/src/backend/access/gin/ginfast.c
@@ -889,7 +889,7 @@ ginInsertCleanup(GinState *ginstate, bool full_clean,
vacuum_delay_point();
/*
- * Is it time to flush memory to disk? Flush if we are at the end of
+ * Is it time to flush memory to disk? Flush if we are at the end of
* the pending list, or if we have a full row and memory is getting
* full.
*/
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 7eb79cee58d..1e752972a4d 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -3915,7 +3915,7 @@ HeapDetermineColumnsInfo(Relation relation,
/*
* Extract the corresponding values. XXX this is pretty inefficient
* if there are many indexed columns. Should we do a single
- * heap_deform_tuple call on each tuple, instead? But that doesn't
+ * heap_deform_tuple call on each tuple, instead? But that doesn't
* work for system columns ...
*/
value1 = heap_getattr(oldtup, attrnum, tupdesc, &isnull1);
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index e152807d2dc..4d38667fcee 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -716,7 +716,7 @@ loop:
*
* XXX should we enter the new page into the free space map immediately,
* or just keep it for this backend's exclusive use in the short run
- * (until VACUUM sees it)? Seems to depend on whether you expect the
+ * (until VACUUM sees it)? Seems to depend on whether you expect the
* current backend to make more insertions or not, which is probably a
* good bet most of the time. So for now, don't add it to FSM yet.
*/
diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c
index 7da499c4dd5..634735b7306 100644
--- a/src/backend/access/nbtree/nbtutils.c
+++ b/src/backend/access/nbtree/nbtutils.c
@@ -1713,7 +1713,7 @@ _bt_check_rowcompare(ScanKey skey, IndexTuple tuple, int tupnatts,
* any items from the page, and so there is no need to search left from the
* recorded offset. (This observation also guarantees that the item is still
* the right one to delete, which might otherwise be questionable since heap
- * TIDs can get recycled.) This holds true even if the page has been modified
+ * TIDs can get recycled.) This holds true even if the page has been modified
* by inserts and page splits, so there is no need to consult the LSN.
*
* If the pin was released after reading the page, then we re-read it. If it
diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c
index 4a431d58767..d6dc5739a4f 100644
--- a/src/backend/access/transam/clog.c
+++ b/src/backend/access/transam/clog.c
@@ -626,7 +626,7 @@ TransactionIdSetStatusBit(TransactionId xid, XidStatus status, XLogRecPtr lsn, i
* an LSN that is late enough to be able to guarantee that if we flush up to
* that LSN then we will have flushed the transaction's commit record to disk.
* The result is not necessarily the exact LSN of the transaction's commit
- * record! For example, for long-past transactions (those whose clog pages
+ * record! For example, for long-past transactions (those whose clog pages
* already migrated to disk), we'll return InvalidXLogRecPtr. Also, because
* we group transactions on the same clog page to conserve storage, we might
* return the LSN of a later transaction that falls into the same group.
diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c
index fe6698d5ffa..1d9fec7c3e7 100644
--- a/src/backend/access/transam/multixact.c
+++ b/src/backend/access/transam/multixact.c
@@ -2668,7 +2668,7 @@ SetOffsetVacuumLimit(bool is_startup)
LWLockRelease(MultiXactGenLock);
/*
- * Do we need an emergency autovacuum? If we're not sure, assume yes.
+ * Do we need an emergency autovacuum? If we're not sure, assume yes.
*/
return !oldestOffsetKnown ||
(nextOffset - oldestOffset > MULTIXACT_MEMBER_SAFE_THRESHOLD);
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index f9f0f6db8d1..231276e189d 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -2658,7 +2658,7 @@ XLogFlush(XLogRecPtr record)
* the whole system due to corruption on one data page. In particular, if
* the bad page is encountered again during recovery then we would be
* unable to restart the database at all! (This scenario actually
- * happened in the field several times with 7.1 releases.) As of 8.4, bad
+ * happened in the field several times with 7.1 releases.) As of 8.4, bad
* LSNs encountered during recovery are UpdateMinRecoveryPoint's problem;
* the only time we can reach here during recovery is while flushing the
* end-of-recovery checkpoint record, and we don't expect that to have a
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index c4232344aab..ff990020e52 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -4056,7 +4056,7 @@ object_ownercheck(Oid classid, Oid objectid, Oid roleid)
* Note: roles do not have owners per se; instead we use this test in
* places where an ownership-like permissions test is needed for a role.
* Be sure to apply it to the role trying to do the operation, not the
- * role being operated on! Also note that this generally should not be
+ * role being operated on! Also note that this generally should not be
* considered enough privilege if the target role is a superuser.
* (We don't handle that consideration here because we want to give a
* separate error message for such cases, so the caller has to deal with it.)
diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c
index 14e57adee2b..dee850d8bdf 100644
--- a/src/backend/catalog/namespace.c
+++ b/src/backend/catalog/namespace.c
@@ -88,7 +88,7 @@
*
* The textual specification of search_path can include "$user" to refer to
* the namespace named the same as the current user, if any. (This is just
- * ignored if there is no such namespace.) Also, it can include "pg_temp"
+ * ignored if there is no such namespace.) Also, it can include "pg_temp"
* to refer to the current backend's temp namespace. This is usually also
* ignorable if the temp namespace hasn't been set up, but there's a special
* case: if "pg_temp" appears first then it should be the default creation
@@ -1710,7 +1710,7 @@ OpernameGetCandidates(List *names, char oprkind, bool missing_schema_ok)
/*
* Okay, it's in the search path, but does it have the same
- * arguments as something we already accepted? If so, keep only
+ * arguments as something we already accepted? If so, keep only
* the one that appears earlier in the search path.
*
* If we have an ordered list from SearchSysCacheList (the normal
@@ -3813,7 +3813,7 @@ recomputeNamespacePath(void)
* Convert the list of names to a list of OIDs. If any names are not
* recognizable or we don't have read access, just leave them out of the
* list. (We can't raise an error, since the search_path setting has
- * already been accepted.) Don't make duplicate entries, either.
+ * already been accepted.) Don't make duplicate entries, either.
*/
oidlist = NIL;
temp_missing = false;
diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
index 14d552fe2dd..380a948bc58 100644
--- a/src/backend/catalog/pg_proc.c
+++ b/src/backend/catalog/pg_proc.c
@@ -687,7 +687,7 @@ ProcedureCreate(const char *procedureName,
* check_function_bodies is off, we don't do this, because that would
* create dump ordering hazards that pg_dump doesn't know how to deal
* with. (For example, a SET clause might refer to a not-yet-created
- * text search configuration.) This means that the validator
+ * text search configuration.) This means that the validator
* shouldn't complain about anything that might depend on a GUC
* parameter when check_function_bodies is off.
*/
diff --git a/src/backend/catalog/pg_shdepend.c b/src/backend/catalog/pg_shdepend.c
index 64d326f073c..fe1868d3b3c 100644
--- a/src/backend/catalog/pg_shdepend.c
+++ b/src/backend/catalog/pg_shdepend.c
@@ -186,7 +186,7 @@ recordDependencyOnOwner(Oid classId, Oid objectId, Oid owner)
* an object's owner.
*
* There must be no more than one existing entry for the given dependent
- * object and dependency type! So in practice this can only be used for
+ * object and dependency type! So in practice this can only be used for
* updating SHARED_DEPENDENCY_OWNER and SHARED_DEPENDENCY_TABLESPACE
* entries, which should have that property.
*
@@ -476,7 +476,7 @@ getOidListDiff(Oid *list1, int *nlist1, Oid *list2, int *nlist2)
*
* NOTE: Both input arrays must be sorted and de-duped. (Typically they
* are extracted from an ACL array by aclmembers(), which takes care of
- * both requirements.) The arrays are pfreed before return.
+ * both requirements.) The arrays are pfreed before return.
*/
void
updateAclDependencies(Oid classId, Oid objectId, int32 objsubId,
diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c
index 65750958bb2..02d3676011e 100644
--- a/src/backend/commands/analyze.c
+++ b/src/backend/commands/analyze.c
@@ -1026,7 +1026,7 @@ examine_attribute(Relation onerel, int attnum, Node *index_expr)
* type of the opclass, which is not interesting for our purposes. (Note:
* if we did anything with non-expression index columns, we'd need to
* figure out where to get the correct type info from, but for now that's
- * not a problem.) It's not clear whether anyone will care about the
+ * not a problem.) It's not clear whether anyone will care about the
* typmod, but we store that too just in case.
*/
if (index_expr)
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index ef05633bb05..dccb86597d6 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -2083,7 +2083,7 @@ movedb(const char *dbname, const char *tblspcname)
*
* (This is OK because we know we aren't inside a transaction block.)
*
- * XXX would it be safe/better to do this inside the ensure block? Not
+ * XXX would it be safe/better to do this inside the ensure block? Not
* convinced it's a good idea; consider elog just after the transaction
* really commits.
*/
diff --git a/src/backend/commands/opclasscmds.c b/src/backend/commands/opclasscmds.c
index 864e35e45b4..a4cc0354baf 100644
--- a/src/backend/commands/opclasscmds.c
+++ b/src/backend/commands/opclasscmds.c
@@ -1702,7 +1702,7 @@ dropProcedures(List *opfamilyname, Oid amoid, Oid opfamilyoid,
* Subroutine for ALTER OPERATOR CLASS SET SCHEMA/RENAME
*
* Is there an operator class with the given name and signature already
- * in the given namespace? If so, raise an appropriate error message.
+ * in the given namespace? If so, raise an appropriate error message.
*/
void
IsThereOpClassInNamespace(const char *opcname, Oid opcmethod,
@@ -1725,7 +1725,7 @@ IsThereOpClassInNamespace(const char *opcname, Oid opcmethod,
* Subroutine for ALTER OPERATOR FAMILY SET SCHEMA/RENAME
*
* Is there an operator family with the given name and signature already
- * in the given namespace? If so, raise an appropriate error message.
+ * in the given namespace? If so, raise an appropriate error message.
*/
void
IsThereOpFamilyInNamespace(const char *opfname, Oid opfmethod,
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index aa79d9de4d4..bf9466101a7 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -319,7 +319,7 @@ vacuum(List *relations, VacuumParams *params,
/*
* We cannot run VACUUM inside a user transaction block; if we were inside
* a transaction, then our commit- and start-transaction-command calls
- * would not have the intended effect! There are numerous other subtle
+ * would not have the intended effect! There are numerous other subtle
* dependencies on this, too.
*
* ANALYZE (without VACUUM) can run either way.
diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c
index 9d18ce8c6b2..084b91f6617 100644
--- a/src/backend/executor/execAmi.c
+++ b/src/backend/executor/execAmi.c
@@ -370,7 +370,7 @@ ExecMarkPos(PlanState *node)
* the mark operation. It is unspecified what happens to the plan node's
* result TupleTableSlot. (In most cases the result slot is unchanged by
* a restore, but the node may choose to clear it or to load it with the
- * restored-to tuple.) Hence the caller should discard any previously
+ * restored-to tuple.) Hence the caller should discard any previously
* returned TupleTableSlot after doing a restore.
*/
void
diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c
index 812ead95bc6..797b4fa67c1 100644
--- a/src/backend/executor/execExpr.c
+++ b/src/backend/executor/execExpr.c
@@ -1946,7 +1946,7 @@ ExecInitExprRec(Expr *node, ExprState *state,
/*
* Guard against ALTER COLUMN TYPE on rowtype since
* the RowExpr was created. XXX should we check
- * typmod too? Not sure we can be sure it'll be the
+ * typmod too? Not sure we can be sure it'll be the
* same.
*/
if (exprType((Node *) e) != att->atttypid)
diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c
index 50e06ec6931..662c4a7d7ba 100644
--- a/src/backend/executor/functions.c
+++ b/src/backend/executor/functions.c
@@ -1668,7 +1668,7 @@ check_sql_fn_retval(List *queryTreeLists,
* Otherwise, if it's INSERT/UPDATE/DELETE with RETURNING, it returns
* that. Otherwise, the function return type must be VOID.
*
- * Note: eventually replace this test with QueryReturnsTuples? We'd need
+ * Note: eventually replace this test with QueryReturnsTuples? We'd need
* a more general method of determining the output type, though. Also, it
* seems too dangerous to consider FETCH or EXECUTE as returning a
* determinable rowtype, since they depend on relatively short-lived
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index 20d23696a53..004724741fd 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -34,7 +34,7 @@
* input tuples and eliminate duplicates (if required) before performing
* the above-depicted process. (However, we don't do that for ordered-set
* aggregates; their "ORDER BY" inputs are ordinary aggregate arguments
- * so far as this module is concerned.) Note that partial aggregation
+ * so far as this module is concerned.) Note that partial aggregation
* is not supported in these cases, since we couldn't ensure global
* ordering or distinctness of the inputs.
*
diff --git a/src/backend/executor/nodeGather.c b/src/backend/executor/nodeGather.c
index 307fc10eea7..2c0530426a5 100644
--- a/src/backend/executor/nodeGather.c
+++ b/src/backend/executor/nodeGather.c
@@ -200,7 +200,7 @@ ExecGather(PlanState *pstate)
}
else
{
- /* No workers? Then never mind. */
+ /* No workers? Then never mind. */
node->nreaders = 0;
node->reader = NULL;
}
diff --git a/src/backend/executor/nodeGatherMerge.c b/src/backend/executor/nodeGatherMerge.c
index 9d5e1a46e9e..71052bf08e6 100644
--- a/src/backend/executor/nodeGatherMerge.c
+++ b/src/backend/executor/nodeGatherMerge.c
@@ -241,7 +241,7 @@ ExecGatherMerge(PlanState *pstate)
}
else
{
- /* No workers? Then never mind. */
+ /* No workers? Then never mind. */
node->nreaders = 0;
node->reader = NULL;
}
diff --git a/src/backend/executor/nodeIncrementalSort.c b/src/backend/executor/nodeIncrementalSort.c
index 12bc22f33c6..26ceafec5f8 100644
--- a/src/backend/executor/nodeIncrementalSort.c
+++ b/src/backend/executor/nodeIncrementalSort.c
@@ -69,7 +69,7 @@
* the entire result set is available.
*
* The hybrid mode approach allows us to optimize for both very small
- * groups (where the overhead of a new tuplesort is high) and very large
+ * groups (where the overhead of a new tuplesort is high) and very large
* groups (where we can lower cost by not having to sort on already sorted
* columns), albeit at some extra cost while switching between modes.
*
diff --git a/src/backend/lib/rbtree.c b/src/backend/lib/rbtree.c
index f362dce220f..91eab40397f 100644
--- a/src/backend/lib/rbtree.c
+++ b/src/backend/lib/rbtree.c
@@ -87,7 +87,7 @@ static RBTNode sentinel =
*
* The freefunc should just be pfree or equivalent; it should NOT attempt
* to free any subsidiary data, because the node passed to it may not contain
- * valid data! freefunc can be NULL if caller doesn't require retail
+ * valid data! freefunc can be NULL if caller doesn't require retail
* space reclamation.
*
* The RBTree node is palloc'd in the caller's memory context. Note that
diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index 4e721b705d5..6a7f87f17c8 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -1025,7 +1025,7 @@ load_dh_file(char *filename, bool isServerStart)
* Load hardcoded DH parameters.
*
* If DH parameters cannot be loaded from a specified file, we can load
- * the hardcoded DH parameters supplied with the backend to prevent
+ * the hardcoded DH parameters supplied with the backend to prevent
* problems.
*/
static DH *
diff --git a/src/backend/optimizer/path/clausesel.c b/src/backend/optimizer/path/clausesel.c
index 435438a1735..b7dd77ca882 100644
--- a/src/backend/optimizer/path/clausesel.c
+++ b/src/backend/optimizer/path/clausesel.c
@@ -610,7 +610,7 @@ treat_as_join_clause(PlannerInfo *root, Node *clause, RestrictInfo *rinfo,
* Otherwise, it's a join if there's more than one base relation used.
* We can optimize this calculation if an rinfo was passed.
*
- * XXX Since we know the clause is being evaluated at a join, the
+ * XXX Since we know the clause is being evaluated at a join, the
* only way it could be single-relation is if it was delayed by outer
* joins. We intentionally count only baserels here, not OJs that
* might be present in rinfo->clause_relids, so that we direct such
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index 7918bb6f0db..991b95ab812 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -47,7 +47,7 @@
* plan nodes below the LIMIT node) are set without regard to any LIMIT, so
* that this equation works properly. (Note: while path->rows is never zero
* for ordinary relations, it is zero for paths for provably-empty relations,
- * so beware of division-by-zero.) The LIMIT is applied as a top-level
+ * so beware of division-by-zero.) The LIMIT is applied as a top-level
* plan node.
*
* For largely historical reasons, most of the routines in this module use
@@ -2439,7 +2439,7 @@ cost_material(Path *path,
* if it is exactly the same then there will be a cost tie between
* nestloop with A outer, materialized B inner and nestloop with B outer,
* materialized A inner. The extra cost ensures we'll prefer
- * materializing the smaller rel.) Note that this is normally a good deal
+ * materializing the smaller rel.) Note that this is normally a good deal
* less than cpu_tuple_cost; which is OK because a Material plan node
* doesn't do qual-checking or projection, so it's got less overhead than
* most plan nodes.
@@ -3613,7 +3613,7 @@ final_cost_mergejoin(PlannerInfo *root, MergePath *path,
* never spill to disk, since it only has to remember tuples back to the
* last mark. (If there are a huge number of duplicates, our other cost
* factors will make the path so expensive that it probably won't get
- * chosen anyway.) So we don't use cost_rescan here.
+ * chosen anyway.) So we don't use cost_rescan here.
*
* Note: keep this estimate in sync with create_mergejoin_plan's labeling
* of the generated Material node.
diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c
index 9d4a9197ee6..b5ca895f9cb 100644
--- a/src/backend/optimizer/path/joinpath.c
+++ b/src/backend/optimizer/path/joinpath.c
@@ -230,7 +230,7 @@ add_paths_to_joinrel(PlannerInfo *root,
* is usually no need to create a parameterized result path unless there
* is a join order restriction that prevents joining one of our input rels
* directly to the parameter source rel instead of joining to the other
- * input rel. (But see allow_star_schema_join().) This restriction
+ * input rel. (But see allow_star_schema_join().) This restriction
* reduces the number of parameterized paths we have to deal with at
* higher join levels, without compromising the quality of the resulting
* plan. We express the restriction as a Relids set that must overlap the
diff --git a/src/backend/optimizer/path/pathkeys.c b/src/backend/optimizer/path/pathkeys.c
index c4e7f97f687..175bb1d407c 100644
--- a/src/backend/optimizer/path/pathkeys.c
+++ b/src/backend/optimizer/path/pathkeys.c
@@ -896,7 +896,7 @@ convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel,
* expression is *not* volatile in the outer query: it's just
* a Var referencing whatever the subquery emitted. (IOW, the
* outer query isn't going to re-execute the volatile
- * expression itself.) So this is okay.
+ * expression itself.) So this is okay.
*/
outer_ec =
get_eclass_for_sort_expr(root,
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 134130476e4..38bc21ce7b7 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -936,7 +936,7 @@ use_physical_tlist(PlannerInfo *root, Path *path, int flags)
* to emit any sort/group columns that are not simple Vars. (If they are
* simple Vars, they should appear in the physical tlist, and
* apply_pathtarget_labeling_to_tlist will take care of getting them
- * labeled again.) We also have to check that no two sort/group columns
+ * labeled again.) We also have to check that no two sort/group columns
* are the same Var, else that element of the physical tlist would need
* conflicting ressortgroupref labels.
*/
@@ -4210,7 +4210,7 @@ create_foreignscan_plan(PlannerInfo *root, ForeignPath *best_path,
* 0, but there can be no Var with relid 0 in the rel's targetlist or the
* restriction clauses, so we skip this in that case. Note that any such
* columns in base relations that were joined are assumed to be contained
- * in fdw_scan_tlist.) This is a bit of a kluge and might go away
+ * in fdw_scan_tlist.) This is a bit of a kluge and might go away
* someday, so we intentionally leave it out of the API presented to FDWs.
*/
scan_plan->fsSystemCol = false;
diff --git a/src/backend/optimizer/plan/initsplan.c b/src/backend/optimizer/plan/initsplan.c
index 904f710d593..95c3cdb201b 100644
--- a/src/backend/optimizer/plan/initsplan.c
+++ b/src/backend/optimizer/plan/initsplan.c
@@ -1373,7 +1373,7 @@ make_outerjoininfo(PlannerInfo *root,
* Presently the executor cannot support FOR [KEY] UPDATE/SHARE marking of
* rels appearing on the nullable side of an outer join. (It's somewhat
* unclear what that would mean, anyway: what should we mark when a result
- * row is generated from no element of the nullable relation?) So,
+ * row is generated from no element of the nullable relation?) So,
* complain if any nullable rel is FOR [KEY] UPDATE/SHARE.
*
* You might be wondering why this test isn't made far upstream in the
diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c
index 870d84b29d7..3f6d4e91f89 100644
--- a/src/backend/optimizer/prep/prepjointree.c
+++ b/src/backend/optimizer/prep/prepjointree.c
@@ -1578,7 +1578,7 @@ is_simple_subquery(PlannerInfo *root, Query *subquery, RangeTblEntry *rte,
* outer-query quals, but we don't have enough info here to check
* that. Also, maybe this restriction could be removed if we forced
* such refs to be wrapped in PlaceHolderVars, even when they're below
- * the nearest outer join? But it's a pretty hokey usage, so not
+ * the nearest outer join? But it's a pretty hokey usage, so not
* clear this is worth sweating over.)
*/
if (lowest_outer_join != NULL)
diff --git a/src/backend/optimizer/util/orclauses.c b/src/backend/optimizer/util/orclauses.c
index 85ecdfc14f2..380d541dc5a 100644
--- a/src/backend/optimizer/util/orclauses.c
+++ b/src/backend/optimizer/util/orclauses.c
@@ -167,7 +167,7 @@ extract_or_clause(RestrictInfo *or_rinfo, RelOptInfo *rel)
* cheaper. We'll strip those nodes from the returned tree, though,
* meaning that fresh ones will be built if the clause is accepted as a
* restriction clause. This might seem wasteful --- couldn't we re-use
- * the existing RestrictInfos? But that'd require assuming that
+ * the existing RestrictInfos? But that'd require assuming that
* selectivity and other cached data is computed exactly the same way for
* a restriction clause as for a join clause, which seems undesirable.
*/
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index d749b505785..a5438819876 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -508,7 +508,7 @@ add_path(RelOptInfo *parent_rel, Path *new_path)
* very small fuzz limit. (We used to do an
* exact cost comparison, but that results in
* annoying platform-specific plan variations
- * due to roundoff in the cost estimates.) If
+ * due to roundoff in the cost estimates.) If
* things are still tied, arbitrarily keep
* only the old path. Notice that we will
* keep only the old path even if the
diff --git a/src/backend/optimizer/util/var.c b/src/backend/optimizer/util/var.c
index c55c5f805b3..732546571e7 100644
--- a/src/backend/optimizer/util/var.c
+++ b/src/backend/optimizer/util/var.c
@@ -101,7 +101,7 @@ static Relids alias_relid_set(Query *query, Relids relids);
*
* NOTE: this is used on not-yet-planned expressions. It may therefore find
* bare SubLinks, and if so it needs to recurse into them to look for uplevel
- * references to the desired rtable level! But when we find a completed
+ * references to the desired rtable level! But when we find a completed
* SubPlan, we only need to look at the parameters passed to the subplan.
*/
Relids
diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c
index 52787b67943..73bf0abcac7 100644
--- a/src/backend/parser/parse_coerce.c
+++ b/src/backend/parser/parse_coerce.c
@@ -1681,7 +1681,7 @@ select_common_typmod(ParseState *pstate, List *exprs, Oid common_type)
*
* Domains over arrays match ANYARRAY, and are immediately flattened to their
* base type. (Thus, for example, we will consider it a match if one ANYARRAY
- * argument is a domain over int4[] while another one is just int4[].) Also
+ * argument is a domain over int4[] while another one is just int4[].) Also
* notice that such a domain does *not* match ANYNONARRAY. The same goes
* for ANYCOMPATIBLEARRAY and ANYCOMPATIBLENONARRAY.
*
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 2552327d904..d78346e45c3 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -3208,7 +3208,7 @@ process_pm_child_exit(void)
}
/*
- * Was it the autovacuum launcher? Normal exit can be ignored; we'll
+ * Was it the autovacuum launcher? Normal exit can be ignored; we'll
* start a new one at the next iteration of the postmaster's main
* loop, if necessary. Any other exit condition is treated as a
* crash.
diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c
index e18398cd428..e5ed4ed90b7 100644
--- a/src/backend/statistics/extended_stats.c
+++ b/src/backend/statistics/extended_stats.c
@@ -550,7 +550,7 @@ examine_attribute(Node *expr)
* of the opclass, which is not interesting for our purposes. (Note: if
* we did anything with non-expression statistics columns, we'd need to
* figure out where to get the correct type info from, but for now that's
- * not a problem.) It's not clear whether anyone will care about the
+ * not a problem.) It's not clear whether anyone will care about the
* typmod, but we store that too just in case.
*/
stats->attrtypid = exprType(expr);
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 926d000f2ea..7ea6ae7f690 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -1001,7 +1001,7 @@ BasicOpenFile(const char *fileName, int fileFlags)
* This is exported for use by places that really want a plain kernel FD,
* but need to be proof against running out of FDs. Once an FD has been
* successfully returned, it is the caller's responsibility to ensure that
- * it will not be leaked on ereport()! Most users should *not* call this
+ * it will not be leaked on ereport()! Most users should *not* call this
* routine directly, but instead use the VFD abstraction level, which
* provides protection against descriptor leaks as well as management of
* files that need to be open for more than a short period of time.
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
index a87372f33f9..4a6d034d962 100644
--- a/src/backend/storage/lmgr/lock.c
+++ b/src/backend/storage/lmgr/lock.c
@@ -3527,7 +3527,7 @@ PostPrepare_Locks(TransactionId xid)
* the proclock would then be in the wrong hash chain. Instead
* use hash_update_hash_key. (We used to create a new hash entry,
* but that risks out-of-memory failure if other processes are
- * busy making proclocks too.) We must unlink the proclock from
+ * busy making proclocks too.) We must unlink the proclock from
* our procLink chain and put it into the new proc's chain, too.
*
* Note: the updated proclock hash key will still belong to the
@@ -3831,7 +3831,7 @@ GetBlockerStatusData(int blocked_pid)
* In addition, to examine the lock grouping fields of any other backend,
* we must hold all the hash partition locks. (Only one of those locks is
* actually relevant for any one lock group, but we can't know which one
- * ahead of time.) It's fairly annoying to hold all those locks
+ * ahead of time.) It's fairly annoying to hold all those locks
* throughout this, but it's no worse than GetLockStatusData(), and it
* does have the advantage that we're guaranteed to return a
* self-consistent instantaneous state.
diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c
index b2bd749d770..eefba40d39a 100644
--- a/src/backend/storage/smgr/smgr.c
+++ b/src/backend/storage/smgr/smgr.c
@@ -511,7 +511,7 @@ smgrextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
* smgrprefetch() -- Initiate asynchronous read of the specified block of a relation.
*
* In recovery only, this can return false to indicate that a file
- * doesn't exist (presumably it has been dropped by a later WAL
+ * doesn't exist (presumably it has been dropped by a later WAL
* record).
*/
bool
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 5d439f27100..224db7216b8 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -4263,7 +4263,7 @@ PostgresMain(const char *dbname, const char *username)
* future we might want to allow some timeout requests to survive, but
* at minimum it'd be necessary to do reschedule_timeouts(), in case
* we got here because of a query cancel interrupting the SIGALRM
- * interrupt handler.) Note in particular that we must clear the
+ * interrupt handler.) Note in particular that we must clear the
* statement and lock timeout indicators, to prevent any future plain
* query cancels from being misreported as timeouts in case we're
* forgetting a timeout cancel.
diff --git a/src/backend/tsearch/ts_parse.c b/src/backend/tsearch/ts_parse.c
index 25d98527786..8c4e1a9e327 100644
--- a/src/backend/tsearch/ts_parse.c
+++ b/src/backend/tsearch/ts_parse.c
@@ -50,7 +50,7 @@ typedef struct
/*
* fields to store last variant to lexize (basically, thesaurus or similar
- * to, which wants several lexemes
+ * to, which wants several lexemes)
*/
ParsedLex *lastRes;
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
index 8f7522d1033..c7a196f960d 100644
--- a/src/backend/utils/adt/acl.c
+++ b/src/backend/utils/adt/acl.c
@@ -5091,7 +5091,7 @@ is_member_of_role_nosuper(Oid member, Oid role)
/*
- * Is member an admin of role? That is, is member the role itself (subject to
+ * Is member an admin of role? That is, is member the role itself (subject to
* restrictions below), a member (directly or indirectly) WITH ADMIN OPTION,
* or a superuser?
*/
diff --git a/src/backend/utils/adt/like_support.c b/src/backend/utils/adt/like_support.c
index 9b603d42f3d..bdd0f5999ee 100644
--- a/src/backend/utils/adt/like_support.c
+++ b/src/backend/utils/adt/like_support.c
@@ -559,7 +559,7 @@ patternsel_common(PlannerInfo *root,
/*
* Similarly, the exposed type of the left-hand side should be one of
* those we know. (Do not look at vardata.atttype, which might be
- * something binary-compatible but different.) We can use it to identify
+ * something binary-compatible but different.) We can use it to identify
* the comparison operators and the required type of the comparison
* constant, much as in match_pattern_prefix().
*/
diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index fe37e65af03..93cff772703 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -5512,7 +5512,7 @@ examine_simple_variable(PlannerInfo *root, Var *var,
* Punt if subquery uses set operations or GROUP BY, as these will
* mash underlying columns' stats beyond recognition. (Set ops are
* particularly nasty; if we forged ahead, we would return stats
- * relevant to only the leftmost subselect...) DISTINCT is also
+ * relevant to only the leftmost subselect...) DISTINCT is also
* problematic, but we check that later because there is a possibility
* of learning something even with it.
*/
@@ -5603,7 +5603,7 @@ examine_simple_variable(PlannerInfo *root, Var *var,
/*
* Otherwise, the Var comes from a FUNCTION, VALUES, or CTE RTE. (We
* won't see RTE_JOIN here because join alias Vars have already been
- * flattened.) There's not much we can do with function outputs, but
+ * flattened.) There's not much we can do with function outputs, but
* maybe someday try to be smarter about VALUES and/or CTEs.
*/
}
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index 170b3a3820b..762c33c7aab 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -1435,7 +1435,7 @@ text_position_next_internal(char *start_ptr, TextPositionState *state)
p = hptr;
while (*nptr == *p)
{
- /* Matched it all? If so, return 1-based position */
+ /* Matched it all? If so, return 1-based position */
if (nptr == needle)
return (char *) p;
nptr--, p--;
@@ -3712,7 +3712,7 @@ textToQualifiedNameList(text *textval)
* amount of stuff that needs to be allocated and freed.
*
* Inputs:
- * rawstring: the input string; must be overwritable! On return, it's
+ * rawstring: the input string; must be overwritable! On return, it's
* been modified to contain the separated identifiers.
* separator: the separator punctuation expected between identifiers
* (typically '.' or ','). Whitespace may also appear around
@@ -3963,7 +3963,7 @@ SplitDirectoriesString(char *rawstring, char separator,
* Be sure to update that if you have to change this.
*
* Inputs:
- * rawstring: the input string; must be overwritable! On return, it's
+ * rawstring: the input string; must be overwritable! On return, it's
* been modified to contain the separated identifiers.
* separator: the separator punctuation expected between identifiers
* (typically '.' or ','). Whitespace may also appear around
diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c
index 77c2ba3f8f4..353fd390aee 100644
--- a/src/backend/utils/cache/plancache.c
+++ b/src/backend/utils/cache/plancache.c
@@ -401,7 +401,7 @@ CompleteCachedPlan(CachedPlanSource *plansource,
/*
* Also save the current search_path in the query_context. (This
* should not generate much extra cruft either, since almost certainly
- * the path is already valid.) Again, we don't really need this for
+ * the path is already valid.) Again, we don't really need this for
* one-shot plans; and we *must* skip this for transaction control
* commands, because this could result in catalog accesses.
*/
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 13f79873733..1598f7a3418 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -2582,7 +2582,7 @@ RelationClearRelation(Relation relation, bool rebuild)
* sufficient to prevent any significant change in the rel's schema,
* so the existing entry contents should be good enough for its
* purposes; at worst we might be behind on statistics updates or the
- * like. (See also CheckTableNotInUse() and its callers.) These same
+ * like. (See also CheckTableNotInUse() and its callers.) These same
* remarks also apply to the cases above where we exit without having
* done RelationReloadIndexInfo() yet.
*/
diff --git a/src/backend/utils/cache/ts_cache.c b/src/backend/utils/cache/ts_cache.c
index 7760ad764ea..4058dddb710 100644
--- a/src/backend/utils/cache/ts_cache.c
+++ b/src/backend/utils/cache/ts_cache.c
@@ -12,7 +12,7 @@
* safe to hold onto a pointer to the cache entry while doing things that
* might result in recognizing a cache invalidation. Beware however that
* subsidiary information might be deleted and reallocated somewhere else
- * if a cache inval and reval happens! This does not look like it will be
+ * if a cache inval and reval happens! This does not look like it will be
* a big problem as long as parser and dictionary methods do not attempt
* any database access.
*
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index bc83f3577d7..ce5a6c987bd 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -3572,7 +3572,7 @@ set_config_option_ext(const char *name, const char *value,
/*
* Should we set reset/stacked values? (If so, the behavior is not
- * transactional.) This is done either when we get a default value from
+ * transactional.) This is done either when we get a default value from
* the database's/user's/client's default settings or when we reset a
* value to its default.
*/
diff --git a/src/backend/utils/mmgr/dsa.c b/src/backend/utils/mmgr/dsa.c
index f5a62061a3e..20111fd6fe9 100644
--- a/src/backend/utils/mmgr/dsa.c
+++ b/src/backend/utils/mmgr/dsa.c
@@ -135,7 +135,7 @@ typedef size_t dsa_segment_index;
/*
* What is the lowest bin that holds segments that *might* have n contiguous
- * free pages? There is no point in looking in segments in lower bins; they
+ * free pages? There is no point in looking in segments in lower bins; they
* definitely can't service a request for n free pages.
*/
static inline size_t
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 7a58c33ace3..d6a3828ad31 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -687,7 +687,7 @@ find_matching_ts_config(const char *lc_type)
* underscore (usual case) or a hyphen (Windows "locale name"; see
* comments at IsoLocaleName()).
*
- * XXX Should ' ' be a stop character? This would select "norwegian" for
+ * XXX Should ' ' be a stop character? This would select "norwegian" for
* the Windows locale "Norwegian (Nynorsk)_Norway.1252". If we do so, we
* should also accept the "nn" and "nb" Unix locales.
*
diff --git a/src/bin/pg_dump/dumputils.c b/src/bin/pg_dump/dumputils.c
index 9753a6d8682..b24e1f56525 100644
--- a/src/bin/pg_dump/dumputils.c
+++ b/src/bin/pg_dump/dumputils.c
@@ -707,7 +707,7 @@ variable_is_guc_list_quote(const char *name)
* See comparable code in src/backend/utils/adt/varlena.c.
*
* Inputs:
- * rawstring: the input string; must be overwritable! On return, it's
+ * rawstring: the input string; must be overwritable! On return, it's
* been modified to contain the separated identifiers.
* separator: the separator punctuation expected between identifiers
* (typically '.' or ','). Whitespace may also appear around
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 527c7651ab2..c730900891f 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -16151,7 +16151,7 @@ dumpIndex(Archive *fout, const IndxInfo *indxinfo)
/*
* If there's an associated constraint, don't dump the index per se, but
* do dump any comment for it. (This is safe because dependency ordering
- * will have ensured the constraint is emitted first.) Note that the
+ * will have ensured the constraint is emitted first.) Note that the
* emitted comment has to be shown as depending on the constraint, not the
* index, in such cases.
*/
diff --git a/src/bin/pg_test_timing/pg_test_timing.c b/src/bin/pg_test_timing/pg_test_timing.c
index c29d6f87629..ab8cf261ec3 100644
--- a/src/bin/pg_test_timing/pg_test_timing.c
+++ b/src/bin/pg_test_timing/pg_test_timing.c
@@ -1,6 +1,6 @@
/*
* pg_test_timing.c
- * tests overhead of timing calls and their monotonicity: that
+ * tests overhead of timing calls and their monotonicity: that
* they always move forward
*/
diff --git a/src/bin/pg_upgrade/server.c b/src/bin/pg_upgrade/server.c
index 820bddf3159..7a96fc7c79d 100644
--- a/src/bin/pg_upgrade/server.c
+++ b/src/bin/pg_upgrade/server.c
@@ -217,7 +217,7 @@ start_postmaster(ClusterInfo *cluster, bool report_and_exit_on_error)
strcat(socket_string,
" -c listen_addresses='' -c unix_socket_permissions=0700");
- /* Have a sockdir? Tell the postmaster. */
+ /* Have a sockdir? Tell the postmaster. */
if (cluster->sockdir)
snprintf(socket_string + strlen(socket_string),
sizeof(socket_string) - strlen(socket_string),
diff --git a/src/interfaces/ecpg/ecpglib/prepare.c b/src/interfaces/ecpg/ecpglib/prepare.c
index ea1146f520f..46103acea90 100644
--- a/src/interfaces/ecpg/ecpglib/prepare.c
+++ b/src/interfaces/ecpg/ecpglib/prepare.c
@@ -519,7 +519,7 @@ AddStmtToCache(int lineno, /* line # of statement */
for (ix = 0; ix < stmtCacheEntPerBucket; ++ix)
{
entry = &stmtCacheEntries[entNo];
- if (!entry->stmtID[0]) /* unused entry - use it */
+ if (!entry->stmtID[0]) /* unused entry - use it */
break;
if (entry->execs < stmtCacheEntries[luEntNo].execs)
luEntNo = entNo; /* save new 'least used' entry */
diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c
index 54cc04addd2..6185fc18957 100644
--- a/src/interfaces/ecpg/pgtypeslib/timestamp.c
+++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c
@@ -346,7 +346,7 @@ dttofmtasc_replace(timestamp * ts, date dDate, int dow, struct tm *tm,
break;
/*
- * The preferred date and time representation for
+ * The preferred date and time representation for
* the current locale.
*/
case 'c':
--
2.25.1