postgresql/src
Alvaro Herrera 2fd8685e7f Simplify check of modified attributes in heap_update
The old coding was getting more complicated as new things were added,
and it would be barely tolerable with upcoming WARM updates and other
future features such as indirect indexes.  The new coding incurs a small
performance cost in synthetic benchmark cases, and is barely measurable
in normal cases.  A much larger benefit is expected from WARM, which
could actually bolt its needs on top of the existing coding, but it is
much uglier and bug-prone than doing it on this new code.  Additional
optimization can be applied on top of this, if need be.

Reviewed-by: Pavan Deolasee, Amit Kapila, Mithun CY
Discussion: https://postgr.es/m/20161228232018.4hc66ndrzpz4g4wn@alvherre.pgsql
	https://postgr.es/m/CABOikdMJfz69dBNRTOZcB6s5A0tf8OMCyQVYQyR-WFFdoEwKMQ@mail.gmail.com
2017-03-29 14:01:14 -03:00
..
backend Simplify check of modified attributes in heap_update 2017-03-29 14:01:14 -03:00
bin Suppress implicit-conversion warnings seen with newer clang versions. 2017-03-28 13:16:19 -04:00
common Sync pg_dump and pg_dumpall output 2017-03-22 10:20:13 -04:00
fe_utils Spelling fixes in code comments 2017-03-14 12:58:39 -04:00
include Mark more functions parallel-restricted. 2017-03-29 10:59:27 -04:00
interfaces Clean up Perl code according to perlcritic 2017-03-27 08:18:22 -04:00
makefiles Try to fix non-MSVC Windows builds in the wake of logical replication. 2017-01-20 12:51:31 -05:00
pl PL/Python: Add cursor and execute methods to plan object 2017-03-27 11:37:22 -04:00
port Fix and simplify check for whether we're running as Windows service. 2017-03-17 11:14:01 +02:00
template Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
test Change 'diag' to 'note' in TAP tests 2017-03-28 20:38:06 -04:00
timezone Remove useless duplicate inclusions of system header files. 2017-02-25 16:12:55 -05:00
tools Fix Perl code which had broken the Windows build 2017-03-28 09:00:59 -04:00
tutorial Recommend wrappers of PG_DETOAST_DATUM_PACKED(). 2017-03-12 19:35:33 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Remove redundant coverage target 2017-02-17 08:56:57 -05:00
Makefile.global.in ICU support 2017-03-23 15:28:48 -04:00
Makefile.shlib Fix typos in comments. 2017-02-06 11:33:58 +02:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00