pgsql: Mark more functions parallel-restricted or parallel-unsafe.

Поиск
Список
Период
Сортировка
От Robert Haas
Тема pgsql: Mark more functions parallel-restricted or parallel-unsafe.
Дата
Msg-id E1Zn7IO-0001jv-P4@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Mark more functions parallel-restricted or parallel-unsafe.

Commit 7aea8e4f2daa4b39ca9d1309a0c4aadb0f7ed81b was overoptimistic
about the degree of safety associated with running various functions
in parallel mode.  Functions that take a table name or OID as an
argument are at least parallel-restricted, because the table might be
temporary, and we currently don't allow parallel workers to touch
temporary tables.  Functions that take a query as an argument are
outright unsafe, because the query could be anything, including a
parallel-unsafe query.

Also, the queue of pending notifications is backend-private, so adding
to it from a worker doesn't behave correctly.  We could fix this by
transferring the worker's queue of pending notifications to the master
during worker cleanup, but that seems like more trouble than it's
worth for now.  In addition to adjusting the pg_proc.h markings, also
add an explicit check for this in async.c.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/816e336f12ecabdc834d4cc31bcf966b2dd323dc

Modified Files
--------------
src/backend/commands/async.c     |    3 +++
src/include/catalog/catversion.h |    2 +-
src/include/catalog/pg_proc.h    |   40 +++++++++++++++++++-------------------
3 files changed, 24 insertions(+), 21 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: pgsql: Fix a problem with parallel workers being unable to restore role
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Rewrite interaction of parallel mode with parallel executor supp