I've tried to write audit trigger which fires only when data changed, so I
used "WHEN (OLD.* IS DISTINCT FROM NEW.*)" clause as described in 
documentation
<http://www.postgresql.org/docs/9.4/static/sql-createtrigger.html>  . Should
this clause be independent from data type? because an error occurs when I'm
trying to modify row with point data type: *ERROR:  could not identify an
equality operator for type point*Example:
CREATE TABLE IF NOT EXISTS test1(  col1 POINT)WITH (OIDS =FALSE);INSERT INTO
test1 VALUES ('(0,1)');CREATE OR REPLACE FUNCTION test_update()  RETURNS
TRIGGER AS  $BODY$  BEGIN    RETURN NEW;  END;  $BODY$LANGUAGE plpgsql
VOLATILECOST 100;CREATE TRIGGER trigger_update_testAFTER UPDATEON test1FOR
EACH ROWWHEN ((old.* IS DISTINCT FROM new.*))EXECUTE PROCEDURE
test_update();UPDATE test1 SET col1 = '(9,0)';




--
View this message in context: 
http://postgresql.nabble.com/Shouldn-t-WHEN-OLD-IS-DISTINCT-FROM-NEW-clause-be-independent-from-data-type-tp5866276.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

Reply via email to