index 7ebd3d35efd02245c71b4a80d0a6f49ed44cb059..26bad44b964aacfcfbe127ec2c496f7eb3ad7a6d 100644 (file)
@@ -38,31 +38,6 @@ commit_ts_desc(StringInfo buf, XLogReaderState *record)
appendStringInfo(buf, "pageno %d, oldestXid %u",
trunc->pageno, trunc->oldestXid);
}
- else if (info == COMMIT_TS_SETTS)
- {
- xl_commit_ts_set *xlrec = (xl_commit_ts_set *) rec;
- int nsubxids;
-
- appendStringInfo(buf, "set %s/%d for: %u",
- timestamptz_to_str(xlrec->timestamp),
- xlrec->nodeid,
- xlrec->mainxid);
- nsubxids = ((XLogRecGetDataLen(record) - SizeOfCommitTsSet) /
- sizeof(TransactionId));
- if (nsubxids > 0)
- {
- int i;
- TransactionId *subxids;
-
- subxids = palloc(sizeof(TransactionId) * nsubxids);
- memcpy(subxids,
- XLogRecGetData(record) + SizeOfCommitTsSet,
- sizeof(TransactionId) * nsubxids);
- for (i = 0; i < nsubxids; i++)
- appendStringInfo(buf, ", %u", subxids[i]);
- pfree(subxids);
- }
- }
}
const char *
return "ZEROPAGE";
case COMMIT_TS_TRUNCATE:
return "TRUNCATE";
- case COMMIT_TS_SETTS:
- return "SETTS";
default:
return NULL;
}
index 268bdba3398226ed45ff362bb1f90fddea5d28a8..0985fa155caea741e9d23be6773834e2af6a72d5 100644 (file)
static void DeactivateCommitTs(void);
static void WriteZeroPageXlogRec(int pageno);
static void WriteTruncateXlogRec(int pageno, TransactionId oldestXid);
-static void WriteSetTimestampXlogRec(TransactionId mainxid, int nsubxids,
- TransactionId *subxids, TimestampTz timestamp,
- RepOriginId nodeid);
/*
* TransactionTreeSetCommitTsData
@@ -133,18 +130,11 @@ static void WriteSetTimestampXlogRec(TransactionId mainxid, int nsubxids,
* permanent) so we need to keep the information about them here. If the
* subtrans implementation changes in the future, we might want to revisit the
* decision of storing timestamp info for each subxid.
- *
- * The write_xlog parameter tells us whether to include an XLog record of this
- * or not. Normally, this is called from transaction commit routines (both
- * normal and prepared) and the information will be stored in the transaction
- * commit XLog record, and so they should pass "false" for this. The XLog redo
- * code should use "false" here as well. Other callers probably want to pass
- * true, so that the given values persist in case of crashes.
*/
void
TransactionTreeSetCommitTsData(TransactionId xid, int nsubxids,
TransactionId *subxids, TimestampTz timestamp,
- RepOriginId nodeid, bool write_xlog)
+ RepOriginId nodeid)
{
int i;
TransactionId headxid;
@@ -161,13 +151,6 @@ TransactionTreeSetCommitTsData(TransactionId xid, int nsubxids,
if (!commitTsShared->commitTsActive)
return;
- /*
- * Comply with the WAL-before-data rule: if caller specified it wants this
- * value to be recorded in WAL, do so before touching the data.
- */
- if (write_xlog)
- WriteSetTimestampXlogRec(xid, nsubxids, subxids, timestamp, nodeid);
-
/*
* Figure out the latest Xid in this batch: either the last subxid if
* there's any, otherwise the parent xid.
@@ -993,28 +976,6 @@ WriteTruncateXlogRec(int pageno, TransactionId oldestXid)
(void) XLogInsert(RM_COMMIT_TS_ID, COMMIT_TS_TRUNCATE);
}
-/*
- * Write a SETTS xlog record
- */
-static void
-WriteSetTimestampXlogRec(TransactionId mainxid, int nsubxids,
- TransactionId *subxids, TimestampTz timestamp,
- RepOriginId nodeid)
-{
- xl_commit_ts_set record;
-
- record.timestamp = timestamp;
- record.nodeid = nodeid;
- record.mainxid = mainxid;
-
- XLogBeginInsert();
- XLogRegisterData((char *) &record,
- offsetof(xl_commit_ts_set, mainxid) +
- sizeof(TransactionId));
- XLogRegisterData((char *) subxids, nsubxids * sizeof(TransactionId));
- XLogInsert(RM_COMMIT_TS_ID, COMMIT_TS_SETTS);
-}
-
/*
* CommitTS resource manager's routines
*/
SimpleLruTruncate(CommitTsCtl, trunc->pageno);
}
- else if (info == COMMIT_TS_SETTS)
- {
- xl_commit_ts_set *setts = (xl_commit_ts_set *) XLogRecGetData(record);
- int nsubxids;
- TransactionId *subxids;
-
- nsubxids = ((XLogRecGetDataLen(record) - SizeOfCommitTsSet) /
- sizeof(TransactionId));
- if (nsubxids > 0)
- {
- subxids = palloc(sizeof(TransactionId) * nsubxids);
- memcpy(subxids,
- XLogRecGetData(record) + SizeOfCommitTsSet,
- sizeof(TransactionId) * nsubxids);
- }
- else
- subxids = NULL;
-
- TransactionTreeSetCommitTsData(setts->mainxid, nsubxids, subxids,
- setts->timestamp, setts->nodeid, false);
- if (subxids)
- pfree(subxids);
- }
else
elog(PANIC, "commit_ts_redo: unknown op code %u", info);
}
index c83aa16f2ce74b293f67ad318dfb78ea47b4fc15..441445927e8d719bef19acfea61fdd2342bead4c 100644 (file)
TransactionTreeSetCommitTsData(xid, nchildren, children,
replorigin_session_origin_timestamp,
- replorigin_session_origin, false);
+ replorigin_session_origin);
}
/*
/* Set the transaction commit timestamp and metadata */
TransactionTreeSetCommitTsData(xid, parsed->nsubxacts, parsed->subxacts,
- commit_time, origin_id, false);
+ commit_time, origin_id);
if (standbyState == STANDBY_DISABLED)
{
index 750369104ac59e9b7daed80d141bd61d88c2d361..608a1643cdd9c0cb6d041ab087bd4cc04d69e691 100644 (file)
@@ -25,7 +25,7 @@ extern bool check_track_commit_timestamp(bool *newval, void **extra,
extern void TransactionTreeSetCommitTsData(TransactionId xid, int nsubxids,
TransactionId *subxids, TimestampTz timestamp,
- RepOriginId nodeid, bool write_xlog);
+ RepOriginId nodeid);
extern bool TransactionIdGetCommitTsData(TransactionId xid,
TimestampTz *ts, RepOriginId *nodeid);
extern TransactionId GetLatestCommitTsData(TimestampTz *ts,
@@ -50,7 +50,6 @@ extern int committssyncfiletag(const FileTag *ftag, char *path);
/* XLOG stuff */
#define COMMIT_TS_ZEROPAGE 0x00
#define COMMIT_TS_TRUNCATE 0x10
-#define COMMIT_TS_SETTS 0x20
typedef struct xl_commit_ts_set
{