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;