Subject Re: [firebird-support] Constraint Problem
Author Milan Babuskov
Alan McDonald wrote:
>> I'm only using IBPP and PHP driver to access databases. I suspect that
>> there must be some bug in PHP driver transaction management, but I
>> wasn't able to pin-point it.
>
> Hmm, I've never struck this issue with PHP

Maybe not a topic for this list, but...

We have a simple PHP script that upgrades all our databases. We log each
DDL change in a separate .sql script and this PHP program does the
following:

foreach ($statement as $s)
ibase_connect
ibase_query($s)
ibase_commit
ibase_disconnect

There are 2 other developers on my team. Sometimes the script that goes
fine with 2 of us, fails on 3rd machine. Sometimes it fails on some of
the 50+ servers we have in production as well.

We find out reasons for most of the cases, but sometimes we get problems
that were described at beginning of this thread. When we try to re-run
the script that failed, it all goes fine.

My assumption is that there is something wrong with "default"
transactions (those implicitly started by PHP). Maybe they somehow leave
something open, even after disconnect/connect is called.

--
Milan Babuskov
http://www.flamerobin.org
http://www.guacosoft.com