pg.ddx.io pgsql-committers@postgresql.org mailing list archivehelp / color / mirror / Atom feed
pgsql: Fix full-page writes of internal GIN pages. 6+ messages / 1 participants [nested] [flat]
* pgsql: Fix full-page writes of internal GIN pages. @ 2013-12-03 21:33 Heikki Linnakangas <heikki.linnakangas@iki.fi> 0 siblings, 0 replies; 6+ messages in thread From: Heikki Linnakangas @ 2013-12-03 21:33 UTC (permalink / raw) To: pgsql-committers Fix full-page writes of internal GIN pages. Insertion to a non-leaf GIN page didn't make a full-page image of the page, which is wrong. The code used to do it correctly, but was changed (commit 853d1c3103fa961ae6219f0281885b345593d101) because the redo-routine didn't track incomplete splits correctly when the page was restored from a full page image. Of course, that was not right way to fix it, the redo routine should've been fixed instead. The redo-routine was surreptitiously fixed in 2010 (commit 4016bdef8aded77b4903c457050622a5a1815c16), so all we need to do now is revert the code that creates the record to its original form. This doesn't change the format of the WAL record. Backpatch to all supported versions. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/22122c83f1331d03e8317afbfcfbb65bef9c82d2 Modified Files -------------- src/backend/access/gin/gindatapage.c | 9 ++++++--- src/backend/access/gin/ginentrypage.c | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers ^ permalink raw reply [nested|flat] 6+ messages in thread
* pgsql: Fix full-page writes of internal GIN pages. @ 2013-12-03 21:33 Heikki Linnakangas <heikki.linnakangas@iki.fi> 0 siblings, 0 replies; 6+ messages in thread From: Heikki Linnakangas @ 2013-12-03 21:33 UTC (permalink / raw) To: pgsql-committers Fix full-page writes of internal GIN pages. Insertion to a non-leaf GIN page didn't make a full-page image of the page, which is wrong. The code used to do it correctly, but was changed (commit 853d1c3103fa961ae6219f0281885b345593d101) because the redo-routine didn't track incomplete splits correctly when the page was restored from a full page image. Of course, that was not right way to fix it, the redo routine should've been fixed instead. The redo-routine was surreptitiously fixed in 2010 (commit 4016bdef8aded77b4903c457050622a5a1815c16), so all we need to do now is revert the code that creates the record to its original form. This doesn't change the format of the WAL record. Backpatch to all supported versions. Branch ------ REL9_1_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/e6acb956a0505572b470daf27c145e930e689b23 Modified Files -------------- src/backend/access/gin/gindatapage.c | 42 +++++++++++++-------------------- src/backend/access/gin/ginentrypage.c | 42 +++++++++++++-------------------- 2 files changed, 34 insertions(+), 50 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers ^ permalink raw reply [nested|flat] 6+ messages in thread
* pgsql: Fix full-page writes of internal GIN pages. @ 2013-12-03 21:33 Heikki Linnakangas <heikki.linnakangas@iki.fi> 0 siblings, 0 replies; 6+ messages in thread From: Heikki Linnakangas @ 2013-12-03 21:33 UTC (permalink / raw) To: pgsql-committers Fix full-page writes of internal GIN pages. Insertion to a non-leaf GIN page didn't make a full-page image of the page, which is wrong. The code used to do it correctly, but was changed (commit 853d1c3103fa961ae6219f0281885b345593d101) because the redo-routine didn't track incomplete splits correctly when the page was restored from a full page image. Of course, that was not right way to fix it, the redo routine should've been fixed instead. The redo-routine was surreptitiously fixed in 2010 (commit 4016bdef8aded77b4903c457050622a5a1815c16), so all we need to do now is revert the code that creates the record to its original form. This doesn't change the format of the WAL record. Backpatch to all supported versions. Branch ------ REL9_2_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/06df57ac6245f4495163bcad1316ec46444c73b3 Modified Files -------------- src/backend/access/gin/gindatapage.c | 42 +++++++++++++-------------------- src/backend/access/gin/ginentrypage.c | 42 +++++++++++++-------------------- 2 files changed, 34 insertions(+), 50 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers ^ permalink raw reply [nested|flat] 6+ messages in thread
* pgsql: Fix full-page writes of internal GIN pages. @ 2013-12-03 21:33 Heikki Linnakangas <heikki.linnakangas@iki.fi> 0 siblings, 0 replies; 6+ messages in thread From: Heikki Linnakangas @ 2013-12-03 21:33 UTC (permalink / raw) To: pgsql-committers Fix full-page writes of internal GIN pages. Insertion to a non-leaf GIN page didn't make a full-page image of the page, which is wrong. The code used to do it correctly, but was changed (commit 853d1c3103fa961ae6219f0281885b345593d101) because the redo-routine didn't track incomplete splits correctly when the page was restored from a full page image. Of course, that was not right way to fix it, the redo routine should've been fixed instead. The redo-routine was surreptitiously fixed in 2010 (commit 4016bdef8aded77b4903c457050622a5a1815c16), so all we need to do now is revert the code that creates the record to its original form. This doesn't change the format of the WAL record. Backpatch to all supported versions. Branch ------ REL9_0_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/760606dc5820fa9a849929e4ef35b98b2cdc9994 Modified Files -------------- src/backend/access/gin/gindatapage.c | 42 +++++++++++++-------------------- src/backend/access/gin/ginentrypage.c | 42 +++++++++++++-------------------- 2 files changed, 34 insertions(+), 50 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers ^ permalink raw reply [nested|flat] 6+ messages in thread
* pgsql: Fix full-page writes of internal GIN pages. @ 2013-12-03 21:33 Heikki Linnakangas <heikki.linnakangas@iki.fi> 0 siblings, 0 replies; 6+ messages in thread From: Heikki Linnakangas @ 2013-12-03 21:33 UTC (permalink / raw) To: pgsql-committers Fix full-page writes of internal GIN pages. Insertion to a non-leaf GIN page didn't make a full-page image of the page, which is wrong. The code used to do it correctly, but was changed (commit 853d1c3103fa961ae6219f0281885b345593d101) because the redo-routine didn't track incomplete splits correctly when the page was restored from a full page image. Of course, that was not right way to fix it, the redo routine should've been fixed instead. The redo-routine was surreptitiously fixed in 2010 (commit 4016bdef8aded77b4903c457050622a5a1815c16), so all we need to do now is revert the code that creates the record to its original form. This doesn't change the format of the WAL record. Backpatch to all supported versions. Branch ------ REL9_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/8fd04cb32867e35a6a88860cc2c735f891393402 Modified Files -------------- src/backend/access/gin/gindatapage.c | 42 +++++++++++++-------------------- src/backend/access/gin/ginentrypage.c | 42 +++++++++++++-------------------- 2 files changed, 34 insertions(+), 50 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers ^ permalink raw reply [nested|flat] 6+ messages in thread
* pgsql: Fix full-page writes of internal GIN pages. @ 2013-12-03 21:33 Heikki Linnakangas <heikki.linnakangas@iki.fi> 0 siblings, 0 replies; 6+ messages in thread From: Heikki Linnakangas @ 2013-12-03 21:33 UTC (permalink / raw) To: pgsql-committers Fix full-page writes of internal GIN pages. Insertion to a non-leaf GIN page didn't make a full-page image of the page, which is wrong. The code used to do it correctly, but was changed (commit 853d1c3103fa961ae6219f0281885b345593d101) because the redo-routine didn't track incomplete splits correctly when the page was restored from a full page image. Of course, that was not right way to fix it, the redo routine should've been fixed instead. The redo-routine was surreptitiously fixed in 2010 (commit 4016bdef8aded77b4903c457050622a5a1815c16), so all we need to do now is revert the code that creates the record to its original form. This doesn't change the format of the WAL record. Backpatch to all supported versions. Branch ------ REL8_4_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/67fc33d3ad3b1afa12005a3866c43c6e6ce407c3 Modified Files -------------- src/backend/access/gin/gindatapage.c | 42 +++++++++++++-------------------- src/backend/access/gin/ginentrypage.c | 42 +++++++++++++-------------------- 2 files changed, 34 insertions(+), 50 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers ^ permalink raw reply [nested|flat] 6+ messages in thread
end of thread, other threads:[~2013-12-03 21:33 UTC | newest] Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2013-12-03 21:33 pgsql: Fix full-page writes of internal GIN pages. Heikki Linnakangas <heikki.linnakangas@iki.fi> 2013-12-03 21:33 pgsql: Fix full-page writes of internal GIN pages. Heikki Linnakangas <heikki.linnakangas@iki.fi> 2013-12-03 21:33 pgsql: Fix full-page writes of internal GIN pages. Heikki Linnakangas <heikki.linnakangas@iki.fi> 2013-12-03 21:33 pgsql: Fix full-page writes of internal GIN pages. Heikki Linnakangas <heikki.linnakangas@iki.fi> 2013-12-03 21:33 pgsql: Fix full-page writes of internal GIN pages. Heikki Linnakangas <heikki.linnakangas@iki.fi> 2013-12-03 21:33 pgsql: Fix full-page writes of internal GIN pages. Heikki Linnakangas <heikki.linnakangas@iki.fi>
This inbox is served by DDX for PostgreSQL; see mirroring instructions for how to clone and mirror all data and code used for this inbox