mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
Add tg_updatedcols to TriggerData
This allows a trigger function to determine for an UPDATE trigger which columns were actually updated. This allows some optimizations in generic trigger functions such as lo_manage and tsvector_update_trigger. Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Discussion: https://www.postgresql.org/message-id/flat/11c5f156-67a9-0fb5-8200-2a8018eb2e0c@2ndquadrant.com
This commit is contained in:
@ -74,7 +74,8 @@ lo_manage(PG_FUNCTION_ARGS)
|
||||
* Here, if the value of the monitored attribute changes, then the large
|
||||
* object associated with the original value is unlinked.
|
||||
*/
|
||||
if (newtuple != NULL)
|
||||
if (newtuple != NULL &&
|
||||
bms_is_member(attnum - FirstLowInvalidHeapAttributeNumber, trigdata->tg_updatedcols))
|
||||
{
|
||||
char *orig = SPI_getvalue(trigtuple, tupdesc, attnum);
|
||||
char *newv = SPI_getvalue(newtuple, tupdesc, attnum);
|
||||
|
Reference in New Issue
Block a user