postgresql/src
Alvaro Herrera 2f5c9d9c9c Tweak catalog indexing abstraction for upcoming WARM
Split the existing CatalogUpdateIndexes into two different routines,
CatalogTupleInsert and CatalogTupleUpdate, which do both the heap
insert/update plus the index update.  This removes over 300 lines of
boilerplate code all over src/backend/catalog/ and src/backend/commands.
The resulting code is much more pleasing to the eye.

Also, by encapsulating what happens in detail during an UPDATE, this
facilitates the upcoming WARM patch, which is going to add a few more
lines to the update case making the boilerplate even more boring.

The original CatalogUpdateIndexes is removed; there was only one use
left, and since it's just three lines, we can as well expand it in place
there.  We could keep it, but WARM is going to break all the UPDATE
out-of-core callsites anyway, so there seems to be no benefit in doing
so.

Author: Pavan Deolasee
Discussion: https://www.postgr.es/m/CABOikdOcFYSZ4vA2gYfs=M2cdXzXX4qGHeEiW3fu9PCfkHLa2A@mail.gmail.com
2017-01-31 18:42:24 -03:00
..
backend Tweak catalog indexing abstraction for upcoming WARM 2017-01-31 18:42:24 -03:00
bin pg_dump: Fix handling of ALTER DEFAULT PRIVILEGES 2017-01-31 16:24:11 -05:00
common Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
fe_utils Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
include Tweak catalog indexing abstraction for upcoming WARM 2017-01-31 18:42:24 -03:00
interfaces Allow password file name to be specified as a libpq connection parameter. 2017-01-24 17:06:34 -05:00
makefiles Try to fix non-MSVC Windows builds in the wake of logical replication. 2017-01-20 12:51:31 -05:00
pl Use castNode() in a bunch of statement-list-related code. 2017-01-26 22:09:34 -05:00
port Attempt to handle pending-delete files on Windows 2017-01-04 10:48:30 +01:00
template Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
test test_pg_dump: perltidy cleanup 2017-01-31 11:17:38 -05:00
timezone Update time zone data files to tzdata release 2016j. 2017-01-30 11:40:22 -05:00
tools Extend index AM API for parallel index scans. 2017-01-24 16:42:58 -05:00
tutorial Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
.gitignore
DEVELOPERS
Makefile Logical replication 2017-01-20 09:04:49 -05:00
Makefile.global.in Fix cross-shlib linking in temporary installs on HPUX 10. 2017-01-21 15:15:39 -05:00
Makefile.shlib Fix cross-shlib linking in temporary installs on HPUX 10. 2017-01-21 15:15:39 -05:00
bcc32.mak
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00
win32.mak