Avoid early reuse of btree pages, causing incorrect query results. When we allowed read-only transactions to skip assigning XIDs we introduced the possibility that a fully deleted btree page could be reused. This broke the index link sequence which could then lead to indexscans silently returning fewer rows than would have been correct. The actual incidence of silent errors from this is thought to be very low because of the exact workload required and locking pre-conditions. Fix is to remove pages only if index page opaque->btpo.xact precedes RecentGlobalXmin.
Noah Misch, reviewed and backpatched by Simon Riggs Branch ------ REL8_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/9ced0134a4b0e9bd76e978259edc3540c6669883 Modified Files -------------- src/backend/access/nbtree/README | 10 ++++++---- src/backend/access/nbtree/nbtpage.c | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
