Page 1 of 1

Firebird 2.5 statement cancelling

Posted: Wed 24 Mar 2010 08:41
by upscene
Hi,

Firebird 2.5 supports statement cancelling via the client API, it relies on a new function in the client library.

Does IBDac supports this function yet via the TGDSCommand.BreakExec method?


With regards,

Martijn Tonies
Upscene Productions

Posted: Wed 24 Mar 2010 14:28
by Dimon
IBDAC executes the isc_dsql_free_statement API function on BreakExec.

Posted: Wed 24 Mar 2010 14:34
by upscene
Dimon wrote:IBDAC executes the isc_dsql_free_statement API function on BreakExec.
So, that's a "no"?
Cancel Operation Function
Alex Peshkov
New fb_cancel_operation() API call, allowing cancellation of the current activity being performed by some kind
of blocking API call in the given connection.

Syntax

Code: Select all

   ISC_STATUS fb_cancel_operation(ISC_STATUS* status_vector,
                                  isc_db_handle* db_handle,
                                  ISC_USHORT option);

Posted: Fri 26 Mar 2010 11:27
by Dimon
Thank you for information. This functionality will be included in the next IBDAC build.

Posted: Sat 16 Oct 2010 10:59
by SyntaXErr0r
Dimon wrote:Thank you for information. This functionality will be included in the next IBDAC build.

Code: Select all

ISC_STATUS fb_cancel_operation(ISC_STATUS* status_vector, 
                                  isc_db_handle* db_handle, 
                                  ISC_USHORT option);
This functionality included in new version (IBDAC 3.50)? Thanks.

Posted: Mon 25 Oct 2010 08:59
by AndreyZ
IBDAC 3.50 supports fb_cancel_operation. You can use the BreakExec method to break execution of a SQL statement on the server. For more information please read IBDAC Reference Manual.

breakExec

Posted: Wed 27 Oct 2010 18:03
by ricardouven
AndreyZ wrote:IBDAC 3.50 supports fb_cancel_operation. You can use the BreakExec method to break execution of a SQL statement on the server. For more information please read IBDAC Reference Manual.
.

Hi. i test this function (ver 3.5) but query still runing...
what can i do for cancel any running query?..

thanks!

Posted: Fri 29 Oct 2010 12:51
by AndreyZ
When you call the BreakExec method IBDAC calls fb_cancel_operation with the fb_cancel_raise option. Please read about specifications of this operation in the README.fb_cancel_operation.txt file of the \doc directory.
Also you can cancel statement execution by deleting a record from the MON$STATEMENTS table:

Code: Select all

delete from mon$statements where mon$sql_text = :sql_text