× Heads up!

Aqua Data Studio / nhilam

Follow
IDE for Relational Databases
×
nhilam reported 2013-04-19T22:16:06Z  · SachinPrakash last modified 2013-05-01T22:41:32Z

Cancel taking a long time


customer request
Priority Major
Complexity Unknown
Component Q Analyzer
Version 12.0

Not sure if this is an issue in general, but it is for the following use case:

Execute the following query in Query Analyzer against SQL Server:

 

select * from sales_transactions waitfor delay '00:01'
 
The query should return a sufficiently large result set, enough to fill a "buffer" (maybe > 4KB).
 
Then click cancel. It will take 1 minute for the user to regain control.
 
The reason is that the cancel command was never sent to the server in this example. Here's why:
AFScriptContext.executeScriptStatements() will call:
1. setExecuting(true);
2. _currentStatement.execute(sqlString);
3. setExecuting(false);
 
In this example, the server will return parts or all of the result set, then do the "waitfor delay 00:01". And because the server returned something, step #2 will finish executing very quickly, and the code will set executing = false. Then when the user clicks cancel, AFScriptContext.cancelQuery() will not send the cancel to the server when isExecuting() == false.
 
So instead, AFScriptContext.cancelQuery() should probably check "isQueryNotDone" rather than "isExecuting". We know the query is not done because the cancel button is still enabled.
 

Issue #8709

Closed
Fixed
Resolved 2013-04-22T22:17:53Z
 
 
Completion
No due date
No fixed build
No time estimate

About AquaClusters Privacy Policy Support Version - 19.0.2-4 AquaFold, Inc Copyright © 2007-2017