# Likewise for "kernel-abi"
eabi* | gnueabi*)
;;
- # VxWorks passes extra cpu info in the 4th filed.
+ # VxWorks passes extra cpu info in the 4th field.
simlinux | simwindows | spe)
;;
# Now accept the basic system types.
/*
* The rightlink and incomplete split flag of block one level down to the
- * target page, which was visited last time via downlink from taget page.
+ * target page, which was visited last time via downlink from target page.
* We use it to check for missing downlinks.
*/
BlockNumber prevrightlink;
((GISTIntArrayOptions *) PG_GET_OPCLASS_OPTIONS())->num_ranges : \
G_INT_NUMRANGES_DEFAULT)
-/* gist_int_ops opclass options */
+/* gist__int_ops opclass options */
typedef struct
{
int32 vl_len_; /* varlena header (do not touch directly!) */
#define HASHVAL(val, siglen) (((unsigned int)(val)) % SIGLENBIT(siglen))
#define HASH(sign, val, siglen) SETBIT((sign), HASHVAL(val, siglen))
-/* gist_intbig_ops opclass options */
+/* gist__intbig_ops opclass options */
typedef struct
{
int32 vl_len_; /* varlena header (do not touch directly!) */
int dummy = 0;
/*
- * Records other than SWITCH_WAL must have content. We use an integer 0 to
- * follow the restriction.
+ * Records other than XLOG_SWITCH must have content. We use an integer 0
+ * to follow the restriction.
*/
XLogBeginInsert();
XLogSetRecordFlags(XLOG_MARK_UNIMPORTANT);
* Calculate the first block and the number of blocks we must scan. We
* could be more aggressive here and perform some more validation to try
* and further narrow the scope of blocks to scan by checking if the
- * lowerItem has an offset above MaxOffsetNumber. In this case, we could
+ * lowestItem has an offset above MaxOffsetNumber. In this case, we could
* advance startBlk by one. Likewise, if highestItem has an offset of 0
* we could scan one fewer blocks. However, such an optimization does not
* seem worth troubling over, currently.
* If the last pages of the scan were empty, we would go to
* the next phase while heap_blks_scanned != heap_blks_total.
* Instead, to ensure that heap_blks_scanned is equivalent to
- * total_heap_blks after the table scan phase, this parameter
+ * heap_blks_total after the table scan phase, this parameter
* is manually updated to the correct value when the table
* scan finishes.
*/
/*
* Now that we have buffer lock, get accurate information about the
* page's free space, and recheck the heuristic about whether to
- * prune. (We needn't recheck PageIsPrunable, since no one else could
- * have pruned while we hold pin.)
+ * prune.
*/
if (PageIsFull(page) || PageGetHeapFreeSpace(page) < minfree)
{
*
* Due to its cost we also only want to call
* TransactionIdLimitedForOldSnapshots() if necessary, i.e. we might not have
- * done so in heap_hot_prune_opt() if pd_prune_xid was old enough. But we
+ * done so in heap_page_prune_opt() if pd_prune_xid was old enough. But we
* still want to be able to remove rows that are too new to be removed
* according to prstate->vistest, but that can be removed based on
* old_snapshot_threshold. So we call TransactionIdLimitedForOldSnapshots() on
END_CRIT_SECTION();
/*
- * Now that we have removed the LD_DEAD items from the page, once again
+ * Now that we have removed the LP_DEAD items from the page, once again
* check if the page has become all-visible. The page is already marked
* dirty, exclusively locked, and, if needed, a full page image has been
* emitted.
* righthand page (which is called firstrightoff), plus a boolean
* indicating whether the new tuple goes on the left or right page. You
* can think of the returned state as a point _between_ two adjacent data
- * items (laftleft and firstright data items) on an imaginary version of
+ * items (lastleft and firstright data items) on an imaginary version of
* origpage that already includes newitem. The bool is necessary to
* disambiguate the case where firstrightoff == newitemoff (i.e. it is
* sometimes needed to determine if the firstright tuple for the split is
}
/*
- * During a WriteAll, we may already have the desired file open.
+ * During a SimpleLruWriteAll, we may already have the desired file open.
*/
if (fdata)
{
else
{
/*
- * In the unlikely event that we exceed MAX_FLUSH_BUFFERS,
+ * In the unlikely event that we exceed MAX_WRITEALL_BUFFERS,
* fall back to treating it as a standalone write.
*/
fdata = NULL;
*
* This assumes every uint32 >= FirstNormalTransactionId is a valid key. It
* assumes each value occupies a contiguous, fixed-size region of SLRU bytes.
- * (MultiXactMemberCtl separates flags from XIDs. AsyncCtl has
+ * (MultiXactMemberCtl separates flags from XIDs. NotifyCtl has
* variable-length entries, no keys, and no random access. These unit tests
* do not apply to them.)
*/
}
/*
- * Helper function to ease writing of XLogRoutine->page_read callbacks.
+ * Helper function to ease writing of XLogReaderRoutine->page_read callbacks.
* If this function is used, caller must supply a segment_open callback in
* 'state', as that is used here.
*
/*
* If the data we want is not in a segment we have open, close what we
* have (if anything) and open the next one, using the caller's
- * provided openSegment callback.
+ * provided segment_open callback.
*/
if (state->seg.ws_file < 0 ||
!XLByteInSeg(recptr, state->seg.ws_segno, state->segcxt.ws_segsize) ||
Oid amoid, /* our AM's oid */
opfamilyoid; /* oid of opfamily */
int maxOpNumber, /* amstrategies value */
- optsProcNumber, /* amopclassopts value */
+ optsProcNumber, /* amoptsprocnum value */
maxProcNumber; /* amsupport value */
HeapTuple tup;
Form_pg_am amform;
/*
* pg_amproc functions are indexed by (lefttype, righttype), but
* an equalimage function can only be called at CREATE INDEX time.
- * The same opclass opcintype OID is always used for leftype and
+ * The same opclass opcintype OID is always used for lefttype and
* righttype. Providing a cross-type routine isn't sensible.
* Reject cross-type ALTER OPERATOR FAMILY ... ADD FUNCTION 4
* statements here.
*
* Even if new worker for this particular rel is restarted it
* won't be able to make any progress as we hold exclusive
- * lock on subscription_rel till the transaction end. It will
- * simply exit as there is no corresponding rel entry.
+ * lock on pg_subscription_rel till the transaction end. It
+ * will simply exit as there is no corresponding rel entry.
*
* This locking also ensures that the state of rels won't
* change till we are done with this refresh operation.
* generated column, we'll take its generation expression in
* preference to the parent's. We must check that the child
* column doesn't specify a default value or identity, which
- * matches the rules for a single column in parse_util.c.
+ * matches the rules for a single column in parse_utilcmd.c.
*
* Conversely, if the parent column is not generated, the
* child column can't be either. (We used to allow that, but
* is a bit complicated. GENERATED clauses must be attached to the column
* definition and cannot be added later like DEFAULT, so if a child table
* has a generation expression that the parent does not have, the child
- * column will necessarily be an attlocal column. So to implement ONLY
+ * column will necessarily be an attislocal column. So to implement ONLY
* here, we'd need extra code to update attislocal of the direct child
* tables, somewhat similar to how DROP COLUMN does it, so that the
* resulting state can be properly dumped and restored.
}
/*
- * ATExecConstrRecurse already invalidated relcache for the relations
+ * ATExecAlterConstrRecurse already invalidated relcache for the relations
* having the constraint itself; here we also invalidate for relations
* that have any triggers that are part of the constraint.
*/
}
/*
- * read_spilled_tuple
+ * hashagg_batch_read
* read the next tuple from a batch's tape. Return NULL if no more.
*/
static MinimalTuple
/*
* pergroup = &aggstate->all_pergroups
- * [op->d.agg_strict_trans_check.setoff]
- * [op->d.agg_init_trans_check.transno];
+ * [op->d.agg_trans.setoff]
+ * [op->d.agg_trans.transno];
*/
v_allpergroupsp =
l_load_struct_gep(b, v_aggstatep,
ntest = makeNode(NullTest);
ntest->nulltesttype = IS_NOT_NULL;
ntest->arg = copyObject(mminfo->target);
- /* we checked it wasn't a rowtype in find_minmax_aggs_walker */
+ /* we checked it wasn't a rowtype in can_minmax_aggs */
ntest->argisrow = false;
ntest->location = -1;
/*
* toplevel_stmt includes BEGIN and END. stmt does not include them, because
- * those words have different meanings in function bodys.
+ * those words have different meanings in function bodies.
*/
toplevel_stmt:
stmt
/*
* The default partitions have to be joined with each other, so merge
* them. Note that each of the default partitions isn't merged yet
- * (see, process_outer_partition()/process_innerer_partition()), so
+ * (see, process_outer_partition()/process_inner_partition()), so
* they should be merged successfully. The merged partition will act
* as the default partition of the join relation.
*/
* RelationGetPartitionDesc -- get partition descriptor, if relation is partitioned
*
* We keep two partdescs in relcache: rd_partdesc includes all partitions
- * (even those being concurrently marked detached), while rd_partdesc_nodetach
+ * (even those being concurrently marked detached), while rd_partdesc_nodetached
* omits (some of) those. We store the pg_inherits.xmin value for the latter,
* to determine whether it can be validly reused in each case, since that
* depends on the active snapshot.
/*
* This is a PREPARED transaction, part of a two-phase commit. The
* full cleanup will happen as part of the COMMIT PREPAREDs, so now
- * just truncate txn by removing changes and tuple_cids.
+ * just truncate txn by removing changes and tuplecids.
*/
ReorderBufferTruncateTXN(rb, txn, true);
/* Reset the CheckXidAlive */
* After that we need to reuse the snapshot from the previous run.
*
* Unlike DecodeCommit which adds xids of all the subtransactions in
- * snapshot's xip array via SnapBuildCommittedTxn, we can't do that here
+ * snapshot's xip array via SnapBuildCommitTxn, we can't do that here
* but we do add them to subxip array instead via ReorderBufferCopySnap.
* This allows the catalog changes made in subtransactions decoded till
* now to be visible.
/*
* We might have equal priority values; arbitrarily break ties by position
- * in the WALSnd array. (This is utterly bogus, since that is arrival
+ * in the WalSnd array. (This is utterly bogus, since that is arrival
* order dependent, but there are regression tests that rely on it.)
*/
return sa->walsnd_index - sb->walsnd_index;
/*
* BeforeShmemExit_Files
*
- * before_shmem_access hook to clean up temp files during backend shutdown.
+ * before_shmem_exit hook to clean up temp files during backend shutdown.
* Here, we want to clean up *all* temp files including interXact ones.
*/
static void
#endif
};
-/* A common WaitEventSet used to implement WatchLatch() */
+/* A common WaitEventSet used to implement WaitLatch() */
static WaitEventSet *LatchWaitSet;
/* The position of the latch in LatchWaitSet. */
* current top-level xid any.
*
* Without an assigned xid we could use a horizon as aggressive as
- * ReadNewTransactionid(), but we can get away with the much cheaper
+ * GetNewTransactionId(), but we can get away with the much cheaper
* latestCompletedXid + 1: If this backend has no xid there, by
* definition, can't be any newer changes in the temp table than
* latestCompletedXid.
#define NUM_EMULATION_SEMAPHORES (NUM_SPINLOCK_SEMAPHORES + NUM_ATOMICS_SEMAPHORES)
#else
#define NUM_EMULATION_SEMAPHORES (NUM_SPINLOCK_SEMAPHORES)
-#endif /* DISABLE_ATOMICS */
+#endif /* HAVE_ATOMICS */
PGSemaphore *SpinlockSemaArray;
*
* Apart from auxiliary processes, MyBackendId, MyDatabaseId,
* session userid, and application_name must be set for a
- * backend (hence, this cannot be combined with pgbestat_beinit).
+ * backend (hence, this cannot be combined with pgstat_beinit).
* Note also that we must be inside a transaction if this isn't an aux
* process, as we may need to do encoding conversion on some strings.
* ----------
PgStat_PendingWalStats PendingWalStats = {0};
/*
- * WAL usage counters saved from pgWALUsage at the previous call to
+ * WAL usage counters saved from pgWalUsage at the previous call to
* pgstat_report_wal(). This is used to calculate how much WAL usage
* happens between pgstat_report_wal() calls, by subtracting
* the previous counters from the current ones.
* Convert text string to AclMode value.
*
* We use USAGE to denote whether the privileges of the role are accessible
- * (has_privs), MEMBER to denote is_member, and MEMBER WITH GRANT OPTION
- * (or ADMIN OPTION) to denote is_admin. There is no ACL bit corresponding
+ * (has_privs_of_role), MEMBER to denote is_member, and MEMBER WITH GRANT
+ * (or ADMIN) OPTION to denote is_admin. There is no ACL bit corresponding
* to MEMBER so we cheat and use ACL_CREATE for that. This convention
* is shared only with pg_role_aclcheck, below.
*/
{
/*
* If the enumerated locale does not have a hyphen ("en") OR the
- * lc_message input does not have an underscore ("English"), we only
+ * locale_name input does not have an underscore ("English"), we only
* need to compare the <Language> tags.
*/
if (wcsrchr(pStr, '-') == NULL || wcsrchr(argv[0], '_') == NULL)
* Process complex expressions, not just simple Vars.
*
* First, we search for an exact match of an expression. If we
- * find one, we can just discard the whole GroupExprInfo, with all
+ * find one, we can just discard the whole GroupVarInfo, with all
* the variables we extracted from it.
*
* Otherwise we inspect the individual vars, and try matching it
*
* The output is null-terminated.
*
- * If destlen < srclen * MAX_CONVERSION_LENGTH + 1, the converted output
+ * If destlen < srclen * MAX_CONVERSION_INPUT_LENGTH + 1, the converted output
* wouldn't necessarily fit in the output buffer, and the function will not
* convert the whole input.
*
/* in local_source.c */
extern rewind_source *init_local_source(const char *datadir);
-#endif /* FETCH_H */
+#endif /* REWIND_SOURCE_H */
* allowed by the AM.
*
* Implementations can assume that scan_set_tidrange is always called
- * before can_getnextslot_tidrange or after scan_rescan and before any
+ * before scan_getnextslot_tidrange or after scan_rescan and before any
* further calls to scan_getnextslot_tidrange.
*/
void (*scan_set_tidrange) (TableScanDesc scan,
/*
* Before calling toast_tuple_init, the caller must initialize the
* following fields. Each array must have a length equal to
- * ttc_rel->rd_att->natts. The tts_oldvalues and tts_oldisnull fields
+ * ttc_rel->rd_att->natts. The ttc_oldvalues and ttc_oldisnull fields
* should be NULL in the case of an insert.
*/
Relation ttc_rel; /* the relation that contains the tuple */
bool *ttc_oldisnull; /* null flags from previous tuple */
/*
- * Before calling toast_tuple_init, the caller should set tts_attr to
+ * Before calling toast_tuple_init, the caller should set ttc_attr to
* point to an array of ToastAttrInfo structures of a length equal to
- * tts_rel->rd_att->natts. The contents of the array need not be
+ * ttc_rel->rd_att->natts. The contents of the array need not be
* initialized. ttc_flags also does not need to be initialized.
*/
uint8 ttc_flags;
#define QTW_EXAMINE_RTES_AFTER 0x20 /* examine RTE nodes after their
* contents */
#define QTW_DONT_COPY_QUERY 0x40 /* do not copy top Query */
-#define QTW_EXAMINE_SORTGROUP 0x80 /* include SortGroupNode lists */
+#define QTW_EXAMINE_SORTGROUP 0x80 /* include SortGroupClause lists */
/* callback function for check_functions_in_node */
typedef bool (*check_function_callback) (Oid func_id, void *context);
*
*-------------------------------------------------------------------------
*/
-#ifndef QUERYJUBLE_H
-#define QUERYJUBLE_H
+#ifndef QUERYJUMBLE_H
+#define QUERYJUMBLE_H
#include "nodes/parsenodes.h"
/*
* Recover memory used for relcache entries when invalidated. See
- * RelationBuildDescr() in src/backend/utils/cache/relcache.c.
+ * RelationBuildDesc() in src/backend/utils/cache/relcache.c.
*
* This is active automatically for clobber-cache builds when clobbering is
* active, but can be overridden here by explicitly defining
}
/*
- * Store the strings right after the PQnotify structure so it can all be
+ * Store the strings right after the PGnotify structure so it can all be
* freed at once. We don't use NAMEDATALEN because we don't want to tie
* this interface to a specific server name length.
*/
extern ssize_t pg_GSS_read(PGconn *conn, void *ptr, size_t len);
#endif
-/* === in libpq-trace.c === */
+/* === in fe-trace.c === */
extern void pqTraceOutputMessage(PGconn *conn, const char *message,
bool toServer);
/*
* G_KEEPERR seems to be needed here, else we don't recognize compile
* errors properly. Perhaps it's because there's another level of eval
- * inside mksafefunc?
+ * inside mkfunc?
*/
count = call_pv("PostgreSQL::InServer::mkfunc",
G_SCALAR | G_EVAL | G_KEEPERR);
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
-# Test for point-in-time-recovery (PITR) with prepared transactions
+# Test for point-in-time recovery (PITR) with prepared transactions
use strict;
use warnings;
use PostgreSQL::Test::Cluster;
$node_subscriber->safe_psql('postgres', "DROP TABLE tab_rep_next");
$node_subscriber->safe_psql('postgres', "DROP SUBSCRIPTION tap_sub");
-# Table tap_rep already has the same records on both publisher and subscriber
+# Table tab_rep already has the same records on both publisher and subscriber
# at this time. Recreate the subscription which will do the initial copy of
# the table again and fails due to unique constraint violation.
$node_subscriber->safe_psql('postgres',