Обсуждение: pgsql: Move tracking of in_streaming to PGOutputData

Поиск
Список
Период
Сортировка

pgsql: Move tracking of in_streaming to PGOutputData

От
Michael Paquier
Дата:
Move tracking of in_streaming to PGOutputData

"in_streaming" is a flag used to track if an instance of pgoutput is
streaming changes.  When pgoutput is started, the flag was always reset,
switched it back and forth in the stream start/stop callbacks.

Before this commit, it was a global variable, which is confusing as it
is actually attached to a state of PGOutputData.  Per my analysis, using
a global variable did not lead to an active bug like in 54ccfd65868c,
but it makes the code more consistent.  Note that we cannot backpatch
this change anyway as it requires the addition of a new field to
PGOutputData, exposed in pgoutput.h.

Author: Hou Zhijie
Reviewed-by: Amit Kapila, Michael Paquier, Peter Smith
Discussion: https://postgr.es/m/OS0PR01MB571690EF24F51F51EFFCBB0E94FAA@OS0PR01MB5716.jpnprd01.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9210afd3bcd65feccb883ace4ed6dcef6a684585

Modified Files
--------------
src/backend/replication/pgoutput/pgoutput.c | 34 +++++++++++++++--------------
src/include/replication/pgoutput.h          |  3 +++
2 files changed, 21 insertions(+), 16 deletions(-)