postgresql/src/backend/access
Peter Geoghegan 1a6f5a0e87 Go back to considering HOT on pages marked full.
Commit 2fd8685e7f simplified the checking of modified attributes that
takes place within heap_update().  This included a micro-optimization
affecting pages marked PD_PAGE_FULL: don't even try to use HOT to save a
few cycles on determining HOT safety.  The assumption was that it won't
work out this time around, since it can't have worked out last time
around.

Remove the micro-optimization.  It could only ever save cycles that are
consumed by the vast majority of heap_update() calls, which hardly seems
worth the added complexity.  It also seems quite possible that there are
workloads that will do worse over time by repeated application of the
micro-optimization, despite saving some cycles on average, in the short
term.

Author: Peter Geoghegan <pg@bowt.ie>
Reviewed-By: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m/CAH2-WznU1L3+DMPr1F7o2eJBT7=3bAJoY6ZkWABAxNt+-afyTA@mail.gmail.com
2021-11-26 10:58:38 -08:00
..
brin Fix handling of NaN values in BRIN minmax multi 2021-11-06 01:50:44 +01:00
common Update comments 2021-11-26 09:57:23 +01:00
gin Clean up some code using "(expr) ? true : false" 2021-09-08 09:44:04 +09:00
gist Clean up more code using "(expr) ? true : false" 2021-10-11 09:36:42 +09:00
hash Clean up some code using "(expr) ? true : false" 2021-09-08 09:44:04 +09:00
heap Go back to considering HOT on pages marked full. 2021-11-26 10:58:38 -08:00
index Add hardening to catch invalid TIDs in indexes. 2021-11-04 19:54:05 -07:00
nbtree Fix parallel operations that prevent oldest xmin from advancing. 2021-11-19 09:04:40 +05:30
rmgrdesc Fix WAL replay in presence of an incomplete record 2021-09-29 11:21:51 -03:00
spgist Fix SP-GiST scan initialization logic for binary-compatible cases. 2021-11-20 14:29:56 -05:00
table Replace RelationOpenSmgr() with RelationGetSmgr(). 2021-07-12 17:01:36 -04:00
tablesample Update copyright for 2021 2021-01-02 13:06:25 -05:00
transam Fix determination of broken LSN in OVERWRITTEN_CONTRECORD 2021-11-26 11:14:27 -03:00
Makefile Introduce access/{table.h, relation.h}, for generic functions from heapam.h. 2019-01-21 10:51:36 -08:00