You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<
8000
script type="application/json" data-target="react-app.embeddedData">{"payload":{"commit":{"oid":"8d061acd12af26551b607299aa204c946d2b6ba2","url":"/postgres/postgres/commit/8d061acd12af26551b607299aa204c946d2b6ba2","authoredDate":"2022-05-19T16:20:32.000+02:00","committedDate":"2022-05-19T16:20:32.000+02:00","shortMessage":null,"shortMessageMarkdown":"\u003cdiv\u003eRepurpose PROC_COPYABLE_FLAGS as PROC_XMIN_FLAGS\u003c/div\u003e","shortMessageMarkdownLink":null,"bodyMessageHtml":"This is a slight, convenient semantics change from what commit\n\u003ca class=\"commit-link\" data-hovercard-type=\"commit\" data-hovercard-url=\"https://github.com/postgres/postgres/commit/0f0cfb494004befb0f6e89d3129347869420c509/hovercard\" href=\"https://github.com/postgres/postgres/commit/0f0cfb494004befb0f6e89d3129347869420c509\"\u003e\u003ctt\u003e0f0cfb4\u003c/tt\u003e\u003c/a\u003e (\"Fix parallel operations that prevent oldest xmin from\nadvancing\") introduced that lets us simplify the coding in the one place\nwhere it is used.\n\nBackpatch to 13. This is related to commit \u003ca class=\"commit-link\" data-hovercard-type=\"commit\" data-hovercard-url=\"https://github.com/postgres/postgres/commit/6fea65508a1aa6a1caa5f3e7b4d27bcccb0740d8/hovercard\" href=\"https://github.com/postgres/postgres/commit/6fea65508a1aa6a1caa5f3e7b4d27bcccb0740d8\"\u003e\u003ctt\u003e6fea655\u003c/tt\u003e\u003c/a\u003e (\"Tighten\nComputeXidHorizons' handling of walsenders\") rewriting the code site\nwhere this is used, which has not yet been backpatched, but it may well\nbe in the future.\n\nReviewed-by: Masahiko Sawada \u0026lt;sawada.mshk@gmail.com\u0026gt;\nDiscussion: \u003ca href=\"https://postgr.es/m/202204191637.eldwa2exvguw@alvherre.pgsql\" rel=\"nofollow\"\u003ehttps://postgr.es/m/202204191637.eldwa2exvguw@alvherre.pgsql\u003c/a\u003e","authors":[{"login":"alvherre","displayName":"Alvaro Herrera","avatarUrl":"https://avatars.githubusercontent.com/u/340005?v=4","path":"/alvherre","isGitHub":false}],"committerAttribution":false,"committer":{"login":"alvherre","displayName":"Alvaro Herrera","avatarUrl":"https://avatars.githubusercontent.com/u/340005?v=4","path":"/alvherre","isGitHub":false},"parents":["a1e7616d6e1e8056b6eae6d68be9e1e658afaf96"],"globalRelayId":"C_kwDOAA4m0toAKDhkMDYxYWNkMTJhZjI2NTUxYjYwNzI5OWFhMjA0Yzk0NmQyYjZiYTI","sha1":"a1e7616d6e1e8056b6eae6d68be9e1e658afaf96","sha2":"8d061acd12af26551b607299aa204c946d2b6ba2"},"currentUser":null,"repo":{"id":927442,"defaultBranch":"master","name":"postgres","ownerLogin":"postgres","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-09-21T11:35:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/177543?v=4","public":true,"private":false,"isOrgOwned":true},"diffEntryData":[{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":2684,"text":"@@ -2685,17 +2685,14 @@ ProcArrayInstallRestoredXmin(TransactionId xmin, PGPROC *proc)","html":"@@ -2685,17 +2685,14 @@ ProcArrayInstallRestoredXmin(TransactionId xmin, PGPROC *proc)","displayNoNewLineWarning":false,"position":0,"left":2684,"right":2684},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2685,"text":" \t\tTransactionIdIsNormal(xid) \u0026\u0026","html":" \t\t\u003cspan class=pl-en\u003eTransactionIdIsNormal\u003c/span\u003e(\u003cspan class=pl-s1\u003exid\u003c/span\u003e) \u003cspan class=pl-c1\u003e\u0026amp;\u0026amp;\u003c/span\u003e","displayNoNewLineWarning":false,"position":1,"left":2685,"right":2685},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2686,"text":" \t\tTransactionIdPrecedesOrEquals(xid, xmin))","html":" \t\t\u003cspan class=pl-en\u003eTransactionIdPrecedesOrEquals\u003c/span\u003e(\u003cspan class=pl-s1\u003exid\u003c/span\u003e, \u003cspan class=pl-s1\u003exmin\u003c/span\u003e))","displayNoNewLineWarning":false,"position":2,"left":2686,"right":2686},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2687,"text":" \t{","html":" \t{","displayNoNewLineWarning":false,"position":3,"left":2687,"right":2687},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2688,"text":"-\t\t/* Install xmin */","html":"-\t\t\u003cspan class=pl-c\u003e/* Install xmin */\u003c/span\u003e","displayNoNewLineWarning":false,"position":4,"left":2688,"right":2687},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2688,"text":"+\t\t/*","html":"+\t\t\u003cspan class=pl-c\u003e/*\u003c/span\u003e","displayNoNewLineWarning":false,"position":5,"left":2688,"right":2688},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2689,"text":"+\t\t * Install xmin and propagate the statusFlags that affect how the","html":"+\u003cspan class=pl-c\u003e\t\t * Install xmin and propagate the statusFlags that affect how the\u003c/span\u003e","displayNoNewLineWarning":false,"position":6,"left":2688,"right":2689},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2690,"text":"+\t\t * value is interpreted by vacuum.","html":"+\u003cspan class=pl-c\u003e\t\t * value is interpreted by vacuum.\u003c/span\u003e","displayNoNewLineWarning":false,"position":7,"left":2688,"right":2690},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2691,"text":"+\t\t */","html":"+\u003cspan class=pl-c\u003e\t\t */\u003c/span\u003e","displayNoNewLineWarning":false,"position":8,"left":2688,"right":2691},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2692,"text":" \t\tMyProc-\u003exmin = TransactionXmin = xmin;","html":" \t\t\u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003exmin\u003c/span\u003e \u003cspan class=pl-c1\u003e=\u003c/span\u003e \u003cspan class=pl-s1\u003eTransactionXmin\u003c/span\u003e \u003cspan class=pl-c1\u003e=\u003c/span\u003e \u003cspan class=pl-s1\u003exmin\u003c/span\u003e;","displayNoNewLineWarning":false,"position":9,"left":2689,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2690,"text":"-","html":"-","displayNoNewLineWarning":false,"position":10,"left":2690,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2691,"text":"-\t\t/* walsender cheats by passing proc == MyProc, don't check its flags */","html":"-\t\t\u003cspan class=pl-c\u003e/* walsender cheats by passing proc == MyProc, don\u0026#39;t check its flags */\u003c/span\u003e","displayNoNewLineWarning":false,"position":11,"left":2691,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2692,"text":"-\t\tif (proc != MyProc)","html":"-\t\t\u003cspan class=pl-k\u003eif\u003c/span\u003e (\u003cspan class=pl-s1\u003eproc\u003c/span\u003e \u003cspan class=pl-c1\u003e!=\u003c/span\u003e \u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e)","displayNoNewLineWarning":false,"position":12,"left":2692,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2693,"text":"-\t\t{","html":"-\t\t{","displayNoNewLineWarning":false,"position":13,"left":2693,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2694,"text":"-\t\t\t/* Flags being copied must be valid copy-able flags. */","html":"-\t\t\t\u003cspan class=pl-c\u003e/* Flags being copied must be valid copy-able flags. */\u003c/span\u003e","displayNoNewLineWarning":false,"position":14,"left":2694,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2695,"text":"-\t\t\tAssert((proc-\u003estatusFlags \u0026 (~PROC_COPYABLE_FLAGS)) == 0);","html":"-\t\t\t\u003cspan class=pl-en\u003eAssert\u003c/span\u003e((\u003cspan class=pl-s1\u003eproc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e \u003cspan class=pl-c1\u003e\u0026amp;\u003c/span\u003e (~\u003cspan class=pl-c1\u003ePROC_COPYABLE_FLAGS\u003c/span\u003e)) \u003cspan class=pl-c1\u003e==\u003c/span\u003e \u003cspan class=pl-c1\u003e0\u003c/span\u003e);","displayNoNewLineWarning":false,"position":15,"left":2695,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2696,"text":"-\t\t\tMyProc-\u003estatusFlags = proc-\u003estatusFlags;","html":"-\t\t\t\u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e \u003cspan class=pl-c1\u003e=\u003c/span\u003e \u003cspan class=pl-s1\u003eproc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e;","displayNoNewLineWarning":false,"position":16,"left":2696,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2697,"text":"-\t\t\tProcGlobal-\u003estatusFlags[MyProc-\u003epgxactoff] = MyProc-\u003estatusFlags;","html":"-\t\t\t\u003cspan class=pl-s1\u003eProcGlobal\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e[\u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003epgxactoff\u003c/span\u003e] \u003cspan class=pl-c1\u003e=\u003c/span\u003e \u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e;","displayNoNewLineWarning":false,"position":17,"left":2697,"right":2692},{"stylingDirective":null,"type":"DELETION","blobLineNumber":2698,"text":"-\t\t}","html":"-\t\t}","displayNoNewLineWarning":false,"position":18,"left":2698,"right":2692},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2693,"text":"+\t\tMyProc-\u003estatusFlags = (MyProc-\u003estatusFlags \u0026 ~PROC_XMIN_FLAGS) |","html":"+\t\t\u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e \u003cspan class=pl-c1\u003e=\u003c/span\u003e (\u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e \u003cspan class=pl-c1\u003e\u0026amp;\u003c/span\u003e ~\u003cspan class=pl-c1\u003ePROC_XMIN_FLAGS\u003c/span\u003e) |","displayNoNewLineWarning":false,"position":19,"left":2698,"right":2693},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2694,"text":"+\t\t\t(proc-\u003estatusFlags \u0026 PROC_XMIN_FLAGS);","html":"+\t\t\t(\u003cspan class=pl-s1\u003eproc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e \u003cspan class=pl-c1\u003e\u0026amp;\u003c/span\u003e \u003cspan class=pl-c1\u003ePROC_XMIN_FLAGS\u003c/span\u003e);","displayNoNewLineWarning":false,"position":20,"left":2698,"right":2694},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":2695,"text":"+\t\tProcGlobal-\u003estatusFlags[MyProc-\u003epgxactoff] = MyProc-\u003estatusFlags;","html":"+\t\t\u003cspan class=pl-s1\u003eProcGlobal\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e[\u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003epgxactoff\u003c/span\u003e] \u003cspan class=pl-c1\u003e=\u003c/span\u003e \u003cspan class=pl-s1\u003eMyProc\u003c/span\u003e\u003cspan class=pl-c1\u003e-\u0026gt;\u003c/span\u003e\u003cspan class=pl-c1\u003estatusFlags\u003c/span\u003e;","displayNoNewLineWarning":false,"position":21,"left":2698,"right":2695},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2696,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":22,"left":2699,"right":2696},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2697,"text":" \t\tresult = true;","html":" \t\t\u003cspan class=pl-s1\u003eresult\u003c/span\u003e \u003cspan class=pl-c1\u003e=\u003c/span\u003e true;","displayNoNewLineWarning":false,"position":23,"left":2700,"right":2697},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":2698,"text":" \t}","html":" \t}","displayNoNewLineWarning":false,"position":24,"left":2701,"right":2698}],"diffNumber":0,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":5187,"linesChanged":17,"newTreeEntry":{"lineCount":5187,"path":"src/backend/storage/ipc/procarray.c","mode":100644,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"src/backend/storage/ipc/procarray.c","mode":100644},"linesAdded":7,"linesDeleted":10,"path":"src/backend/storage/ipc/procarray.c","pathDigest":"8879f0173be303070ab7931db7c757c96796d84402640b9e386a4150ed97b179","status":"MODIFIED","truncatedReason":null,"oldOid":"a1e7616d6e1e8056b6eae6d68be9e1e658afaf96","newOid":"8d061acd12af26551b607299aa204c946d2b6ba2","copilotChatReference":null,"deletedSha":"a1e7616d6e1e8056b6eae6d68be9e1e658afaf96","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null},{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":68,"text":"@@ -69,11 +69,10 @@ struct XidCache","html":"@@ -69,11 +69,10 @@ struct XidCache","displayNoNewLineWarning":false,"position":0,"left":68,"right":68},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":69,"text":" \t(PROC_IN_VACUUM | PROC_IN_SAFE_IC | PROC_VACUUM_FOR_WRAPAROUND)","html":" \t(PROC_IN_VACUUM | PROC_IN_SAFE_IC | PROC_VACUUM_FOR_WRAPAROUND)","displayNoNewLineWarning":false,"position":1,"left":69,"right":69},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":70,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":2,"left":70,"right":70},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":71,"text":" /*","html":" \u003cspan class=pl-c\u003e/*\u003c/span\u003e","displayNoNewLineWarning":false,"position":3,"left":71,"right":71},{"stylingDirective":null,"type":"DELETION","blobLineNumber":72,"text":"- * Flags that are valid to copy from another proc, the parallel leader","html":"-\u003cspan class=pl-c\u003e * Flags that are valid to copy from another proc, the parallel leader\u003c/span\u003e","displayNoNewLineWarning":false,"position":4,"left":72,"right":71},{"stylingDirective":null,"type":"DELETION","blobLineNumber":73,"text":"- * process in practice. Currently, flags that are set during parallel","html":"-\u003cspan class=pl-c\u003e * process in practice. Currently, flags that are set during parallel\u003c/span\u003e","displayNoNewLineWarning":false,"position":5,"left":73,"right":71},{"stylingDirective":null,"type":"DELETION","blobLineNumber":74,"text":"- * vacuum and parallel index creation are allowed.","html":"-\u003cspan class=pl-c\u003e * vacuum and parallel index creation are allowed.\u003c/span\u003e","displayNoNewLineWarning":false,"position":6,"left":74,"right":71},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":72,"text":"+ * Xmin-related flags. Make sure any flags that affect how the process' Xmin","html":"+\u003cspan class=pl-c\u003e * Xmin-related flags. Make sure any flags that affect how the process\u0026#39; Xmin\u003c/span\u003e","displayNoNewLineWarning":false,"position":7,"left":74,"right":72},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":73,"text":"+ * value is interpreted by VACUUM are included here.","html":"+\u003cspan class=pl-c\u003e * value is interpreted by VACUUM are included here.\u003c/span\u003e","displayNoNewLineWarning":false,"position":8,"left":74,"right":73},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":74,"text":" */","html":" \u003cspan class=pl-c\u003e */\u003c/span\u003e","displayNoNewLineWarning":false,"position":9,"left":75,"right":74},{"stylingDirective":null,"type":"DELETION","blobLineNumber":76,"text":"-#define\t\tPROC_COPYABLE_FLAGS (PROC_IN_VACUUM | PROC_IN_SAFE_IC)","html":"-\u003cspan class=\"pl-k\"\u003e#define\u003c/span\u003e\t\t\u003cspan class=\"pl-c1 x x-first x-last\"\u003ePROC_COPYABLE_FLAGS\u003c/span\u003e (PROC_IN_VACUUM | PROC_IN_SAFE_IC)","displayNoNewLineWarning":false,"position":10,"left":76,"right":74},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":75,"text":"+#define\t\tPROC_XMIN_FLAGS (PROC_IN_VACUUM | PROC_IN_SAFE_IC)","html":"+\u003cspan class=\"pl-k\"\u003e#define\u003c/span\u003e\t\t\u003cspan class=\"pl-c1 x x-first x-last\"\u003ePROC_XMIN_FLAGS\u003c/span\u003e (PROC_IN_VACUUM | PROC_IN_SAFE_IC)","displayNoNewLineWarning":false,"position":11,"left":76,"right":75},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":76,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":12,"left":77,"right":76},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":77,"text":" /*","html":" \u003cspan class=pl-c\u003e/*\u003c/span\u003e","displayNoNewLineWarning":false,"position":13,"left":78,"right":77},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":78,"text":" * We allow a small number of \"weak\" relation locks (AccessShareLock,","html":" \u003cspan class=pl-c\u003e * We allow a small number of \u0026quot;weak\u0026quot; relation locks (AccessShareLock,\u003c/span\u003e","displayNoNewLineWarning":false,"position":14,"left":79,"right":78}],"diffNumber":1,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":461,"linesChanged":7,"newTreeEntry":{"lineCount":461,"path":"src/include/storage/proc.h","mode":100644,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"src/include/storage/proc.h","mode":100644},"linesAdded":3,"linesDeleted":4,"path":"src/include/storage/proc.h","pathDigest":"9822e9de12d1ff125fc68216ac4ebc56b47f962b02c6bf5d17de698f6eebf829","status":"MODIFIED","truncatedReason":null,"oldOid":"a1e7616d6e1e8056b6eae6d68be9e1e658afaf96","newOid":"8d061acd12af26551b607299aa204c946d2b6ba2","copilotChatReference":null,"deletedSha":"a1e7616d6e1e8056b6eae6d68be9e1e658afaf96","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null}],"splitViewPreference":"unified","ignoreWhitespace":false,"repoOwnerGlobalRelayId":"MDEyOk9yZ2FuaXphdGlvbjE3NzU0Mw==","commentsPreference":"visible","diffLineSpacingPreference":"relaxed","useMonospaceFont":false,"pasteUrlLinkAsPlainText":false,"userNotices":[],"path":"/postgres/postgres/commit/8d061acd12af26551b607299aa204c946d2b6ba2","fileTreeExpanded":true,"headerInfo":{"additions":10,"deletions":14,"filesChanged":2,"filesChangedString":"2"},"moreDiffsToLoad":false,"asyncDiffLoadInfo":{"startIndex":2,"truncated":false,"byteCount":1547,"lineShownCount":40},"commentInfo":{"canComment":false,"locked":false,"canLock":false,"repoArchived":false},"csrf_tokens":{"/users/diffview?diff=split":{"post":"FA2aZ3JqT-tV-chNefPfCl8p0aVP5AXPmtbkZodynjp3nrvkN8iYDxI9xIm2833VUcaGvviE5M4Nlx5FpLPdoA"},"/users/diffview?diff=unified":{"post":"8XxEt6y8ENZ28FHpy38fEGyX1cTTIQKFTm4XwLuUcZ-S72U06R7HMjE0XS0Ef73PYniC32RB44TZL-3jmFUyBQ"},"/notifications/thread":{"post":"zjd7qF-vmP3Y301dEaTSxe3_XGR7YynExeTX3z-g8krQEUWo00EOU8UeohdPN2in3ZBnDKLXei2Y6VEXd9cJKg"}}},"title":"Repurpose PROC_COPYABLE_FLAGS as PROC_XMIN_FLAGS · postgres/postgres@8d061ac","appPayload":{"helpUrl":"https://docs.github.com","findInDiffWorkerPath":"/assets-cdn/worker/find-in-diff-worker-2bfe39677d14.js","enabled_features":{"diff_ux_refresh_beta":false,"diff_inline_comments":true,"diff_ux_refresh_ssr_five":false,"diff_ux_refresh_ssr_ten":false,"react_diff_line_type_character_correction":true}}}
This is a slight, convenient semantics change from what commit
0f0cfb4 ("Fix parallel operations that prevent oldest xmin from
advancing") introduced that lets us simplify the coding in the one place
where it is used.
Backpatch to 13. This is related to commit 6fea655 ("Tighten
ComputeXidHorizons' handling of walsenders") rewriting the code site
where this is used, which has not yet been backpatched, but it may well
be in the future.
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/202204191637.eldwa2exvguw@alvherre.pgsql
0 commit comments