On 22/03/2019 16:25, Nikita Popov wrote:
I've created a patch forhttps://bugs.php.net/bug.php?id=72175  (last
comment), which seems to be the biggest open problem in the interbase
extension. I'd appreciate it if you or someone else who uses firebird could
test this.

OK now got a test framework on the development machine where I can check things out. As expected, starting two connections to two different databases just works and simply copying $link to $link1 works as one would expect. But trying to create a second connection to the same database is currently giving me a crash and 'undefined symbol: GC_ADDREF' So I need to tidy up the patch to work with 7.2.16 :(

The other part of the jigsaw is working out the significance of the 'default_link' in the code. And I'm taking this back to the firebird developers to check something out. As far as I am aware the firebird CLIENT will reuse an active connection to the database, but if one creates several connections in PHP and a couple end up linking to the same database where does a default one come into the picture. I think the code is basing decisions on the first connection made? Rather than the poll of active connections ...

As stated in the bug report, there is no need to reconnect to the same database, but there will be a default transaction for the connection which requires explicit transactions to be handled and this may be why there is thought to be a need to open new connections when one simply manages extra transactions on the same link. Working of a singleton link just works and so in that case the bug is irrelevant rather than a show stopper.

--
Lester Caine - G8HFL
-----------------------------
Contact - https://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - https://lsces.co.uk
EnquirySolve - https://enquirysolve.com/
Model Engineers Digital Workshop - https://medw.co.uk
Rainbow Digital Media - https://rainbowdigitalmedia.co.uk

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to