A collection of typos I happened to spot while reading code, as well as
grepping for common mistakes.
Backpatch to all supported versions, as applicable, to avoid conflicts
when backporting other commits in the future.
25 files changed:
- * Insert all matching tuples into to a bitmap.
+ * Insert all matching tuples into a bitmap.
*/
int64
blgetbitmap(IndexScanDesc scan, TIDBitmap *tbm)
*/
int64
blgetbitmap(IndexScanDesc scan, TIDBitmap *tbm)
<listitem>
<para>
Identifies the following TupleData message as a old tuple.
<listitem>
<para>
Identifies the following TupleData message as a old tuple.
- This field is is present if the table in which the delete has
+ This field is present if the table in which the delete has
happened has REPLICA IDENTITY set to FULL.
</para>
</listitem>
happened has REPLICA IDENTITY set to FULL.
</para>
</listitem>
<refnamediv>
<refname>SPI_register_relation</refname>
<refnamediv>
<refname>SPI_register_relation</refname>
- <refpurpose>make a ephemeral named relation available by name in SPI queries</refpurpose>
+ <refpurpose>make an ephemeral named relation available by name in SPI queries</refpurpose>
</refnamediv>
<refsynopsisdiv>
</refnamediv>
<refsynopsisdiv>
/*
* NB: Have to prevent concurrent truncation, we might otherwise try to
/*
* NB: Have to prevent concurrent truncation, we might otherwise try to
- * lookup a oldestMulti that's concurrently getting truncated away.
+ * lookup an oldestMulti that's concurrently getting truncated away.
*/
LWLockAcquire(MultiXactTruncationLock, LW_SHARED);
*/
LWLockAcquire(MultiXactTruncationLock, LW_SHARED);
/*
* Flush out dirty data, so PhysicalPageExists can work correctly.
* SimpleLruFlush() is a pretty big hammer for that. Alternatively we
/*
* Flush out dirty data, so PhysicalPageExists can work correctly.
* SimpleLruFlush() is a pretty big hammer for that. Alternatively we
- * could add a in-memory version of page exists, but find_multixact_start
+ * could add an in-memory version of page exists, but find_multixact_start
* is called infrequently, and it doesn't seem bad to flush buffers to
* disk before truncation.
*/
* is called infrequently, and it doesn't seem bad to flush buffers to
* disk before truncation.
*/
* swap_relation_files()), thus relfrozenxid was not updated. That's
* annoying because a potential reason for doing a VACUUM FULL is a
* imminent or actual anti-wraparound shutdown. So, now that we can
* swap_relation_files()), thus relfrozenxid was not updated. That's
* annoying because a potential reason for doing a VACUUM FULL is a
* imminent or actual anti-wraparound shutdown. So, now that we can
- * access the new relation using it's indices, update relfrozenxid.
+ * access the new relation using its indices, update relfrozenxid.
* pg_class doesn't have a toast relation, so we don't need to update the
* corresponding toast relation. Not that there's little point moving all
* relfrozenxid updates here since swap_relation_files() needs to write to
* pg_class doesn't have a toast relation, so we don't need to update the
* corresponding toast relation. Not that there's little point moving all
* relfrozenxid updates here since swap_relation_files() needs to write to
* If "numeric" is true, the value is a number (or other value that
* doesn't need quoting in JSON).
*
* If "numeric" is true, the value is a number (or other value that
* doesn't need quoting in JSON).
*
- * If unit is is non-NULL the text format will display it after the value.
+ * If unit is non-NULL the text format will display it after the value.
*
* This usually should not be invoked directly, but via one of the datatype
* specific routines ExplainPropertyText, ExplainPropertyInteger, etc.
*
* This usually should not be invoked directly, but via one of the datatype
* specific routines ExplainPropertyText, ExplainPropertyInteger, etc.
* (but still lock row, even though it may not satisfy estate's
* snapshot).
*
* (but still lock row, even though it may not satisfy estate's
* snapshot).
*
- * Returns true if if we're done (with or without an update), or false if
+ * Returns true if we're done (with or without an update), or false if
* the caller must retry the INSERT from scratch.
*/
static bool
* the caller must retry the INSERT from scratch.
*/
static bool
scanjoin_targets_contain_srfs);
/*
scanjoin_targets_contain_srfs);
/*
- * If the relation is partitioned, recurseively apply the same changes to
- * all partitions and generate new Append paths. Since Append is not
+ * If the relation is partitioned, recursively apply the same changes to
+ * all partitions and generate new Append paths. Since Append is not
* projection-capable, that might save a separate Result node, and it also
* is important for partitionwise aggregate.
*/
* projection-capable, that might save a separate Result node, and it also
* is important for partitionwise aggregate.
*/
else if (func->args_unspecified)
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_FUNCTION),
else if (func->args_unspecified)
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_FUNCTION),
- errmsg("could not find a aggregate named \"%s\"",
+ errmsg("could not find an aggregate named \"%s\"",
NameListToString(func->objname))));
else if (argcount == 0)
ereport(ERROR,
NameListToString(func->objname))));
else if (argcount == 0)
ereport(ERROR,
int i;
#define REPLICATION_ORIGIN_PROGRESS_COLS 4
int i;
#define REPLICATION_ORIGIN_PROGRESS_COLS 4
- /* we we want to return 0 rows if slot is set to zero */
+ /* we want to return 0 rows if slot is set to zero */
replorigin_check_prerequisites(false, true);
if (rsinfo == NULL || !IsA(rsinfo, ReturnSetInfo))
replorigin_check_prerequisites(false, true);
if (rsinfo == NULL || !IsA(rsinfo, ReturnSetInfo))
* it's too late to abort the transaction, and (2) leaving a leaked
* file around has little real consequence anyway.
*
* it's too late to abort the transaction, and (2) leaving a leaked
* file around has little real consequence anyway.
*
- * We also also need to remove the snapshots from RegisteredSnapshots
- * to prevent a warning below.
+ * We also need to remove the snapshots from RegisteredSnapshots to
+ * prevent a warning below.
*
* As with the FirstXactSnapshot, we don't need to free resources of
* the snapshot iself as it will go away with the memory context.
*
* As with the FirstXactSnapshot, we don't need to free resources of
* the snapshot iself as it will go away with the memory context.
-# To test successful data directory creation with a additional feature, first
+# To test successful data directory creation with an additional feature, first
# try to elaborate the "successful creation" test instead of adding a test.
# Successful initdb consumes much time and I/O.
# try to elaborate the "successful creation" test instead of adding a test.
# Successful initdb consumes much time and I/O.
* get_tablespace_paths()
*
* Scans pg_tablespace and returns a malloc'ed array of all tablespace
* get_tablespace_paths()
*
* Scans pg_tablespace and returns a malloc'ed array of all tablespace
- * paths. Its the caller's responsibility to free the array.
+ * paths. It's the caller's responsibility to free the array.
*/
static void
get_tablespace_paths(void)
*/
static void
get_tablespace_paths(void)
/* The following fields are set transiently for each table search: */
TupleTableSlot *inputslot; /* current input tuple's slot */
FmgrInfo *in_hash_funcs; /* hash functions for input datatype(s) */
/* The following fields are set transiently for each table search: */
TupleTableSlot *inputslot; /* current input tuple's slot */
FmgrInfo *in_hash_funcs; /* hash functions for input datatype(s) */
- ExprState *cur_eq_func; /* comparator for for input vs. table */
+ ExprState *cur_eq_func; /* comparator for input vs. table */
uint32 hash_iv; /* hash-function IV */
ExprContext *exprcontext; /* expression context */
} TupleHashTableData;
uint32 hash_iv; /* hash-function IV */
ExprContext *exprcontext; /* expression context */
} TupleHashTableData;
typedef struct CreatePublicationStmt
{
NodeTag type;
typedef struct CreatePublicationStmt
{
NodeTag type;
- char *pubname; /* Name of of the publication */
+ char *pubname; /* Name of the publication */
List *options; /* List of DefElem nodes */
List *tables; /* Optional list of tables to add */
bool for_all_tables; /* Special publication for all tables in db */
List *options; /* List of DefElem nodes */
List *tables; /* Optional list of tables to add */
bool for_all_tables; /* Special publication for all tables in db */
typedef struct AlterPublicationStmt
{
NodeTag type;
typedef struct AlterPublicationStmt
{
NodeTag type;
- char *pubname; /* Name of of the publication */
+ char *pubname; /* Name of the publication */
/* parameters used for ALTER PUBLICATION ... WITH */
List *options; /* List of DefElem nodes */
/* parameters used for ALTER PUBLICATION ... WITH */
List *options; /* List of DefElem nodes */
typedef struct CreateSubscriptionStmt
{
NodeTag type;
typedef struct CreateSubscriptionStmt
{
NodeTag type;
- char *subname; /* Name of of the subscription */
+ char *subname; /* Name of the subscription */
char *conninfo; /* Connection string to publisher */
List *publication; /* One or more publication to subscribe to */
List *options; /* List of DefElem nodes */
char *conninfo; /* Connection string to publisher */
List *publication; /* One or more publication to subscribe to */
List *options; /* List of DefElem nodes */
{
NodeTag type;
AlterSubscriptionType kind; /* ALTER_SUBSCRIPTION_OPTIONS, etc */
{
NodeTag type;
AlterSubscriptionType kind; /* ALTER_SUBSCRIPTION_OPTIONS, etc */
- char *subname; /* Name of of the subscription */
+ char *subname; /* Name of the subscription */
char *conninfo; /* Connection string to publisher */
List *publication; /* One or more publication to subscribe to */
List *options; /* List of DefElem nodes */
char *conninfo; /* Connection string to publisher */
List *publication; /* One or more publication to subscribe to */
List *options; /* List of DefElem nodes */
typedef struct DropSubscriptionStmt
{
NodeTag type;
typedef struct DropSubscriptionStmt
{
NodeTag type;
- char *subname; /* Name of of the subscription */
+ char *subname; /* Name of the subscription */
bool missing_ok; /* Skip error if missing? */
DropBehavior behavior; /* RESTRICT or CASCADE behavior */
} DropSubscriptionStmt;
bool missing_ok; /* Skip error if missing? */
DropBehavior behavior; /* RESTRICT or CASCADE behavior */
} DropSubscriptionStmt;
- * Portable and fast equivalents for for ntohs, ntohl, htons, htonl,
+ * Portable and fast equivalents for ntohs, ntohl, htons, htonl,
* additionally extended to 64 bits.
*/
#ifdef WORDS_BIGENDIAN
* additionally extended to 64 bits.
*/
#ifdef WORDS_BIGENDIAN
#ifdef WIN32
#define WL_SOCKET_CONNECTED (1 << 5)
#else
#ifdef WIN32
#define WL_SOCKET_CONNECTED (1 << 5)
#else
-/* avoid having to to deal with case on platforms not requiring it */
+/* avoid having to deal with case on platforms not requiring it */
#define WL_SOCKET_CONNECTED WL_SOCKET_WRITEABLE
#endif
#define WL_SOCKET_CONNECTED WL_SOCKET_WRITEABLE
#endif
} ForeignKeyCacheInfo;
/*
} ForeignKeyCacheInfo;
/*
- * Options common for all all indexes
+ * Options common for all indexes
*/
typedef struct GenericIndexOpts
{
*/
typedef struct GenericIndexOpts
{
if ((position = next_insert(stmt->command, position, stmt->questionmarks, std_strings) + 1) == 0)
{
/*
if ((position = next_insert(stmt->command, position, stmt->questionmarks, std_strings) + 1) == 0)
{
/*
- * We have an argument but we dont have the matched up placeholder
- * in the string
+ * We have an argument but we don't have the matched up
+ * placeholder in the string
*/
ecpg_raise(stmt->lineno, ECPG_TOO_MANY_ARGUMENTS,
ECPG_SQLSTATE_USING_CLAUSE_DOES_NOT_MATCH_PARAMETERS,
*/
ecpg_raise(stmt->lineno, ECPG_TOO_MANY_ARGUMENTS,
ECPG_SQLSTATE_USING_CLAUSE_DOES_NOT_MATCH_PARAMETERS,
# flds are the fields to use. These may start with a '$' - in
# which case they are the result of a previous non-terminal
#
# flds are the fields to use. These may start with a '$' - in
# which case they are the result of a previous non-terminal
#
- # if they dont start with a '$' then they are token name
+ # if they don't start with a '$' then they are token name
#
# len is the number of fields in flds...
# leadin is the padding to apply at the beginning (just use for formatting)
#
# len is the number of fields in flds...
# leadin is the padding to apply at the beginning (just use for formatting)
- # Dont worry about anything if we're not in the right section of gram.y
+ # Don't worry about anything if we're not in the right section of gram.y
if ($yaccmode != 1)
{
next line;
if ($yaccmode != 1)
{
next line;
}
/************************************************************
}
/************************************************************
- * If there was a argtype list on preparation, we need
+ * If there was an argtype list on preparation, we need
* an argument value list now
************************************************************/
if (qdesc->nargs > 0)
* an argument value list now
************************************************************/
if (qdesc->nargs > 0)
INSERT INTO document VALUES (79, (SELECT cid from category WHERE cname = 'technology'), 1, 'regress_rls_bob', 'technology book, can only insert')
ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle RETURNING *;
ERROR: new row violates row-level security policy for table "document"
INSERT INTO document VALUES (79, (SELECT cid from category WHERE cname = 'technology'), 1, 'regress_rls_bob', 'technology book, can only insert')
ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle RETURNING *;
ERROR: new row violates row-level security policy for table "document"
--- UPDATE path is taken here. Existing tuple passes, since it's cid
+-- UPDATE path is taken here. Existing tuple passes, since its cid
-- corresponds to "novel", but default USING qual is enforced against
-- post-UPDATE tuple too (as always when updating with a policy that lacks an
-- explicit WCO), and so this fails:
-- corresponds to "novel", but default USING qual is enforced against
-- post-UPDATE tuple too (as always when updating with a policy that lacks an
-- explicit WCO), and so this fails:
NOTIFY rules_src_deletion
--
NOTIFY rules_src_deletion
--
--- Ensure a aliased target relation for insert is correctly deparsed.
+-- Ensure an aliased target relation for insert is correctly deparsed.
--
create rule r4 as on insert to rules_src do instead insert into rules_log AS trgt SELECT NEW.* RETURNING trgt.f1, trgt.f2;
create rule r5 as on update to rules_src do instead UPDATE rules_log AS trgt SET tag = 'updated' WHERE trgt.f1 = new.f1;
--
create rule r4 as on insert to rules_src do instead insert into rules_log AS trgt SELECT NEW.* RETURNING trgt.f1, trgt.f2;
create rule r5 as on update to rules_src do instead UPDATE rules_log AS trgt SET tag = 'updated' WHERE trgt.f1 = new.f1;
INSERT INTO document VALUES (79, (SELECT cid from category WHERE cname = 'technology'), 1, 'regress_rls_bob', 'technology book, can only insert')
ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle RETURNING *;
INSERT INTO document VALUES (79, (SELECT cid from category WHERE cname = 'technology'), 1, 'regress_rls_bob', 'technology book, can only insert')
ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle RETURNING *;
--- UPDATE path is taken here. Existing tuple passes, since it's cid
+-- UPDATE path is taken here. Existing tuple passes, since its cid
-- corresponds to "novel", but default USING qual is enforced against
-- post-UPDATE tuple too (as always when updating with a policy that lacks an
-- explicit WCO), and so this fails:
-- corresponds to "novel", but default USING qual is enforced against
-- post-UPDATE tuple too (as always when updating with a policy that lacks an
-- explicit WCO), and so this fails:
--- Ensure a aliased target relation for insert is correctly deparsed.
+-- Ensure an aliased target relation for insert is correctly deparsed.
--
create rule r4 as on insert to rules_src do instead insert into rules_log AS trgt SELECT NEW.* RETURNING trgt.f1, trgt.f2;
create rule r5 as on update to rules_src do instead UPDATE rules_log AS trgt SET tag = 'updated' WHERE trgt.f1 = new.f1;
--
create rule r4 as on insert to rules_src do instead insert into rules_log AS trgt SELECT NEW.* RETURNING trgt.f1, trgt.f2;
create rule r5 as on update to rules_src do instead UPDATE rules_log AS trgt SET tag = 'updated' WHERE trgt.f1 = new.f1;