Subject | Re: [firebird-support] Constraint Problem |
---|---|
Author | Milan Babuskov |
Post date | 2009-05-20T14:44:59Z |
Alan McDonald wrote:
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
>> I'm only using IBPP and PHP driver to access databases. I suspect thatMaybe not a topic for this list, but...
>> 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
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