On 13.11.2012 14:53, MandolinPlayer wrote:
> Greetings all -
>
> I use SQL Squirrel with Apache Hive via JDBC Drivers. For the most part
> it works pretty well. There are a few quirks that happen, sometimes a
> query gets sent and the "Executing SQL" never returns, I can accept
> that, it's new tech (Hive etc). That being said, when there are
> situations like that, I'd like to be able to close that tab and have
> Squirrel chug on with my other tabs. What has been happening is if I try
> to close the tab that is not returning (I've confirmed that the job is
> done, nothing will be returned) it asks if I want to save, I click no,
> and then the No button gets pressed, and then stuck in. At this point,
> the whole SQL Squirrel is locked, I can't get to my other queries, other
> results, etc. Since this situation is unpredictable, it's very
> frustrating as I lost my adhoc queries I may be running in that
> session. Can we make it so that what ever SQL Squirrel is waiting on,
> that it times out, or just goes on with life if it doesn't return? A
> hanging tab shouldn't kill everything within the app.
This sounds like whenever a method call is being executed on the JDBC
driver any other call gets blocked until the first call returns. You may
try out whether that is so with a quite simple test program.
JDBC drivers that behave like this are always hard to handle. What one
would need to do was to put any call to the driver in a thread that will
time out when the call doesn't return quick enough.
Perhaps the best way to implement this would be to create a wrapper
around the JDBC driver. Then SQuirreL could use the wrapper instead of
the original driver.
Gerd
|