postgresql/src/include
Alvaro Herrera 0dc8ead463 Refactor WAL file-reading code into WALRead()
XLogReader, walsender and pg_waldump all had their own routines to read
data from WAL files to memory, with slightly different approaches
according to the particular conditions of each environment.  There's a
lot of commonality, so we can refactor that into a single routine
WALRead in XLogReader, and move the differences to a separate (simpler)
callback that just opens the next WAL-segment.  This results in a
clearer (ahem) code flow.

The error reporting needs are covered by filling in a new error-info
struct, WALReadError, and it's the caller's responsibility to act on it.
The backend has WALReadRaiseError() to do so.

We no longer ever need to seek in this interface; switch to using
pg_pread().

Author: Antonin Houska, with contributions from Álvaro Herrera
Reviewed-by: Michaël Paquier, Kyotaro Horiguchi
Discussion: https://postgr.es/m/14984.1554998742@spoje.net
2019-11-25 15:04:54 -03:00
..
access Refactor WAL file-reading code into WALRead() 2019-11-25 15:04:54 -03:00
bootstrap Remove more unreferenced function declarations 2019-07-07 09:58:33 +09:00
catalog Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
commands Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
common Fix use of term "verifier" 2019-10-12 21:41:59 +02:00
datatype Update copyright for 2019 2019-01-02 12:44:25 -05:00
executor Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
fe_utils Fix parallel restore of FKs to partitioned tables 2019-10-17 09:58:01 +02:00
foreign Fix inconsistencies and typos in the tree 2019-07-16 13:23:53 +09:00
jit Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
lib Add reusable routine for making arrays unique. 2019-11-07 17:00:48 +13:00
libpq In the postmaster, rely on the signal infrastructure to block signals. 2019-10-13 15:48:26 -04:00
mb Fix inconsistencies and typos in the tree, take 9 2019-08-05 12:14:58 +09:00
nodes Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
optimizer Generate EquivalenceClass members for partitionwise child join rels. 2019-11-05 11:42:24 -05:00
parser Require the schema qualification in pg_temp.type_name(arg). 2019-08-05 07:48:41 -07:00
partitioning Improve pruning of a default partition 2019-08-04 11:18:45 -04:00
port Update comment about __sync_lock_test_and_set() bug. 2019-10-26 12:55:06 -07:00
portability Update copyright for 2019 2019-01-02 12:44:25 -05:00
postmaster Fix inconsistencies and typos in the tree 2019-07-16 13:23:53 +09:00
regex Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
replication Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
rewrite Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
snowball Sync our Snowball stemmer dictionaries with current upstream 2019-07-04 13:26:48 +02:00
statistics Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
storage Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
tcop Revert hooks for session start and end, take two 2019-10-02 09:55:27 +09:00
tsearch Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
utils Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
c.h Fix ecpglib.h to declare bool consistently with c.h. 2019-11-12 13:00:04 -05:00
fmgr.h Remove configure --disable-float4-byval 2019-11-21 18:29:21 +01:00
funcapi.h Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
getaddrinfo.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
getopt_long.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
Makefile Get rid of jsonpath_gram.h and jsonpath_scanner.h 2019-03-20 11:13:34 +03:00
miscadmin.h Fix inconsistencies and typos in the tree, take 11 2019-08-19 16:21:39 +09:00
pg_config.h.in Remove configure --disable-float4-byval 2019-11-21 18:29:21 +01:00
pg_config.h.win32 Fix ecpglib.h to declare bool consistently with c.h. 2019-11-12 13:00:04 -05:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pg_getopt.h Use our own getopt() on OpenBSD. 2019-01-18 15:06:26 -05:00
pg_trace.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pgstat.h Remove fmgr.h includes from headers that don't really need it. 2019-08-16 10:35:31 -07:00
pgtar.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
pgtime.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
port.h In the postmaster, rely on the signal infrastructure to block signals. 2019-10-13 15:48:26 -04:00
postgres.h Remove configure --disable-float4-byval 2019-11-21 18:29:21 +01:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
rusagestub.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
windowapi.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00