mirror of
https://github.com/postgres/postgres.git
synced 2025-08-21 10:42:50 +03:00
Improve code around the recently added rm_identify rmgr callback.
There are four weaknesses in728f152e07f998d2cb4fe5f24ec8da2c3bda98f2: * append_init() in heapdesc.c was ugly and required that rm_identify return values are only valid till the next call. Instead just add a couple more switch() cases for the INIT_PAGE cases. Now the returned value will always be valid. * a couple rm_identify() callbacks missed masking xl_info with ~XLR_INFO_MASK. * pg_xlogdump didn't map a NULL rm_identify to UNKNOWN or a similar string. * append_init() was called when id=NULL - which should never actually happen. But it's better to be careful.
This commit is contained in:
@@ -244,9 +244,6 @@ struct XLogRecord;
|
||||
* "VACUUM". rm_desc can then be called to obtain additional detail for the
|
||||
* record, if available (e.g. the last block).
|
||||
*
|
||||
* The return value from rm_identify is a pointer to a statically allocated
|
||||
* buffer, and only valid until the next invocation of the callback.
|
||||
*
|
||||
* RmgrTable[] is indexed by RmgrId values (see rmgrlist.h).
|
||||
*/
|
||||
typedef struct RmgrData
|
||||
|
Reference in New Issue
Block a user