postgresql/src/backend
Tom Lane a1115fa078 Postpone some more stuff out of ExecInitModifyTable.
Delay creation of the projections for INSERT and UPDATE tuples
until they're needed.  This saves a pretty fair amount of work
when only some of the partitions are actually touched.

The logic associated with identifying junk columns in UPDATE/DELETE
is moved to another loop, allowing removal of one loop over the
target relations; but it didn't actually change at all.

Extracted from a larger patch, which seemed to me to be too messy
to push in one commit.

Amit Langote, reviewed at different times by Heikki Linnakangas and
myself

Discussion: https://postgr.es/m/CA+HiwqG7ZruBmmih3wPsBZ4s0H2EhywrnXEduckY5Hr3fWzPWA@mail.gmail.com
2021-04-06 18:13:17 -04:00
..
access Remove tupgone special case from vacuumlazy.c. 2021-04-06 08:49:22 -07:00
bootstrap Split backend status and progress related functionality out of pgstat.c. 2021-04-03 11:42:52 -07:00
catalog Add pg_read_all_data and pg_write_all_data roles 2021-04-05 13:42:52 -04:00
commands Postpone some stuff out of ExecInitModifyTable. 2021-04-06 15:57:11 -04:00
executor Postpone some more stuff out of ExecInitModifyTable. 2021-04-06 18:13:17 -04:00
foreign Update copyright for 2021 2021-01-02 13:06:25 -05:00
jit Use errmsg_internal for debug messages 2021-02-17 11:33:25 +01:00
lib Update copyright for 2021 2021-01-02 13:06:25 -05:00
libpq Refactor HMAC implementations 2021-04-03 17:30:49 +09:00
main Update copyright for 2021 2021-01-02 13:06:25 -05:00
nodes Add Result Cache executor node (take 2) 2021-04-02 14:10:56 +13:00
optimizer Add support for NullIfExpr in eval_const_expressions 2021-04-02 11:01:49 +02:00
parser Clean up treatment of missing default and CHECK-constraint records. 2021-04-06 10:34:39 -04:00
partitioning ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY 2021-03-25 18:00:28 -03:00
po Translation updates 2020-05-18 12:49:30 +02:00
port Use errmsg_internal for debug messages 2021-02-17 11:33:25 +01:00
postmaster Fix typo in pgstat.c. 2021-04-06 14:09:40 +09:00
regex Further tweak memory management for regex DFAs. 2021-03-08 16:32:29 -05:00
replication Postpone some stuff out of ExecInitModifyTable. 2021-04-06 15:57:11 -04:00
rewrite Clean up treatment of missing default and CHECK-constraint records. 2021-04-06 10:34:39 -04:00
snowball Update snowball 2021-02-19 08:10:15 +01:00
statistics Fix handling of clauses incompatible with extended statistics 2021-04-06 16:56:06 +02:00
storage Increment xactCompletionCount during subtransaction abort. 2021-04-06 09:24:50 -07:00
tcop Add function to log the memory contexts of specified backend process. 2021-04-06 13:44:15 +09:00
tsearch Don't leak compiled regex(es) when an ispell cache entry is dropped. 2021-03-18 22:22:47 -04:00
utils Clean up treatment of missing default and CHECK-constraint records. 2021-04-06 10:34:39 -04:00
.gitignore
Makefile Use sort_template.h for qsort_tuple() and qsort_ssup(). 2021-03-03 17:02:32 +13:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Add missing gettext triggers 2020-04-28 13:35:40 +02:00