Re: [HACKERS] Trigger aborted on error - Mailing list pgsql-hackers

From wieck@debis.com (Jan Wieck)
Subject Re: [HACKERS] Trigger aborted on error
Date
Msg-id m11i2ap-0003kLC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to Trigger aborted on error  ("Andrij Korud" <akorud@polynet.lviv.ua>)
Responses Re: [HACKERS] Trigger aborted on error  ("Andrij Korud" <akorud@polynet.lviv.ua>)
List pgsql-hackers
>
> Hi.
> I've such problem :
> I table with primary key and in trigger try to insert into this table data
> wich violate constrain (not uniq). When ectually executing SPI_execp I got
> a message "ERROR: cannot insert a duplicate key into a unique index" and
> trigger executing is aborted. What should I do in order to get this error
> as a result from SPI_execp and continue trigger execution?
>
> Thanks in advance,
> Andriy Korud, Lviv, Ukraine

    No  chance,  ERROR  messages cannot be caught in any way by a
    trigger.  They abort the entire transaction.

    The only possibility you have is to check via SELECT prior to
    the  INSERT.  Unfortunately you would need an exclusive table
    lock to avoid race conditions.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #

pgsql-hackers by date:

Previous
From: "gov-boi"
Date:
Subject: exploit update.
Next
From: Lamar Owen
Date:
Subject: Re: [HACKERS] pgaccess 0.98