Subject Re: [firebird-support] bde error caused by trigger
Author Helen Borrie
At 12:44 PM 18/11/2003 +0100, you wrote:
> > At 12:11 PM 18/11/2003 +0100, you wrote:
> >
> >>Hello,
>
><snip>
>
> >>Now when I create a new record via the application, I get tis message:
> >> "[10259] Couldn't perform the edit because another user changed the
> >> record"
> >
> > Point 1: This trigger won't fire because you created it INACTIVE. That
> > means the same as "not active", "sleeping", "ignore me".
>
>:) well I created it active. I desactivated it to see if the bevaviour
>of the app would change, and it changed.
>(my error for posting the script of the already desactivated trigger)
>
> > Point 2: Something unrelated is happening. A Before Insert trigger (if
> > it were active, which it isn't) wouldn't have any effect on an update.
>
>The problem exists only on creating (inserting) records (as I wrote above)
>Updating works fine. Inserting also, as soon as I desactivate the trigger...

Then, I repeat, something else is going on. A Before Insert trigger fires
*after* you post an INSERT statement. Until you post, the server (and
therefore, the trigger) has no knowledge of anything happening in the
application.

So the BDE error (if it is the correct error) must apply to something else
that is being *edited*, i.e. a row that is already known to the
server. It's more likely just the wrong error message and you'd need a
crystal ball to identify the real error.

If you are using the 16-bit BDE and the Delphi 1 SQLLinks InterBase driver
(which was for InterBase 4) then it is about eight years old. It would be
some kind of miracle if that driver would work with Firebird, considering
even the IB 6 driver had problems with **IB 6**.

heLen