On 6/22/16 6:05 PM, Bryan Pendleton wrote:
https://issues.apache.org/jira/browse/DERBY-3908
in network mode... seems to require that the DRDAConnThread be able
to receive a message from the network
client even while it is waiting for a statement to executed and the
result transported back to the client.
Hi Brett,
Ouch, I agree, this seems like a real challenge.
Even if the DRDAConnThread could be persuaded to do this,
I'm not sure there wouldn't be other complexities. For
instance, what if there are already some other messages "waiting in
the network" already?
Would it help to open a separate network connection instead?
That separate connection would then have to be able to indicate,
reliable, *which* connection it wanted to cancel, and then the
server, upon receiving that message, would have to hunt down that
connection and call cancel on it.
thanks,
bryan
I think that some such implementation is how IBM's DRDA client drivers
end up implementing Statement.cancel(). An out-of-band connection is
created in order to call a system procedure which looks up the
server-side session and cancels the statement. See
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM+i+Technology+Updates/page/QSYS2.FIND_AND_CANCEL_QSQSRVR_SQL+and+QSYS2.CANCEL_SQL+procedures
Hope this helps,
-Rick