Re: before trigger doesn't, on insert of too long data - Mailing list pgsql-bugs

From Gaetano Mendola
Subject Re: before trigger doesn't, on insert of too long data
Date
Msg-id 3FAFF99E.2010407@bigfoot.com
Whole thread Raw
In response to Re: before trigger doesn't, on insert of too long data  (Neil Conway <neilc@samurai.com>)
Responses Re: before trigger doesn't, on insert of too long data  (Bruno Wolff III <bruno@wolff.to>)
Re: before trigger doesn't, on insert of too long data  (Neil Conway <neilc@samurai.com>)
List pgsql-bugs
Neil Conway wrote:

> Thomas Erskine <thomas.erskine@sympatico.ca> writes:
>
>>A before trigger doesn't always fire.  If a column being inserted into is
>>too small for the incoming data, psql complains:
>>     ERROR:  value too long for type ...
>>without giving the trigger procedure a chance to deal with it.
>
>
> I believe this is a feature, not a bug: a CHAR(4) field should never,
> ever contain > 4 characters. Whether there is a trigger that is yet to
> be processed is not relevant.

Seems to me too, from the standard:

"The order of execution of a set of triggers is ascending by value of
their timestamp of creation in their
descriptors, such that the oldest trigger executes first. If one or more
triggers have the same timestamp value,
then their relative order of execution is implementation-defined."

I don't know how the check for the data integrity is implemented but if
is a trigger that trigger is for sure older then the user defined trigger.


BTW I did this experiment:

1) Create table
2) create a before insert trigger:   trigger_a
3) create a before insert trigger:   trigger_b

test=# insert into test values ( 10 );
NOTICE:  TRIGGER A
NOTICE:  TRIGGER B
INSERT 3416835 1


4) drop trigger:  trigger_a
5) create trigger:  trigger_a
( now trigger b is the oldest one)

test=# insert into test values ( 10 );
NOTICE:  TRIGGER A
NOTICE:  TRIGGER B
INSERT 3416836 1


why this ?




Regards
Gaetano Mendola

pgsql-bugs by date:

Previous
From: Neil Conway
Date:
Subject: Re: pg_dumpall does not save CREATE permission on databases
Next
From: Tom Lane
Date:
Subject: Re: pg_dumpall does not save CREATE permission on databases