On 20/06/18 10:25, Nikita Popov wrote:
Just to clarify which bug I was referring to in that mail, it's this one:
https://bugs.php.net/bug.php?id=72175
There are three issues that must be addressed:
* The issue in the original bug report: Connecting to the same DB multiple
times does not work.
* The use of zend_list_delete() in *_close() functions, which is
memory-unsafe.
* Incorrect interaction of closing and multiple shared connections. While
the underlying connection is shared, closing one resource should not close
all the other ones, but also not result in any leaks (this ties into the
previous point -- you can't just use zend_list_delete for that!) You may
need to implement a double resource indirection to properly handle this,
one holding the actual connection and another holding the connection
resource.
If you or someone who is familiar with interbase could fix these issues,
that would be highly appreciated.
Is there anything in the changes to the code in PHP7 that are ACTUALLY
to do with changes to interbase/firebird? On website systems I only ever
have a 'singleton' database connection so don't hit this problem, but
having just spent half an hour looking through the various notes on
different lists it seems to be the way zend handles resources in PHP7
rather than anything to do with the database? THIS is where the nuances
of PHP7 need to be understood to be able to read your third point ...
where does one need to understand how the database works?
I am assuming that my next step here is to work out how
zend_list_delete() is intended to be used, perhaps compare that with
it's use in other database drivers, and work out just what was broken in
7.0.3 and why ... and "implement a double resource indirection" ...
which is much easier to implement if you understand why it is now necessary?
--
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php