* SQL-callable function to update an advice stash entry for a particular
* query ID
*
- * If the second argument is NULL, we delete any existing advice stash
- * entry; otherwise, we either create an entry or update it with the new
- * advice string.
+ * If the advice string (the third argument) is NULL, we delete any existing
+ * advice stash entry; otherwise, we either create an entry or update it with
+ * the new advice string.
*/
Datum
pg_set_stashed_advice(PG_FUNCTION_ARGS)
field. Alternatively, <structfield>result->authn_id</structfield> may be set to
NULL if the token is valid but the associated user identity cannot be
determined. If the validator returns <literal>true</literal> and
- set <structfield>result->authn_id</structfield> then the identity appears
+ sets <structfield>result->authn_id</structfield> then the identity appears
in the server log when <xref linkend="guc-log-connections"/> includes
<literal>authentication</literal>. This happens before authorization and
will log authentication even if the connection is later rejected due to
<!-- pgsql-docs: added xmlns:xlink, autoidx.xsl doesn't include xlink in
exclude-result-prefixes. Without our customization that just leads to a
- single xmlns:xlink in this div, but because we emit it it otherwise
+ single xmlns:xlink in this div, but because we emit it, it otherwise
gets pushed down to the elements output by autoidx.xsl -->
<div class="index" xmlns:xlink="http://www.w3.org/1999/xlink">
<p class="indexdiv-quicklinks">
* If a transaction completion record arrives that has as-yet
* unobserved subtransactions then this will not have been fully
* handled by the call to RecordKnownAssignedTransactionIds() in the
- * main recovery loop in xlog.c. So we need to do bookkeeping again to
- * cover that case. This is confusing and it is easy to think this
- * call is irrelevant, which has happened three times in development
- * already. Leave it in.
+ * main recovery loop in PerformWalRecovery(). So we need to do
+ * bookkeeping again to cover that case. This is confusing and it is
+ * easy to think this call is irrelevant, which has happened three
+ * times in development already. Leave it in.
*/
RecordKnownAssignedTransactionIds(max_xid);
* If a transaction completion record arrives that has as-yet
* unobserved subtransactions then this will not have been fully
* handled by the call to RecordKnownAssignedTransactionIds() in the
- * main recovery loop in xlog.c. So we need to do bookkeeping again to
- * cover that case. This is confusing and it is easy to think this
- * call is irrelevant, which has happened three times in development
- * already. Leave it in.
+ * main recovery loop in PerformWalRecovery(). So we need to do
+ * bookkeeping again to cover that case. This is confusing and it is
+ * easy to think this call is irrelevant, which has happened three
+ * times in development already. Leave it in.
*/
RecordKnownAssignedTransactionIds(max_xid);
/*
* Several callsites need to be able to read exactly one record
- * without any internal readahead. Examples: xlog.c reading
- * checkpoint records with emode set to PANIC, which might otherwise
- * cause XLogPageRead() to panic on some future page, and xlog.c
- * determining where to start writing WAL next, which depends on the
- * contents of the reader's internal buffer after reading one record.
- * Therefore, don't even think about prefetching until the first
- * record after XLogPrefetcherBeginRead() has been consumed.
+ * without any internal readahead. Examples: PerformWalRecovery()
+ * trying to read the first record that follows a checkpoint has emode
+ * set to PANIC, which might otherwise cause XLogPageRead() to panic
+ * on some future page, and FinishWalRecovery() determining where to
+ * start writing WAL next, which depends on the contents of the
+ * reader's internal buffer after reading one record. Therefore, don't
+ * even think about prefetching until the first record after
+ * XLogPrefetcherBeginRead() has been consumed.
*/
if (prefetcher->reader->decode_queue_tail &&
prefetcher->reader->decode_queue_tail->lsn == prefetcher->begin_ptr)
* the checkpoint record. On entry, the caller has already read the control
* file into memory, and passes it as argument. This function updates it to
* reflect the recovery state, and the caller is expected to write it back to
- * disk does after initializing other subsystems, but before calling
+ * disk after initializing other subsystems, but before calling
* PerformWalRecovery().
*
* This initializes some global variables like ArchiveRecoveryRequested, and
/*
* Re-read the config file.
*
- * If one of the critical walreceiver options has changed, flag xlog.c
- * to restart it.
+ * If one of the critical walreceiver options has changed, request the startup
+ * process to restart the walreceiver.
*/
static void
StartupRereadConfig(void)
Assert(rel->pgstat_enabled);
Assert(rel->pgstat_info == NULL);
- /* Else find or make the PgStat_TableStatus entry, and update link */
+ /* find or make the PgStat_TableStatus entry, and update link */
rel->pgstat_info = pgstat_prep_relation_pending(RelationGetRelid(rel),
rel->rd_rel->relisshared);
/*
* Flush out locally pending SLRU stats entries
*
- * If nowait is true, this function returns false on lock failure. Otherwise
- * this function always returns true.
- *
* If nowait is true, this function returns true if the lock could not be
* acquired. Otherwise return false.
*/
* Despite all these precautions, this formula can yield results outside
* [0, 1] due to roundoff error. Clamp it to the expected range.
*
- * Note that result is guaranteed to be non-negative becase Sxx and Syy
+ * Note that result is guaranteed to be non-negative because Sxx and Syy
* are non-negative, so we only need to clamp the upper end of the range.
*/
if (result > 1)
/*
* Assign attribute numbers to the attributes array, comparing each one
- * against the dependency attribute to ensure that there there are no
- * matches.
+ * against the dependency attribute to ensure that there are no matches.
*/
for (int i = 0; i < natts; i++)
{
{
QueryItemType type;
int8 oper; /* see above */
- int16 distance; /* distance between agrs for OP_PHRASE */
+ int16 distance; /* distance between args for OP_PHRASE */
uint32 left; /* pointer to left operand. Right operand is
* item + 1, left operand is placed
* item+item->left */
#else /* no USE_SIGACTION */
/*
- * Forward to Windows native signal system, we need to send this though
- * wrapper handler as it it needs to take single argument only.
+ * Forward to the native Windows signal handler through a wrapper, since
+ * it accepts only one argument.
*/
if (is_ign)
wrapper_func_ptr = SIG_IGN;