On 2020-03-24 19:50, Vlad Khorsun wrote:
Added first in Provider::generateDPB(), next in
(any-)Connection::attach().
Vlad, I'm unsure - what place is correct one?
Second was added with connections pool implementation in master.
This part requires
some completion. isc_dpb_ext_call_depth was introduced by me at
initial implementation
of EDS to detect and prevent too deep recursion within EDS.
isc_dpb_ext_call_depth
passed at attach() with incremented call depth counter of local
attachment. Now, with
connections pooling, I need a way to set call depth counter of
re-used attachment.
So far we have no such way and I open for suggestions. When this
will be implemented,
isc_dpb_ext_call_depth could be removed from
Provider::generateDPB(). Currently it
works as a some protection from bad scenarios with recursive calls
of EDS.
It should help from infinite recursion - pools on involved servers
should overflow at some step, and tag will work as before. Though
certainly it's not precise result.
Not sure I got you here - why it is not precise ?
Because (as far as I understood current code) it can fire when
callbacks' depth is not precisely MAX_CALLBACKS but less or bigger than it.
May be better solution is related with attachment's reset?
Pooled connection is reset when released, not when reused.
Sorry - what reasons for it?
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel