diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c index 049b20449a..dfa9ab98c3 100644 --- a/src/backend/utils/adt/ri_triggers.c +++ b/src/backend/utils/adt/ri_triggers.c @@ -744,20 +744,6 @@ ri_restrict(TriggerData *trigdata, bool is_no_action) break; } - /* - * In UPDATE, no need to do anything if old and new keys are equal - */ - if (TRIGGER_FIRED_BY_UPDATE(trigdata->tg_event)) - { - HeapTuple new_row = trigdata->tg_newtuple; - - if (ri_KeysEqual(pk_rel, old_row, new_row, riinfo, true)) - { - heap_close(fk_rel, RowShareLock); - return PointerGetDatum(NULL); - } - } - /* * If another PK row now exists providing the old key values, we * should not do anything. However, this check should only be @@ -1098,15 +1084,6 @@ RI_FKey_cascade_upd(PG_FUNCTION_ARGS) break; } - /* - * No need to do anything if old and new keys are equal - */ - if (ri_KeysEqual(pk_rel, old_row, new_row, riinfo, true)) - { - heap_close(fk_rel, RowExclusiveLock); - return PointerGetDatum(NULL); - } - if (SPI_connect() != SPI_OK_CONNECT) elog(ERROR, "SPI_connect failed"); @@ -1316,20 +1293,6 @@ ri_setnull(TriggerData *trigdata) break; } - /* - * In UPDATE, no need to do anything if old and new keys are equal - */ - if (TRIGGER_FIRED_BY_UPDATE(trigdata->tg_event)) - { - HeapTuple new_row = trigdata->tg_newtuple; - - if (ri_KeysEqual(pk_rel, old_row, new_row, riinfo, true)) - { - heap_close(fk_rel, RowExclusiveLock); - return PointerGetDatum(NULL); - } - } - if (SPI_connect() != SPI_OK_CONNECT) elog(ERROR, "SPI_connect failed"); @@ -1536,20 +1499,6 @@ ri_setdefault(TriggerData *trigdata) break; } - /* - * In UPDATE, no need to do anything if old and new keys are equal - */ - if (TRIGGER_FIRED_BY_UPDATE(trigdata->tg_event)) - { - HeapTuple new_row = trigdata->tg_newtuple; - - if (ri_KeysEqual(pk_rel, old_row, new_row, riinfo, true)) - { - heap_close(fk_rel, RowExclusiveLock); - return PointerGetDatum(NULL); - } - } - if (SPI_connect() != SPI_OK_CONNECT) elog(ERROR, "SPI_connect failed");