$1="${$1} $2"
fi
undefine([Ac_cachevar])dnl
-])# PGAC_PROG_CC_CFLAGS_OPT
+])# PGAC_PROG_CC_VAR_OPT
/*-------------------------------------------------------------------------
*
- * pgstatapproc.c
+ * pgstatapprox.c
* Bloat estimation functions
*
* Copyright (c) 2014-2016, PostgreSQL Global Development Group
<para>
Running the regression tests on client programs, with
<command>vcregress bincheck</>, or on recovery tests, with
- <command>vcregress recoverycheck</> requires an additional Perl module
+ <command>vcregress recoverycheck</>, requires an additional Perl module
to be installed:
<variablelist>
<varlistentry>
<listitem>
<para>
- Remove <filename>src/tool/backend</>, now that the content is on
+ Remove <filename>src/tools/backend</>, now that the content is on
the <productname>PostgreSQL</> wiki (Bruce Momjian)
</para>
</listitem>
</para>
<para>
- The calling <command>SELECT</> statement doesn't necessarily have be
+ The calling <command>SELECT</> statement doesn't necessarily have to be
just <literal>SELECT *</> — it can reference the output
columns by name or join them to other tables. The function produces a
virtual table with which you can perform any operation you wish (e.g.
int nnodes;
} ExecParallelEstimateContext;
-/* Context object for ExecParallelEstimate. */
+/* Context object for ExecParallelInitializeDSM. */
typedef struct ExecParallelInitializeDSMContext
{
ParallelContext *pcxt;
(but not the caller's pin) and waits until signaled by another backend,
whereupon it tries again. The signal will occur when UnpinBuffer decrements
the shared pin count to 1. As indicated above, this operation might have to
-wait a good while before it acquires lock, but that shouldn't matter much for
-concurrent VACUUM. The current implementation only supports a single waiter
-for pin-count-1 on any particular shared buffer. This is enough for VACUUM's
-use, since we don't allow multiple VACUUMs concurrently on a single relation
-anyway. Anyone wishing to obtain a cleanup lock outside of recovery or a
-VACUUM must use the conditional variant of the function.
+wait a good while before it acquires the lock, but that shouldn't matter much
+for concurrent VACUUM. The current implementation only supports a single
+waiter for pin-count-1 on any particular shared buffer. This is enough for
+VACUUM's use, since we don't allow multiple VACUUMs concurrently on a single
+relation anyway. Anyone wishing to obtain a cleanup lock outside of recovery
+or a VACUUM must use the conditional variant of the function.
Buffer Manager's Internal Locking
*
* Since no-one else can be looking at the page contents yet, there is no
* difference between an exclusive lock and a cleanup-strength lock. (Note
- * that we cannot use LockBuffer() of LockBufferForCleanup() here, because
+ * that we cannot use LockBuffer() or LockBufferForCleanup() here, because
* they assert that the buffer is already valid.)
*/
if ((mode == RBM_ZERO_AND_LOCK || mode == RBM_ZERO_AND_CLEANUP_LOCK) &&
* and clears the flag right after we check, but that doesn't matter
* since SyncOneBuffer will then do nothing. However, there is a
* further race condition: it's conceivable that between the time we
- * examine the bit here and the time SyncOneBuffer acquires lock,
+ * examine the bit here and the time SyncOneBuffer acquires the lock,
* someone else not only wrote the buffer but replaced it with another
* page and dirtied it. In that improbable case, SyncOneBuffer will
* write the buffer though we didn't need to. It doesn't seem worth
}
/*
- * Returns the physical block number an FSM page
+ * Returns the physical block number of a FSM page
*/
static BlockNumber
fsm_logical_to_physical(FSMAddress addr)
}
/*
- * Given a logical address of a parent page, and a slot number get the
+ * Given a logical address of a parent page and a slot number, get the
* logical address of the corresponding child page.
*/
static FSMAddress
/*
* Since we're not holding a lock, need to be prepared to deal with
- * garbage, as someone could have incremented numPucs but not yet
+ * garbage, as someone could have incremented numProcs but not yet
* filled the structure.
*
* If someone just decremented numProcs, 'proc' could also point to a
* Don't acquire locks or conflict when scanning with a special snapshot.
* This excludes things like CLUSTER and REINDEX. They use the wholesale
* functions TransferPredicateLocksToHeapRelation() and
- * CheckTableForSerializableConflictIn() to participate serialization, but
- * the scans involved don't need serialization.
+ * CheckTableForSerializableConflictIn() to participate in serialization,
+ * but the scans involved don't need serialization.
*/
if (!IsMVCCSnapshot(snapshot))
return false;
* We used to pass O_CREAT here, but that's has the disadvantage
* that it might create a segment which has vanished through some
* operating system misadventure. In such a case, creating the
- * segment here undermine _mdfd_getseg's attempts to notice and
+ * segment here undermines _mdfd_getseg's attempts to notice and
* report an error upon access to a missing segment.
*/
v->mdfd_chain = _mdfd_openseg(reln, forknum, segno, 0);
* This function is just timestamp2timestamptz() except instead of
* shifting to the global timezone, we shift to the specified timezone.
* This is different from the other AT TIME ZONE cases because instead
- * of shifting to a _to_ a new time zone, it sets the time to _be_ the
+ * of shifting _to_ a new time zone, it sets the time to _be_ the
* specified timezone.
*/
Datum
* are not implemented; otherwise functionality is identical.
*
* Compilation controls:
- * DEBUG controls some informative traces, mainly for debugging.
+ * HASH_DEBUG controls some informative traces, mainly for debugging.
* HASH_STATISTICS causes HashAccesses and HashCollisions to be maintained;
* when combined with HASH_DEBUG, these are displayed by hdestroy().
*
/*
- * Perl's own setlocal() copied from POSIX.xs
+ * Perl's own setlocale(), copied from POSIX.xs
* (needed because of the calls to new_*())
*/
#ifdef WIN32
# TestLib, low-level routines and actions regression tests.
#
# This module contains a set of routines dedicated to environment setup for
-# a PostgreSQL regression test tun, and includes some low-level routines
+# a PostgreSQL regression test run and includes some low-level routines
# aimed at controlling command execution, logging and test functions. This
# module should never depend on any other PostgreSQL regression test modules.
# Atomic writes to 64bit atomic vars uses compare/exchange to
# guarantee atomic writes of 64bit variables. pg_atomic_write is used
-# during initialization of the atomic variable, hat leads to an
+# during initialization of the atomic variable; that leads to an
# initial read of the old, undefined, memory value. But that's just to
# make sure the swap works correctly.
{