Sanitize the term "combo CID" in code comments
authorMichael Paquier <[email protected]>
Thu, 25 Mar 2021 07:08:03 +0000 (16:08 +0900)
committerMichael Paquier <[email protected]>
Thu, 25 Mar 2021 07:08:03 +0000 (16:08 +0900)
Combo CIDs were referred in the code comments using different terms
across various places of the code, so unify a bit the term used with
what is currently in use in some of the READMEs.

Author: "Hou, Zhijie"
Discussion: https://postgr.es/m/1d42865c91404f46af4562532fdbea31@G08CNEXMBPEKD05.g08.fujitsu.local

src/backend/access/heap/heapam.c
src/backend/access/heap/heapam_visibility.c
src/backend/executor/execMain.c
src/backend/replication/logical/reorderbuffer.c
src/backend/replication/logical/snapbuild.c
src/backend/utils/time/combocid.c
src/include/access/htup_details.h
src/test/regress/expected/combocid.out
src/test/regress/sql/combocid.sql

index 7cb87f4a3b316befbb11b77ec79bf67ad67507fd..90711b2fcdd8d233477208b92a089e44855dce93 100644 (file)
@@ -2157,7 +2157,7 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid,
        int         bufflags = 0;
 
        /*
-        * If this is a catalog, we need to transmit combocids to properly
+        * If this is a catalog, we need to transmit combo CIDs to properly
         * decode, so log that as well.
         */
        if (RelationIsAccessibleInLogicalDecoding(relation))
@@ -2437,7 +2437,7 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples,
        RelationPutHeapTuple(relation, buffer, heaptuples[ndone], false);
 
        /*
-        * For logical decoding we need combocids to properly decode the
+        * For logical decoding we need combo CIDs to properly decode the
         * catalog.
         */
        if (needwal && need_cids)
@@ -2453,7 +2453,7 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples,
            RelationPutHeapTuple(relation, buffer, heaptup, false);
 
            /*
-            * For logical decoding we need combocids to properly decode the
+            * For logical decoding we need combo CIDs to properly decode the
             * catalog.
             */
            if (needwal && need_cids)
@@ -2733,7 +2733,7 @@ xmax_infomask_changed(uint16 new_infomask, uint16 old_infomask)
  *
  * In the failure cases, the routine fills *tmfd with the tuple's t_ctid,
  * t_xmax (resolving a possible MultiXact, if necessary), and t_cmax (the last
- * only for TM_SelfModified, since we cannot obtain cmax from a combocid
+ * only for TM_SelfModified, since we cannot obtain cmax from a combo CID
  * generated by another transaction).
  */
 TM_Result
@@ -2761,8 +2761,8 @@ heap_delete(Relation relation, ItemPointer tid,
    Assert(ItemPointerIsValid(tid));
 
    /*
-    * Forbid this during a parallel operation, lest it allocate a combocid.
-    * Other workers might need that combocid for visibility checks, and we
+    * Forbid this during a parallel operation, lest it allocate a combo CID.
+    * Other workers might need that combo CID for visibility checks, and we
     * have no provision for broadcasting it to them.
     */
    if (IsInParallelMode())
@@ -2963,7 +2963,7 @@ l1:
     */
    CheckForSerializableConflictIn(relation, tid, BufferGetBlockNumber(buffer));
 
-   /* replace cid with a combo cid if necessary */
+   /* replace cid with a combo CID if necessary */
    HeapTupleHeaderAdjustCmax(tp.t_data, &cid, &iscombo);
 
    /*
@@ -3035,7 +3035,7 @@ l1:
        xl_heap_header xlhdr;
        XLogRecPtr  recptr;
 
-       /* For logical decode we need combocids to properly decode the catalog */
+       /* For logical decode we need combo CIDs to properly decode the catalog */
        if (RelationIsAccessibleInLogicalDecoding(relation))
            log_heap_new_cid(relation, &tp);
 
@@ -3183,7 +3183,7 @@ simple_heap_delete(Relation relation, ItemPointer tid)
  *
  * In the failure cases, the routine fills *tmfd with the tuple's t_ctid,
  * t_xmax (resolving a possible MultiXact, if necessary), and t_cmax (the last
- * only for TM_SelfModified, since we cannot obtain cmax from a combocid
+ * only for TM_SelfModified, since we cannot obtain cmax from a combo CID
  * generated by another transaction).
  */
 TM_Result
@@ -3232,8 +3232,8 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup,
    Assert(ItemPointerIsValid(otid));
 
    /*
-    * Forbid this during a parallel operation, lest it allocate a combocid.
-    * Other workers might need that combocid for visibility checks, and we
+    * Forbid this during a parallel operation, lest it allocate a combo CID.
+    * Other workers might need that combo CID for visibility checks, and we
     * have no provision for broadcasting it to them.
     */
    if (IsInParallelMode())
@@ -3671,7 +3671,7 @@ l2:
    HeapTupleHeaderSetXmax(newtup->t_data, xmax_new_tuple);
 
    /*
-    * Replace cid with a combo cid if necessary.  Note that we already put
+    * Replace cid with a combo CID if necessary.  Note that we already put
     * the plain cid into the new tuple.
     */
    HeapTupleHeaderAdjustCmax(oldtup.t_data, &cid, &iscombo);
@@ -3987,7 +3987,7 @@ l2:
        XLogRecPtr  recptr;
 
        /*
-        * For logical decoding we need combocids to properly decode the
+        * For logical decoding we need combo CIDs to properly decode the
         * catalog.
         */
        if (RelationIsAccessibleInLogicalDecoding(relation))
@@ -4259,7 +4259,7 @@ get_mxact_status_for_lock(LockTupleMode mode, bool is_update)
  * In the failure cases other than TM_Invisible, the routine fills
  * *tmfd with the tuple's t_ctid, t_xmax (resolving a possible MultiXact,
  * if necessary), and t_cmax (the last only for TM_SelfModified,
- * since we cannot obtain cmax from a combocid generated by another
+ * since we cannot obtain cmax from a combo CID generated by another
  * transaction).
  * See comments for struct TM_FailureData for additional info.
  *
@@ -5901,7 +5901,7 @@ heap_abort_speculative(Relation relation, ItemPointer tid)
 
    /*
     * No need to check for serializable conflicts here.  There is never a
-    * need for a combocid, either.  No need to extract replica identity, or
+    * need for a combo CID, either.  No need to extract replica identity, or
     * do anything special with infomask bits.
     */
 
@@ -8345,7 +8345,7 @@ log_heap_new_cid(Relation relation, HeapTuple tup)
 
    /*
     * If the tuple got inserted & deleted in the same TX we definitely have a
-    * combocid, set cmin and cmax.
+    * combo CID, set cmin and cmax.
     */
    if (hdr->t_infomask & HEAP_COMBOCID)
    {
@@ -8355,7 +8355,7 @@ log_heap_new_cid(Relation relation, HeapTuple tup)
        xlrec.cmax = HeapTupleHeaderGetCmax(hdr);
        xlrec.combocid = HeapTupleHeaderGetRawCommandId(hdr);
    }
-   /* No combocid, so only cmin or cmax can be set by this TX */
+   /* No combo CID, so only cmin or cmax can be set by this TX */
    else
    {
        /*
index 9a1e7288ae8de1b65eda5599d6d3a41df4f38391..cc0bed52435609758777af333121bec81b6597d3 100644 (file)
@@ -1608,7 +1608,7 @@ HeapTupleSatisfiesHistoricMVCC(HeapTuple htup, Snapshot snapshot,
 
        /*
         * another transaction might have (tried to) delete this tuple or
-        * cmin/cmax was stored in a combocid. So we need to lookup the actual
+        * cmin/cmax was stored in a combo CID. So we need to lookup the actual
         * values externally.
         */
        resolved = ResolveCminCmaxDuringDecoding(HistoricSnapshotGetTupleCids(), snapshot,
@@ -1616,21 +1616,21 @@ HeapTupleSatisfiesHistoricMVCC(HeapTuple htup, Snapshot snapshot,
                                                 &cmin, &cmax);
 
        /*
-        * If we haven't resolved the combocid to cmin/cmax, that means we
-        * have not decoded the combocid yet. That means the cmin is
+        * If we haven't resolved the combo CID to cmin/cmax, that means we
+        * have not decoded the combo CID yet. That means the cmin is
         * definitely in the future, and we're not supposed to see the tuple
         * yet.
         *
         * XXX This only applies to decoding of in-progress transactions. In
         * regular logical decoding we only execute this code at commit time,
-        * at which point we should have seen all relevant combocids. So
+        * at which point we should have seen all relevant combo CIDs. So
         * ideally, we should error out in this case but in practice, this
         * won't happen. If we are too worried about this then we can add an
         * elog inside ResolveCminCmaxDuringDecoding.
         *
-        * XXX For the streaming case, we can track the largest combocid
+        * XXX For the streaming case, we can track the largest combo CID
         * assigned, and error out based on this (when unable to resolve
-        * combocid below that observed maximum value).
+        * combo CID below that observed maximum value).
         */
        if (!resolved)
            return false;
@@ -1704,21 +1704,21 @@ HeapTupleSatisfiesHistoricMVCC(HeapTuple htup, Snapshot snapshot,
                                                 &cmin, &cmax);
 
        /*
-        * If we haven't resolved the combocid to cmin/cmax, that means we
-        * have not decoded the combocid yet. That means the cmax is
+        * If we haven't resolved the combo CID to cmin/cmax, that means we
+        * have not decoded the combo CID yet. That means the cmax is
         * definitely in the future, and we're still supposed to see the
         * tuple.
         *
         * XXX This only applies to decoding of in-progress transactions. In
         * regular logical decoding we only execute this code at commit time,
-        * at which point we should have seen all relevant combocids. So
+        * at which point we should have seen all relevant combo CIDs. So
         * ideally, we should error out in this case but in practice, this
         * won't happen. If we are too worried about this then we can add an
         * elog inside ResolveCminCmaxDuringDecoding.
         *
-        * XXX For the streaming case, we can track the largest combocid
+        * XXX For the streaming case, we can track the largest combo CID
         * assigned, and error out based on this (when unable to resolve
-        * combocid below that observed maximum value).
+        * combo CID below that observed maximum value).
         */
        if (!resolved || cmax == InvalidCommandId)
            return true;
index c74ce36ffbab6a0807621c53ac3b23c53de95c06..8de78ada6318d7a15f97d347138b2448ca412c2d 100644 (file)
@@ -149,7 +149,7 @@ standard_ExecutorStart(QueryDesc *queryDesc, int eflags)
     * planned to non-temporary tables.  EXPLAIN is considered read-only.
     *
     * Don't allow writes in parallel mode.  Supporting UPDATE and DELETE
-    * would require (a) storing the combocid hash in shared memory, rather
+    * would require (a) storing the combo CID hash in shared memory, rather
     * than synchronizing it just once at the start of parallelism, and (b) an
     * alternative to heap_update()'s reliance on xmax for mutual exclusion.
     * INSERT may have no such troubles, but we forbid it to simplify the
index c291b05a4239196251cf2d9d827794debb56d616..127f2c4b168953d93b384ebe788e606fe55cfd08 100644 (file)
@@ -4736,19 +4736,19 @@ ReorderBufferToastReset(ReorderBuffer *rb, ReorderBufferTXN *txn)
  * always rely on stored cmin/cmax values because of two scenarios:
  *
  * * A tuple got changed multiple times during a single transaction and thus
- *  has got a combocid. Combocid's are only valid for the duration of a
+ *  has got a combo CID. Combo CIDs are only valid for the duration of a
  *  single transaction.
- * * A tuple with a cmin but no cmax (and thus no combocid) got
+ * * A tuple with a cmin but no cmax (and thus no combo CID) got
  *  deleted/updated in another transaction than the one which created it
- *  which we are looking at right now. As only one of cmin, cmax or combocid
+ *  which we are looking at right now. As only one of cmin, cmax or combo CID
  *  is actually stored in the heap we don't have access to the value we
  *  need anymore.
  *
  * To resolve those problems we have a per-transaction hash of (cmin,
  * cmax) tuples keyed by (relfilenode, ctid) which contains the actual
- * (cmin, cmax) values. That also takes care of combocids by simply
+ * (cmin, cmax) values. That also takes care of combo CIDs by simply
  * not caring about them at all. As we have the real cmin/cmax values
- * combocids aren't interesting.
+ * combo CIDs aren't interesting.
  *
  * As we only care about catalog tuples here the overhead of this
  * hashtable should be acceptable.
@@ -4995,7 +4995,7 @@ UpdateLogicalMappings(HTAB *tuplecid_data, Oid relid, Snapshot snapshot)
 
 /*
  * Lookup cmin/cmax of a tuple, during logical decoding where we can't rely on
- * combocids.
+ * combo CIDs.
  */
 bool
 ResolveCminCmaxDuringDecoding(HTAB *tuplecid_data,
index ed3acadab7b46d4b585ae7e40989a15a2a6896ab..c5a812511959fb155e6b035ef6a81e88d2092701 100644 (file)
@@ -42,7 +42,7 @@
  * catalog in a transaction. During normal operation this is achieved by using
  * CommandIds/cmin/cmax. The problem with that however is that for space
  * efficiency reasons only one value of that is stored
- * (cf. combocid.c). Since ComboCids are only available in memory we log
+ * (cf. combocid.c). Since combo CIDs are only available in memory we log
  * additional information which allows us to get the original (cmin, cmax)
  * pair during visibility checks. Check the reorderbuffer.c's comment above
  * ResolveCminCmaxDuringDecoding() for details.
@@ -739,7 +739,7 @@ SnapBuildProcessChange(SnapBuild *builder, TransactionId xid, XLogRecPtr lsn)
 }
 
 /*
- * Do CommandId/ComboCid handling after reading an xl_heap_new_cid record.
+ * Do CommandId/combo CID handling after reading an xl_heap_new_cid record.
  * This implies that a transaction has done some form of write to system
  * catalogs.
  */
index 6d67d38f252fbd42e19e308c3dfc43af4c81e810..44fe2f3dbe1cd158f02be31e2dd26d1314ebd99a 100644 (file)
@@ -14,8 +14,8 @@
  * real cmin and cmax using a backend-private array, which is managed by
  * this module.
  *
- * To allow reusing existing combo cids, we also keep a hash table that
- * maps cmin,cmax pairs to combo cids.  This keeps the data structure size
+ * To allow reusing existing combo CIDs, we also keep a hash table that
+ * maps cmin,cmax pairs to combo CIDs.  This keeps the data structure size
  * reasonable in most cases, since the number of unique pairs used by any
  * one transaction is likely to be small.
  *
@@ -49,7 +49,7 @@
 #include "utils/hsearch.h"
 #include "utils/memutils.h"
 
-/* Hash table to lookup combo cids by cmin and cmax */
+/* Hash table to lookup combo CIDs by cmin and cmax */
 static HTAB *comboHash = NULL;
 
 /* Key and entry structures for the hash table */
@@ -75,7 +75,7 @@ typedef ComboCidEntryData *ComboCidEntry;
 
 /*
  * An array of cmin,cmax pairs, indexed by combo command id.
- * To convert a combo cid to cmin and cmax, you do a simple array lookup.
+ * To convert a combo CID to cmin and cmax, you do a simple array lookup.
  */
 static ComboCidKey comboCids = NULL;
 static int usedComboCids = 0;  /* number of elements in comboCids */
@@ -259,11 +259,11 @@ GetComboCommandId(CommandId cmin, CommandId cmax)
 
    if (found)
    {
-       /* Reuse an existing combo cid */
+       /* Reuse an existing combo CID */
        return entry->combocid;
    }
 
-   /* We have to create a new combo cid; we already made room in the array */
+   /* We have to create a new combo CID; we already made room in the array */
    combocid = usedComboCids;
 
    comboCids[combocid].cmin = cmin;
@@ -290,7 +290,7 @@ GetRealCmax(CommandId combocid)
 }
 
 /*
- * Estimate the amount of space required to serialize the current ComboCID
+ * Estimate the amount of space required to serialize the current combo CID
  * state.
  */
 Size
@@ -301,14 +301,14 @@ EstimateComboCIDStateSpace(void)
    /* Add space required for saving usedComboCids */
    size = sizeof(int);
 
-   /* Add space required for saving the combocids key */
+   /* Add space required for saving ComboCidKeyData */
    size = add_size(size, mul_size(sizeof(ComboCidKeyData), usedComboCids));
 
    return size;
 }
 
 /*
- * Serialize the ComboCID state into the memory, beginning at start_address.
+ * Serialize the combo CID state into the memory, beginning at start_address.
  * maxsize should be at least as large as the value returned by
  * EstimateComboCIDStateSpace.
  */
@@ -317,7 +317,7 @@ SerializeComboCIDState(Size maxsize, char *start_address)
 {
    char       *endptr;
 
-   /* First, we store the number of currently-existing ComboCIDs. */
+   /* First, we store the number of currently-existing combo CIDs. */
    *(int *) start_address = usedComboCids;
 
    /* If maxsize is too small, throw an error. */
@@ -333,9 +333,9 @@ SerializeComboCIDState(Size maxsize, char *start_address)
 }
 
 /*
- * Read the ComboCID state at the specified address and initialize this
- * backend with the same ComboCIDs.  This is only valid in a backend that
- * currently has no ComboCIDs (and only makes sense if the transaction state
+ * Read the combo CID state at the specified address and initialize this
+ * backend with the same combo CIDs.  This is only valid in a backend that
+ * currently has no combo CIDs (and only makes sense if the transaction state
  * is serialized and restored as well).
  */
 void
@@ -348,11 +348,11 @@ RestoreComboCIDState(char *comboCIDstate)
 
    Assert(!comboCids && !comboHash);
 
-   /* First, we retrieve the number of ComboCIDs that were serialized. */
+   /* First, we retrieve the number of combo CIDs that were serialized. */
    num_elements = *(int *) comboCIDstate;
    keydata = (ComboCidKeyData *) (comboCIDstate + sizeof(int));
 
-   /* Use GetComboCommandId to restore each ComboCID. */
+   /* Use GetComboCommandId to restore each combo CID. */
    for (i = 0; i < num_elements; i++)
    {
        cid = GetComboCommandId(keydata[i].cmin, keydata[i].cmax);
index 7c62852e7fa3cf57fe8448cfd0c3accad436b687..9a4f43c1ff155c5dbdf13c8c3caf39f1f0bb38cb 100644 (file)
@@ -191,7 +191,7 @@ struct HeapTupleHeaderData
 #define HEAP_HASEXTERNAL       0x0004  /* has external stored attribute(s) */
 #define HEAP_HASOID_OLD            0x0008  /* has an object-id field */
 #define HEAP_XMAX_KEYSHR_LOCK  0x0010  /* xmax is a key-shared locker */
-#define HEAP_COMBOCID          0x0020  /* t_cid is a combo cid */
+#define HEAP_COMBOCID          0x0020  /* t_cid is a combo CID */
 #define HEAP_XMAX_EXCL_LOCK        0x0040  /* xmax is exclusive locker */
 #define HEAP_XMAX_LOCK_ONLY        0x0080  /* xmax, if valid, is only a locker */
 
index 17eb94a8ffc2b782f0fd956ab22b51b363ea8195..2bf080b2ae26036372f85b3b644cf9b0373bd486 100644 (file)
@@ -51,7 +51,7 @@ SELECT ctid,cmin,* FROM combocidtest;
  (0,2) |    1 |      2
 (2 rows)
 
--- Test combo cids with portals
+-- Test combo CIDs with portals
 BEGIN;
 INSERT INTO combocidtest VALUES (333);
 DECLARE c CURSOR FOR SELECT ctid,cmin,* FROM combocidtest;
index 4faea36f41a45906c49a9bebfe73ff81e3d3ad8e..a5cdf6dba2972dcaaf9df0edae0801575a43ee8f 100644 (file)
@@ -39,7 +39,7 @@ COMMIT;
 -- combo data is not there anymore, but should still see tuples
 SELECT ctid,cmin,* FROM combocidtest;
 
--- Test combo cids with portals
+-- Test combo CIDs with portals
 BEGIN;
 
 INSERT INTO combocidtest VALUES (333);