Re: [Firebird-devel] New API and scrollable cursors
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
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
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] FB 3 & 4, new API and the ARRAY type
26.04.2020 14:41, Roman Simakov wrote: Maybe it's must be implemented in another way but before we understand it we should not neither remove it nor deprecate it. At least if there are no strong reasons that block other good aims. So far I tend to agree with this position. Let it be "stuck" until we have a good understanding whether we want to improve them (and how) or not. Dmitry Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] New API and scrollable cursors
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
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
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
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
[Firebird-devel] New API and scrollable cursors
Hi all, I have problem with scrollable cursor. With simple statement like "select * from country" (employee.fdb) and flag IStatement::CURSOR_TYPE_SCROLLABLE passed to IStatement.open_cursor(), any call to fetch[First|Prior|Last|Absolute|Relative] and is_bof() fails with error "feature is not supported". This error is internally registered as "wish_list", and digging in sources revealed that implementation of all these methods in /src/remote/client/interface.cpp unconditionally raise such exception. I'm really puzzled what is going on here. Did I do something wrong and there are some additional requirements for DSQL scrollable cursors other than scrollable flag? Or is the impression that this feature is not actually implemented really true? BTW, I work with FB 3.0.4 from OpenSuSE Tumbleweed best regards Pavel Cisar Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel