Pass more than the first XLogRecData entry to rm_desc, with WAL_DEBUG.
If you compile with WAL_DEBUG and enable it with wal_debug=on, we used to
only pass the first XLogRecData entry to the rm_desc routine. I think the
original assumprion was that the first XLogRecData entry contains all the
necessary information for the rm_desc routine, but that's a pretty shaky
assumption. At least standby_redo didn't get the memo.
To fix, piece together all the data in a temporary buffer, and pass that to
the rm_desc routine.
It's been like this forever, but the patch didn't apply cleanly to
back-branches. Probably wouldn't be hard to fix the conflicts, but it's
not worth the trouble.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/c2a6724823c14fd442c5441eb169b2581781fef0
Modified Files
--------------
src/backend/access/transam/xlog.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)