]> granicus.if.org Git - postgresql/commit
Adjust assertion in GetCurrentCommandId.
authorRobert Haas <rhaas@postgresql.org>
Thu, 21 Dec 2017 18:10:51 +0000 (13:10 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 21 Dec 2017 18:19:59 +0000 (13:19 -0500)
commitcce1ecfc77385233664de661d6a1b8b3c5d3d3f5
treedfff82d73f2b9a9a4fe1299d42b495f1f52b83e3
parent6719b238e8f0ea83c39d2b1728c7670cdaa34e06
Adjust assertion in GetCurrentCommandId.

currentCommandIdUsed is only used to skip redundant increments of the
command counter, and CommandCounterIncrement() is categorically denied
under parallelism anyway.  Therefore, it's OK for
GetCurrentCommandId() to mark the counter value used, as long as it
happens in the leader, not a worker.

Prior to commit e9baa5e9fa147e00a2466ab2c40eb99c8a700824, the slightly
incorrect check didn't matter, but now it does.  A test case added by
commit 1804284042e659e7d16904e7bbb0ad546394b6a3 uncovered the problem
by accident; it caused failures with force_parallel_mode=on/regress.

Report and review by Andres Freund.  Patch by me.

Discussion: http://postgr.es/m/20171221143106.5lhtygohvmazli3x@alap3.anarazel.de
src/backend/access/transam/xact.c