* It is straightforward to support the equality strategies with
* the contains operator. Generally, inequality strategies do not
* make much sense for the types which will be used with the
- * inclusion BRIN family of opclasses, but is possible to
+ * inclusion BRIN family of opclasses, but it is possible to
* implement them with logical negation of the left-of and
* right-of operators.
*
* space, but that's not really true, because multixacts wrap differently
* from transaction IDs. Note that, separately from any concern about
* multixact IDs wrapping, we must ensure that multixact members do not
- * wrap. Limits for that are set in DetermineSafeOldestOffset, not here.
+ * wrap. Limits for that are set in SetOffsetVacuumLimit, not here.
*/
multiWrapLimit = oldest_datminmxid + (MaxMultiXactId >> 1);
if (multiWrapLimit < FirstMultiXactId)
/*
* Try to attach to the segment and see if it matches our data directory.
- * This avoids shmid-conflict problems on machines that are running
- * several postmasters under the same userid and port number. (That would
- * not ordinarily happen in production, but it can happen during parallel
+ * This avoids key-conflict problems on machines that are running several
+ * postmasters under the same userid and port number. (That would not
+ * ordinarily happen in production, but it can happen during parallel
* testing. Since our test setups don't open any TCP ports on Unix, such
* cases don't conflict otherwise.)
*/
}
/*
- * Queue a waiter for to signal when this child dies. The wait will be
- * handled automatically by an operating system thread pool.
+ * Queue a waiter to signal when this child dies. The wait will be handled
+ * automatically by an operating system thread pool.
*
* Note: use malloc instead of palloc, since it needs to be thread-safe.
* Struct will be free():d from the callback function that runs on a
if (pg_database_encoding_max_length() > 1 || (locale && locale->provider == COLLPROVIDER_ICU))
{
- /* lower's result is never packed, so OK to use old macros here */
pat = DatumGetTextPP(DirectFunctionCall1Coll(lower, collation,
PointerGetDatum(pat)));
p = VARDATA_ANY(pat);
initPQExpBuffer(&conninfo_buf);
for (option = connOptions; option && option->keyword; option++)
{
- /*
- * Do not emit this setting if: - the setting is "replication",
- * "dbname" or "fallback_application_name", since these would be
- * overridden by the libpqwalreceiver module anyway. - not set or
- * empty.
- */
+ /* Omit empty settings and those libpqwalreceiver overrides. */
if (strcmp(option->keyword, "replication") == 0 ||
strcmp(option->keyword, "dbname") == 0 ||
strcmp(option->keyword, "fallback_application_name") == 0 ||
# still running.
#
# The test script can use the helper functions master_psql and standby_psql
-# to run psql against the master and standby servers, respectively. The
-# test script can also use the $connstr_master and $connstr_standby global
-# variables, which contain libpq connection strings for connecting to the
-# master and standby servers. The data directories are also available
-# in paths $test_master_datadir and $test_standby_datadir
+# to run psql against the master and standby servers, respectively.
use strict;
use warnings;
1) Create and populate the regression database in the old cluster.
This database can be created by running 'make installcheck' from
- src/test/regression.
+ src/test/regress.
2) Use pg_dump to dump out the regression database. Use the new
cluster's pg_dump on the old database to minimize whitespace
#ifndef WIN32
pg_putenv("LANG", NULL);
#else
- /* On Windows the default locale cannot be English, so force it */
+ /* On Windows the default locale may not be English, so force it */
pg_putenv("LANG", "en");
#endif
pg_putenv("LANGUAGE", NULL);
/*
* Append the given string to the buffer, with suitable quoting for passing
- * the string as a value, in a keyword/pair value in a libpq connection
- * string
+ * the string as a value in a keyword/value pair in a libpq connection string.
*/
void
appendConnStrVal(PQExpBuffer buf, const char *str)
register slock_t _res;
/*
- * See comment in /pg/backend/port/tas/solaris_sparc.s for why this
+ * See comment in src/backend/port/tas/sunstudio_sparc.s for why this
* uses "ldstub", and that file uses "cas". gcc currently generates
* sparcv7-targeted binaries, so "cas" use isn't possible.
*/
#if defined(__mips__) && !defined(__sgi) /* non-SGI MIPS */
-/* Note: on SGI we use the OS' mutex ABI, see below */
/* Note: R10000 processors require a separate SYNC */
#define HAS_TEST_AND_SET
destroy_ssl_system(void)
{
#if defined(ENABLE_THREAD_SAFETY) && defined(HAVE_CRYPTO_LOCK)
- /* Mutex is created in initialize_ssl_system() */
+ /* Mutex is created in pgtls_init() */
if (pthread_mutex_lock(&ssl_config_mutex))
return;
$killme_stderr = '';
-# Start longrunning query in second session, it's failure will signal
-# that crash-restart has occurred. The initial wait for the trivial
-# select is to be sure that psql successfully connected to backend.
+# Start longrunning query in second session; its failure will signal that
+# crash-restart has occurred. The initial wait for the trivial select is to
+# be sure that psql successfully connected to backend.
$monitor_stdin .= q[
SELECT $$psql-connected$$;
SELECT pg_sleep(3600);
$killme_stdout = '';
$killme_stderr = '';
-# Re-start longrunning query in second session, it's failure will
-# signal that crash-restart has occurred. The initial wait for the
-# trivial select is to be sure that psql successfully connected to
-# backend.
+# Re-start longrunning query in second session; its failure will signal that
+# crash-restart has occurred. The initial wait for the trivial select is to
+# be sure that psql successfully connected to backend.
$monitor_stdin .= q[
SELECT $$psql-connected$$;
SELECT pg_sleep(3600);