pgsql: Propagate xactStartTimestamp and stmtStartTimestamp toparallel
От | Tom Lane |
---|---|
Тема | pgsql: Propagate xactStartTimestamp and stmtStartTimestamp toparallel |
Дата | |
Msg-id | E1g8p0N-0005yS-4v@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Propagate xactStartTimestamp and stmtStartTimestamp to parallel workers. Previously, a worker process would establish values for these based on its own start time. In v10 and up, this can trivially be shown to cause misbehavior of transaction_timestamp(), timestamp_in(), and related functions which are (perhaps unwisely?) marked parallel-safe. It seems likely that other behaviors might diverge from what happens in the parent as well. It's not as trivial to demonstrate problems in 9.6 or 9.5, but I'm sure it's still possible, so back-patch to all branches containing parallel worker infrastructure. In HEAD only, mark now() and statement_timestamp() as parallel-safe (other affected functions already were). While in theory we could still squeeze that change into v11, it doesn't seem important enough to force a last-minute catversion bump. Konstantin Knizhnik, whacked around a bit by me Discussion: https://postgr.es/m/6406dbd2-5d37-4cb6-6eb2-9c44172c7e7c@postgrespro.ru Branch ------ REL9_6_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/bdc2e7a19af7066ba5688fa0e0d3e6c03558c0c0 Modified Files -------------- src/backend/access/transam/parallel.c | 11 +++++++++++ src/backend/access/transam/xact.c | 36 +++++++++++++++++++++++++++++++---- src/include/access/xact.h | 1 + 3 files changed, 44 insertions(+), 4 deletions(-)
В списке pgsql-committers по дате отправления: