git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 898f8a9) | patch
Improve code around the recently added rm_identify rmgr callback.
2014年9月22日 14:48:14 +0000 (16:48 +0200)
2014年9月22日 15:49:34 +0000 (17:49 +0200)
commit 604f7956b9460192222dd37bd3baea24cb669a47
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.
18 files changed:
contrib/pg_xlogdump/pg_xlogdump.c diff | blob | blame | history
src/backend/access/rmgrdesc/clogdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/dbasedesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/gindesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/gistdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/heapdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/mxactdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/nbtdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/relmapdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/seqdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/smgrdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/spgdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/standbydesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/tblspcdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/xactdesc.c diff | blob | blame | history
src/backend/access/rmgrdesc/xlogdesc.c diff | blob | blame | history
src/backend/access/transam/xlog.c diff | blob | blame | history
src/include/access/xlog_internal.h diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /