postgresql/src/backend/commands
Andres Freund 75e03eabea Fix potential use-after-free for BEFORE UPDATE row triggers on non-core AMs.
When such a trigger returns the old row version, it naturally get
stored in the slot for the trigger result. When a table AMs doesn't
store HeapTuples internally, ExecBRUpdateTriggers() frees the old row
version passed to triggers - but before this fix it might still be
referenced by the slot holding the new tuple.

Noticed when running the out-of-core zheap AM against the in-core
version of tableam.

Author: Andres Freund
2019-04-18 17:53:54 -07:00
..
aggregatecmds.c Implement OR REPLACE option for CREATE AGGREGATE. 2019-03-19 01:16:50 +00:00
alter.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
amcmds.c Harden tableam against nonexistant / wrong kind of AMs. 2019-04-04 17:39:39 -07:00
analyze.c tableam: VACUUM and ANALYZE support. 2019-03-30 19:25:58 -07:00
async.c Move remaining code from tqual.[ch] to heapam.h / heapam_visibility.c. 2019-01-21 17:07:10 -08:00
cluster.c tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE. 2019-03-28 20:01:43 -07:00
collationcmds.c Collations with nondeterministic comparison 2019-03-22 12:12:43 +01:00
comment.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
constraint.c tableam: Add and use scan APIs. 2019-03-11 12:46:41 -07:00
conversioncmds.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
copy.c Remove unused struct member, enforce multi_insert callback presence. 2019-04-04 17:39:39 -07:00
createas.c tableam: Add table_finish_bulk_insert(). 2019-04-01 14:41:42 -07:00
dbcommands.c Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00
define.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
discard.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
dropcmds.c Replace uses of heap_open et al with the corresponding table_* function. 2019-01-21 10:51:37 -08:00
event_trigger.c Change function call information to be variable length. 2019-01-26 14:17:52 -08:00
explain.c Add SETTINGS option to EXPLAIN, to print modified settings. 2019-04-04 00:04:31 +02:00
extension.c Collations with nondeterministic comparison 2019-03-22 12:12:43 +01:00
foreigncmds.c Replace uses of heap_open et al with the corresponding table_* function. 2019-01-21 10:51:37 -08:00
functioncmds.c Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
indexcmds.c Rework handling of invalid indexes with REINDEX CONCURRENTLY 2019-04-17 09:33:51 +09:00
lockcmds.c Fix more strcmp() calls using boolean-like comparisons for result checks 2019-04-12 10:16:49 +09:00
Makefile Move vacuumlazy.c into access/heap. 2019-01-15 12:06:19 -08:00
matview.c tableam: Add table_finish_bulk_insert(). 2019-04-01 14:41:42 -07:00
opclasscmds.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
operatorcmds.c Replace uses of heap_open et al with the corresponding table_* function. 2019-01-21 10:51:37 -08:00
policy.c Replace uses of heap_open et al with the corresponding table_* function. 2019-01-21 10:51:37 -08:00
portalcmds.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
prepare.c Refactor ParamListInfo initialization 2019-03-14 13:30:09 +01:00
proclang.c Remove unnecessary use of PROCEDURAL 2019-02-25 08:38:59 +01:00
publicationcmds.c Move hash_any prototype from access/hash.h to utils/hashutils.h 2019-03-11 13:17:50 -03:00
schemacmds.c Replace uses of heap_open et al with the corresponding table_* function. 2019-01-21 10:51:37 -08:00
seclabel.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
sequence.c tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE. 2019-03-28 20:01:43 -07:00
statscmds.c Add support for multivariate MCV lists 2019-03-27 18:32:18 +01:00
subscriptioncmds.c Replace uses of heap_open et al with the corresponding table_* function. 2019-01-21 10:51:37 -08:00
tablecmds.c Reset memory context once per tuple in validateForeignKeyConstraint. 2019-04-07 22:42:42 -07:00
tablespace.c tableam: Add and use scan APIs. 2019-03-11 12:46:41 -07:00
trigger.c Fix potential use-after-free for BEFORE UPDATE row triggers on non-core AMs. 2019-04-18 17:53:54 -07:00
tsearchcmds.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
typecmds.c Generated columns 2019-03-30 08:15:57 +01:00
user.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
vacuum.c Allow VACUUM to be run with index cleanup disabled. 2019-04-04 15:04:43 -04:00
variable.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
view.c Fix CREATE VIEW to allow zero-column views. 2019-02-17 12:37:31 -05:00