Delphi + Interbase + Query

  • Автор темы ϸ
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Ϸ

ϸ

Гость
#1
в 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)

кто что думает по этому поводу?
ведь если используются очень сложные запросы, реально необходимая вещь...
 
B

Barmutik

Гость
#2
Никогда не видел ПРАВИЛЬНО написанного запроса работающего более 5 секунд...

Если больше значит проблема .. или заложенная при проектировании базы данных или при создании программы...
 
Статус
Закрыто для дальнейших ответов.