postgresql/src/include/replication
Alvaro Herrera b060dbe000
Rework XLogReader callback system
Code review for 0dc8ead463, prompted by a bug closed by 91c40548d5.

XLogReader's system for opening and closing segments had gotten too
complicated, with callbacks being passed at both the XLogReaderAllocate
level (read_page) as well as at the WALRead level (segment_open).  This
was confusing and hard to follow, so restructure things so that these
callbacks are passed together at XLogReaderAllocate time, and add
another callback to the set (segment_close) to make it a coherent whole.
Also, ensure XLogReaderState is an argument to all the callbacks, so
that they can grab at the ->private data if necessary.

Document the whole arrangement more clearly.

Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://postgr.es/m/20200422175754.GA19858@alvherre.pgsql
2020-05-08 15:40:11 -04:00
..
backup_manifest.h Also rename 'struct manifest_info'. 2020-04-23 09:47:50 -04:00
basebackup.h Also rename 'struct manifest_info'. 2020-04-23 09:47:50 -04:00
decode.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
logical.h Rework XLogReader callback system 2020-05-08 15:40:11 -04:00
logicallauncher.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
logicalproto.h Prepare to support non-tables in publications 2020-03-19 08:25:07 +01:00
logicalrelation.h Add logical replication support to replicate into partitioned tables 2020-04-06 15:15:52 +02:00
logicalworker.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
message.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
origin.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
output_plugin.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pgoutput.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
reorderbuffer.h Set ReorderBufferTXN->final_lsn more eagerly 2020-01-17 18:00:39 -03:00
slot.h Allow users to limit storage reserved by replication slots 2020-04-07 18:35:00 -04:00
snapbuild.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
syncrep.h Fix race conditions in synchronous standby management. 2020-04-18 14:02:44 -04:00
walreceiver.h Rationalize GetWalRcv{Write,Flush}RecPtr(). 2020-04-08 23:45:09 +12:00
walsender.h Generate backup manifests for base backups, and validate them. 2020-04-03 15:05:59 -04:00
walsender_private.h Fix race conditions in synchronous standby management. 2020-04-18 14:02:44 -04:00
worker_internal.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00