On 26-11-2021 10:10, Dmitry Yemanov wrote:
Mark et al,
Yes, I think that is perfectly acceptable for an initial version.
Scrollable cursors are a bit of an oddity anyway, but having
scrollable cursors in embedded access, but not in remote access is
IMHO less acceptable than bad performance. As long as the performance
behaviour is clearly documented, people can make the decision if the
bad performance is worth the utility of scrollable cursors for
themselves.
I've just committed network support for scrollable cursors to master.
Prefetch logic is supported for NEXT/PRIOR navigations. Protocol changes
are documented here:
https://github.com/FirebirdSQL/firebird/issues/7051
The test set to cover different navigation scenarios is being created,
once it's ready we'll validate the results between PSQL cursors,
embedded access, network access w/prefetch and network access
wo/prefetch (FOR UPDATE added to SELECTs). Obviously, we expect them to
match ;-)
I'd appreciate if Mark could test scrollability from the Jaybird side
too (i.e. without fbclient involved), but the new protocol should be
supported for that.
I will have to implement scrollability (Jaybird currently emulates it by
materializing the entire result set in memory) before I can test it.
The committed version is linked to protocol 17 which was introduced for
4.0.1. Thus technically, this improvement can be backported and released
together with v4.0.1. However, I'm not sure this risk is acceptable for
a point release and I'm ready to introduce protocol 18 in master for v5.
Opinions, please.
Personally, I think this is better to surface in Firebird 5, than rush
it into Firebird 4.0.1.
Mark
--
Mark Rotteveel
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel