Обсуждение: BUG #2927: Trigger execution hides foreign key error
The following bug has been logged online: Bug reference: 2927 Logged by: Jaume Catarineu Email address: jaume@nobainfo.net PostgreSQL version: 8.2.1 Operating system: Linux srvca01 2.6.11.4-20a-smp #1 SMP Wed Mar 23 21:52:37 UTC 2005 i686 i686 i386 GNU/Linux Description: Trigger execution hides foreign key error Details: When a table has a foreign key field if you insert values that violate that check an error appears: ERROR: insert or update on table "m_tran" violates foreign key constraint "m_tran_fk" That's ok, but when a INSERT trigger is added to that table, the precedent insert order productes the following output: INSERT 0 0 And no error appears anywhere: neither in the log nor the psql console. Shouldn't PostgreSQL inform someway why it's not going to insert that row? It seems like the correct trigger execution was hidding the previous incorrect foreign key check. Is that way? Thanks, Jaume,
Jaume Catarineu wrote: > The following bug has been logged online: > > Bug reference: 2927 > Logged by: Jaume Catarineu > Email address: jaume@nobainfo.net > PostgreSQL version: 8.2.1 > Operating system: Linux srvca01 2.6.11.4-20a-smp #1 SMP Wed Mar 23 > 21:52:37 UTC 2005 i686 i686 i386 GNU/Linux > Description: Trigger execution hides foreign key error > Details: > > When a table has a foreign key field if you insert values that violate that > check an error appears: > > ERROR: insert or update on table "m_tran" violates foreign key constraint > "m_tran_fk" > > That's ok, but when a INSERT trigger is added to that table, the precedent > insert order productes the following output: > > INSERT 0 0 > > And no error appears anywhere: neither in the log nor the psql console. > Shouldn't PostgreSQL inform someway why it's not going to insert that row? well you have not show us the source of the trigger and tables involved but most likely your (BEFORE?) trigger is actively suppressing the insert of the row. And an insert that is not actually inserting any data is rather unlikely to cause any fk-violations ... Stefan