Ϸ
ϸ
в Interbase 6.5 появилась такая фишка (ну и соответственно и IB7):
===========================================
New Ansynchronous statement cancel gives you the ability to cancel queries.
This feature gives you the ability to cancel an executing DSQL statement via the
InterBase API.
The ability to cancel an executing DSQL statement is an often requested feature that was included in
InterBase 6.5. This feature modifies an existing DSQL API to request that a statement have its execution
cancelled and interrupted.
The existing DSQL API isc_dsql_free_statement() has been modified to include a new option which requests
that an executing statement be cancelled.
A third option of DSQL_cancel has been added to indicate that statement execution should be cancelled.
A successful return does not mean that statement execution was cancelled, only that the statement was
marked for cancellation in the server.
The DSQL_cancel option allows for the asynchronous cancellation of an executing statement. The client that
was executing the statement receives a status code of isc_cancelled. Once a statement has been cancelled, any
subsequent execution restarts the statement, rather than resuming it.
===========================================
т.е. выполнение длительных запросов на сервере можно прерывать.
но в реализации IBX7.05 и в FIBPlus4.8 не нашел этой фишки...
(используется IB API функция isc_dsql_free_statement() с новым параметром DSQL_cancel)
кто что думает по этому поводу?
ведь если используются очень сложные запросы, реально необходимая вещь...
===========================================
New Ansynchronous statement cancel gives you the ability to cancel queries.
This feature gives you the ability to cancel an executing DSQL statement via the
InterBase API.
The ability to cancel an executing DSQL statement is an often requested feature that was included in
InterBase 6.5. This feature modifies an existing DSQL API to request that a statement have its execution
cancelled and interrupted.
The existing DSQL API isc_dsql_free_statement() has been modified to include a new option which requests
that an executing statement be cancelled.
A third option of DSQL_cancel has been added to indicate that statement execution should be cancelled.
A successful return does not mean that statement execution was cancelled, only that the statement was
marked for cancellation in the server.
The DSQL_cancel option allows for the asynchronous cancellation of an executing statement. The client that
was executing the statement receives a status code of isc_cancelled. Once a statement has been cancelled, any
subsequent execution restarts the statement, rather than resuming it.
===========================================
т.е. выполнение длительных запросов на сервере можно прерывать.
но в реализации IBX7.05 и в FIBPlus4.8 не нашел этой фишки...
(используется IB API функция isc_dsql_free_statement() с новым параметром DSQL_cancel)
кто что думает по этому поводу?
ведь если используются очень сложные запросы, реально необходимая вещь...