Re: [Firebird-devel] New API and scrollable cursors

2020-04-28 Thread Dmitry Yemanov

28.04.2020 16:46, Mark Rotteveel wrote:


On 27-04-2020 18:09, Dmitry Yemanov wrote:
The remote protocol support was simply forgotten because nobody asked 
for that for years. Mea culpa, I was too busy with the replication 
stuff. Obviously, not so many people use the new API... and even less 
people use new features introduced there.


The fact it isn't in the release notes was a conscious decision, as you 
replied back in 2013:


"""
16.12.2013 22:01, Mark Rotteveel wrote:

 > The Firebird 3 scrollable cursor hasn't been documented in the
 > releasenotes. Is this an omission, or isn't it ready yet?

So far scrollable cursors are available in PSQL only. In DSQL, they're
surfaced in the new API but not implemented yet. This is why they're not
documented (and the ticket is not marked as resolved).


That time they weren't implemented in DSQL, as I replied to you. 
However, they *were* implemented since, but only inside the engine. Thus 
being workable for embedded connections only. And it wasn't documented.



Dmitry


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-28 Thread Mark Rotteveel

On 27-04-2020 19:53, Pavel Cisar wrote:


I don't know if it's possible to 
provide such feature (even with embedded-only) in wire-protocol-based 
connectivity packages like JayBird or .NET Provider, but I guess if it 
would be doable, their maintainers would eventually implement it.


In Jaybird I consider embedded (and native) a second-class citizen. If I 
can't build it in the pure-java implementation, then I'm not going to 
support something for embedded or native, and sometimes I only implement 
things in the pure-java version. And the embedded/native support should 
be equivalent.


Currently Jaybird still uses the old API, and I have no plans to switch 
to the new API.


If scrollable cursors ever get surfaced in the wire protocol, I will 
likely only implement it for pure-java.


Mark
--
Mark Rotteveel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-28 Thread Mark Rotteveel

On 27-04-2020 18:09, Dmitry Yemanov wrote:
The remote protocol support was simply forgotten because nobody asked 
for that for years. Mea culpa, I was too busy with the replication 
stuff. Obviously, not so many people use the new API... and even less 
people use new features introduced there.


The fact it isn't in the release notes was a conscious decision, as you 
replied back in 2013:


"""
16.12.2013 22:01, Mark Rotteveel wrote:

> The Firebird 3 scrollable cursor hasn't been documented in the
> releasenotes. Is this an omission, or isn't it ready yet?

So far scrollable cursors are available in PSQL only. In DSQL, they're
surfaced in the new API but not implemented yet. This is why they're not
documented (and the ticket is not marked as resolved).


Dmitry
"""

Mark
--
Mark Rotteveel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Norbert Saint Georges

Pavel Cisar a écrit :

Dne 27. 04. 20 v 18:09 Dmitry Yemanov napsal(a):

27.04.2020 17:34, Pavel Cisar wrote:

The remote protocol support was simply forgotten because nobody asked for 
that for years. Mea culpa, I was too busy with the replication stuff. 
Obviously, not so many people use the new API... and even less people use 
new features introduced there.


Well, users would use new API if connectivity package they use would use it. 
AFAIK only IBX2 provided new API layer as an option till now. Obviously 
Firebird & FreePascal/Delphi developers did not bother to change from old to 
new layer, did not use v3 or scroll in it, or used scrollable cursors in 
embedded-only applications. Unfortunately, Python is not a language of choice 
for embedded - it's mostly server development. One from main points I started 
to work on new driver was to help transition from old to new API, and to 
allow our QA to work with features available only trough it. I don't know if 
it's possible to provide such feature (even with embedded-only) in 
wire-protocol-based connectivity packages like JayBird or .NET Provider, but 
I guess if it would be doable, their maintainers would eventually implement 
it.


Ok, shit happens, so what we will do now? Leave it to Firebird 5 that is who 
knows how many years in future, or would we try to provide it sooner? 
Personally, I think that remote scrollable cursors are just an improvement 
that could be introduced in any version, including maintenance ones, and are 
worth to be provided anytime sooner than in v5.0.


regards
Pavel Cisar


Personally, I use the new pascal API every day and have been waiting 
for this implementation for a long time because it is essential for all 
lib devs without that they do not even start.


--
Norbert Saint Georges
http://tetrasys.fi



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Dmitry Yemanov

27.04.2020 20:53, Pavel Cisar wrote:


Ok, shit happens, so what we will do now? Leave it to Firebird 5 that is 
who knows how many years in future, or would we try to provide it 
sooner? Personally, I think that remote scrollable cursors are just an 
improvement that could be introduced in any version, including 
maintenance ones, and are worth to be provided anytime sooner than in v5.0.


Sooner, of course. The problem here is that the remote protocol version 
should be raised. Even if we fail to include this improvement into v4 
RC, we could at least reserve the necessary op-codes for the FB4's 
protocol version (16) and introduce the feature in v4.1.



Dmitry


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Pavel Cisar



Dne 27. 04. 20 v 18:09 Dmitry Yemanov napsal(a):

27.04.2020 17:34, Pavel Cisar wrote:

The remote protocol support was simply forgotten because nobody asked 
for that for years. Mea culpa, I was too busy with the replication 
stuff. Obviously, not so many people use the new API... and even less 
people use new features introduced there.


Well, users would use new API if connectivity package they use would use 
it. AFAIK only IBX2 provided new API layer as an option till now. 
Obviously Firebird & FreePascal/Delphi developers did not bother to 
change from old to new layer, did not use v3 or scroll in it, or used 
scrollable cursors in embedded-only applications. Unfortunately, Python 
is not a language of choice for embedded - it's mostly server 
development. One from main points I started to work on new driver was to 
help transition from old to new API, and to allow our QA to work with 
features available only trough it. I don't know if it's possible to 
provide such feature (even with embedded-only) in wire-protocol-based 
connectivity packages like JayBird or .NET Provider, but I guess if it 
would be doable, their maintainers would eventually implement it.


Ok, shit happens, so what we will do now? Leave it to Firebird 5 that is 
who knows how many years in future, or would we try to provide it 
sooner? Personally, I think that remote scrollable cursors are just an 
improvement that could be introduced in any version, including 
maintenance ones, and are worth to be provided anytime sooner than in v5.0.


regards
Pavel Cisar


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Dmitry Yemanov

27.04.2020 17:34, Pavel Cisar wrote:


Well, I can confirm that IT WORKS *ONLY* in embedded mode.


Yes, this is how FB3 was released. The DSQL/API support was added late 
during the development cycle and IIRC I had issues with the existing 
batching (prefetch) code in the remote client. Thus it was delayed.


Could someone points me to any piece of documentation, Jira entry or 
even public e-mail that reveals such constraint to mere mortals using 
Firebird engine? Because I feel like a complete idiot now, and I want to 
know if it's because I can't read or because I'm too trusting (I can't 
find such constraint in FB 3.0.0-3.0.5 Release Notes or any piece of 
documentation in FB 3 distribution).


I was sure it was documented, but I cannot find it right now. Looks like 
being completely overlooked :-(


Also, Alex confirmed that this is still not implemented in FB v4 trunk. 
Because I'm probably not the only one disappointed by this discovery, I 
really can't wait to hear an explanation and future prospects.


The remote protocol support was simply forgotten because nobody asked 
for that for years. Mea culpa, I was too busy with the replication 
stuff. Obviously, not so many people use the new API... and even less 
people use new features introduced there.



Dmitry


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Pavel Cisar



Dne 27. 04. 20 v 15:31 Dmitry Sibiryakov napsal(a):

27.04.2020 15:23, Pavel Cisar wrote:
Or is the impression that this feature is not actually implemented 
really true?


   Yes it is true though should work in embedded mode.


Well, I can confirm that IT WORKS *ONLY* in embedded mode.

Could someone points me to any piece of documentation, Jira entry or 
even public e-mail that reveals such constraint to mere mortals using 
Firebird engine? Because I feel like a complete idiot now, and I want to 
know if it's because I can't read or because I'm too trusting (I can't 
find such constraint in FB 3.0.0-3.0.5 Release Notes or any piece of 
documentation in FB 3 distribution).


Also, Alex confirmed that this is still not implemented in FB v4 trunk. 
Because I'm probably not the only one disappointed by this discovery, I 
really can't wait to hear an explanation and future prospects.


best regards
Pavel Cisar


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Norbert Saint Georges

Dmitry Sibiryakov a écrit :

27.04.2020 15:23, Pavel Cisar wrote:
Or is the impression that this feature is not actually implemented really 
true?


   Yes it is true though should work in embedded mode.


is it functional in embedded?
are you sure ?

--
Norbert Saint Georges
http://tetrasys.fi



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] New API and scrollable cursors

2020-04-27 Thread Dmitry Sibiryakov

27.04.2020 15:23, Pavel Cisar wrote:

Or is the impression that this feature is not actually implemented really true?


  Yes it is true though should work in embedded mode.


--
  WBR, SD.


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel