In a BEFORE UPDATE trigger I need to know whether the row was previously
modified by this transaction. Is it safe to use xmin and txid_current()
for this purpose (xmin is 32-bit txid type but txid_current() returns
64-bit bigint).
CREATE FUNCTION test_trigger()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.xmin = txid_current() THEN
-- Do something.
ELSE
-- Do something else.
END IF;
END;
$$ LANGUAGE plpgsql;