Subject | Re: Exceptions in the Log file |
---|---|
Author | rogervellacott |
Post date | 2009-03-25T17:29:26Z |
I finally tracked this down to a known bug.
http://tracker.firebirdsql.org/browse/CORE-1958
The same record is being updated by different SPs and triggers within the same transaction. If an exception is raised for any reason during the process, the database gets corrupted. We are getting one or two instances of this a month among our clients, and it's an embarrassing show-stopper. Re-writing the code to avoid the issue is a huge job.
Dmitri writes that the bug is fixed in ver 2.1.2, but this is still at RC1. How much of a risk is it to use this in a production environment?
Roger Vellacott
http://tracker.firebirdsql.org/browse/CORE-1958
The same record is being updated by different SPs and triggers within the same transaction. If an exception is raised for any reason during the process, the database gets corrupted. We are getting one or two instances of this a month among our clients, and it's an embarrassing show-stopper. Re-writing the code to avoid the issue is a huge job.
Dmitri writes that the bug is fixed in ver 2.1.2, but this is still at RC1. How much of a risk is it to use this in a production environment?
Roger Vellacott
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@...> wrote:
>
> At 04:06 AM 17/03/2009, you wrote:
> >What determines whether a coded exception in a trigger or SP is written to the log file?
> >
> >Most exceptions are returned to the client, and do not appear in the log, but occasionally an exception is written in full to the log file. What causes this?
> >
> >Here is an example, from a live appplication. The PSQL which creates the exception is
> >
> >IF (COALESCE(ALLOC_TOTAL,0) > BATCH_QTY) THEN
> > EXCEPTION FLEX_EXCEPTION 'Sales allocation of '||COALESCE(VENDOR_DESCRIPTION,'')||' exceeds the purchase';
> >
> >and this is the output in the log file.
> >
> >NFPSERVER (Server) Fri Mar 13 08:07:06 2009
> > Database: NFP
> > exception 3
> > FLEX_EXCEPTION
> > Sales allocation of Narcissi Tete a Tete exceeds the purchase
> > At procedure 'PURCHASE_LINE_TRIG4' line: 48, col: 44
> >At trigger 'PURCHASE_LINE_AI' line: 9, col: 5
>
> 1. In the log, is it preceded by an 'Internal gds inconsistency check (some text or a number)' error?
>
> 2. What version and model of Firebird?
>
> ./heLen
>