On 2020-04-03 12:55, Dimitry Sibiryakov wrote:
03.04.2020 11:44, Alex Peshkoff via Firebird-devel wrote:
In doc I see "unknown format of output message", that's not same case
as "not known yet". Pay attention - "firebird is using in this case
default message format".
What is the difference?
unknown format of output message - use format automatically generated
based on properties of fields in a query
not known yet format of output message - format will be passed after
openCursor() (but before first fetch) using undocumented
setDelayedOutputFormat() call
How big is that difference - certainly it depends upon provider.
With subj we have other case - format _must_ be passed after
openCursor().
What? In the code that you quoted DELAYED_OUT_FORMAT is simply
replaced with NULL by DSQL and then the rest of the function works as
if nothing happen.
Implementation detail.
Variable needDelayedFormat is used only to throw an error message.
BTW, throwing this error is a wrong behavior from my POV. Provider
better should allow to change output data format for IResultSet at any
time (at least I do it).
If your provider is supposed to be used only for embedded connections -
yep, you can do it. Remote layer does not support this format change
since at least arrival of batch records transfer.
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel