Subject Re: [firebird-support] MySQL Migration Trigger Issue
Author Kurt Federspiel
Helen & Martijn:

I have data going into the Data table, but new_data is
not being updated. Since there is no dirty read,
doesn't that mean a commit must be happening in order
for data to show up?

Would it be better to StartTransaction, Insert,
EndTransaction, Commit or something along those lines
rather than run a single command?

Thanks again.
Kurt.



--- Helen Borrie <helebor@...> wrote:

> At 06:12 PM 30/03/2007, you wrote:
> >Thanks for the explanation, Helen.
> >
> >Is there a way to auto-commit the trigger?
>
> Hmmm, perhaps you don't understand that trigger
> actions don't "stick"
> unless the DML operation itself is committed. If
> the DML operation
> is rolled back, instead of being committed, all of
> the stuff that
> your trigger did to the other table is also rolled
> back.
>
> You don't "commit triggers". Committing is
> something you do to a transaction.
>
>
> >The insert (into data) is coming through an ODBC
> >connection and appears to auto-commit (or I'm
> getting
> >a really good dirty read across several hundred
> rows).
>
> It's impossible to get a dirty read in Firebird.
> "Auto-commit" is a
> client-side thing, where the client application
> requests a "post
> action" to be followed immediately by a commit.
> Some ODBC drivers
> provide this, perhaps that is what you are referring
> to.
>
> But no sort of commit, "auto" or otherwise, will
> happen at all if an
> exception occurs. The whole transaction will be
> left in a state
> where the client application has to decide what to
> do about
> it. Maybe the driver has some kind of
> "auto-rollback" action too. :-)
>
> ./heLen
>




____________________________________________________________________________________
Food fight? Enjoy some healthy debate
in the Yahoo! Answers Food & Drink Q&A.
http://answers.yahoo.com/dir/?link=list&sid=396545367