Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-01 Thread Dimitry Sibiryakov

Mark Rotteveel wrote 01.12.2021 18:02:

You need to set the cursor name before you open it, IIRC.


  Actually it doesn't matter. It is enough to set cursor name any time before 
using of positional DML AFAIU.


--
  WBR, SD.


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


Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-01 Thread Mark Rotteveel

On 01-12-2021 16:06, Dmitry Yemanov wrote:

01.12.2021 16:07, Dimitry Sibiryakov wrote:


Also if IResultSet is returned from IAttachment::openCursor() there is 
no (visible) IStatement at all.


And I see the same problem for setCursorName() which is available only 
through IStatement. An oversight?


You need to set the cursor name before you open it, IIRC. So - assuming 
I'm not mistaken in this - adding it to IResultSet doesn't make sense, 
as that will only return once the cursor has been opened.


Mark
--
Mark Rotteveel


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


Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-01 Thread Dimitry Sibiryakov

Dmitry Yemanov wrote 01.12.2021 16:06:
And I see the same problem for setCursorName() which is available only through 
IStatement. An oversight?


  IAttachment::openCursor() has a parameter for cursor name.

--
  WBR, SD.


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


Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-01 Thread Dmitry Yemanov

01.12.2021 16:07, Dimitry Sibiryakov wrote:


Also if IResultSet is returned from IAttachment::openCursor() there 
is no (visible) IStatement at all.


And I see the same problem for setCursorName() which is available only 
through IStatement. An oversight?



Dmitry


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


Re: [Firebird-devel] INF_database_info

2021-12-01 Thread Dmitry Yemanov

30.11.2021 14:58, Roman Simakov wrote:


isql after set stat returns some statistics of a query execution like

Current memory = 10647136
Delta memory = 148432
Max memory = 10728544
Elapsed time = 162.476 sec
Cpu = 0.000 sec
Buffers = 1024
Reads = 332280
Writes = 0
Fetches = 70584692

Actually the server gets it from the function INF_database_info using
dbb_stats. For SuperServer architecture it includes concurrent changes
but for Classic it does not. At least it's inconsistent.


That's legacy we used to deal with.


Also note the statistics is shown after query execution and I guess a
user expects it to be related to the query.
I think it's more correct to use att_stats here. Even taking into
account legacy clients. att_stats like dbb_stats for Classic mode.


Basically agreed. Although I foresee inconsistencies with disk IO 
counters. E.g. dbb_stats now includes writes performed by cache writer 
in SS and writes performed by AST in CS. They will not be accounted in 
att_stats.



Another option is to add att_stats as well and show them in isql if
stat ON.


We cannot change meaning of the existing counters in 
ISC_database_info(). Adding attachment-level IO counters to the info is 
possible, but ISQL will need to check whether new INF items are 
available and fallback to the dbb counters if connected to older engines.



Dmitry


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


Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-01 Thread Dimitry Sibiryakov

Dmitry Yemanov wrote 01.12.2021 9:10:
Given that any DSQL statement cannot have multiple result sets, I doubt 
IResultSet::getInfo() is really required, IStatement::getInfo() could be used 
instead. Or if we go for consistency, IResultSet::getInfo() could be added, but 
internally it calls IStatement::getInfo() (and they share the same subset of 
info codes). Opinions?


  Because these interfaces are separated a function foo(IResultSet*) cannot 
access IStatement::getInfo() so IResultSet::getInfo() is required.
  Also if IResultSet is returned from IAttachment::openCursor() there is no 
(visible) IStatement at all.


--
  WBR, SD.


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


Re: [Firebird-devel] Plans for 4.0.1

2021-12-01 Thread Dmitry Yemanov

01.12.2021 14:25, Pavel Cisar wrote:


would be 4.0.1 released in December, January or later?


I'd like to have it released in December. I don't see any showstoppers 
and plan to commit my own pending parts during a week or so.



Dmitry


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


[Firebird-devel] Plans for 4.0.1

2021-12-01 Thread Pavel Cisar

Hi all,

would be 4.0.1 released in December, January or later?

regards
Pavel


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


Re: [Firebird-devel] Plans for 3.0.8

2021-12-01 Thread Dmitry Yemanov

01.12.2021 14:01, Gabor Boros wrote:


Please update the Roadmap page: https://firebirdsql.org/en/roadmap


Done.


Dmitry


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


Re: [Firebird-devel] Plans for 3.0.8

2021-12-01 Thread Gabor Boros

2021.11.17. 19:58 keltezéssel, Mark Rotteveel írta:
Firebird 3.0.8 has been released: 
https://firebirdsql.org/en/news/firebird-3-0-8-sub-release-is-available/


Mark



Please update the Roadmap page: https://firebirdsql.org/en/roadmap

Gabor


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


Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-01 Thread Dmitry Yemanov

28.11.2021 14:37, Dimitry Sibiryakov wrote:


And it doesn't need to be a dedicated method of IResultSet. Something 
generic and easily extendable like IResultSet::getInfo() would be enough.


Given that any DSQL statement cannot have multiple result sets, I doubt 
IResultSet::getInfo() is really required, IStatement::getInfo() could be 
used instead. Or if we go for consistency, IResultSet::getInfo() could 
be added, but internally it calls IStatement::getInfo() (and they share 
the same subset of info codes). Opinions?



Dmitry


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