On 14/12/2019 15:14, Vlad Khorsun wrote:
14.12.2019 15:43, Mark Rotteveel wrote:
I'm implementing timeout support in Jaybird, but ran into a problem with the native implementation. Calling fb_dsql_set_timeout (old API) doesn't seem to have any effect: the executed statement had no timeout applied.

Before I spend too much time verifying things in Jaybird: is this expected to work,

   Yes, it should work

Thanks for confirming.

or are there obvious states of the client that will prevent the timeout to be set?

   Wrong statement handle, unprepared statement.

Ok, that isn't the case here. Question: why wouldn't an unprepared statement work? Or do you mean a new handle that has never had a statement prepared and is therefor not yet initialized?

  Also, there is check for remote protocol version, it should be PROTOCOL_VERSION16 at least. If protocol verision is less than PROTOCOL_VERSION16, error isc_wish_list
is reported via status-vector.

I'm using the 4.0.0.1691 fbclient.dll, and I'm not getting an error, so the method is present and the request was processed. The timeout works when connecting using the pure-java implementation, and when using Embedded, it doesn't work with a TCP/IP connection using fbclient.dll.

I called fb_dsql_set_timeout after a prepare and before isc_dsql_execute.

   This is correct

Ok, I'll see if I can do some debugging inside fbclient.dll, but it might be a few days until I get around to that.

Mark

--
Mark Rotteveel


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

Reply via email to