Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Как снять   Найти похожие ветки 

 
Карелин Артем ©   (2003-10-23 17:14) [0]

Ситуация такая: есть хранимая процедура, которая хитрым образом выбирает данные из десятка не маленьких таблиц по определенным условиям и запрос на клиенте, который из этого набора выбирает то, что юзер прописал. В сетку это попадает моментально, потому как фетчится только десяток-другой записей. Еще юзеру иногда хочется оценить количество этих записей. В принципе это решается банальным запросом select count с заданными условиями, но очень часто такой запрос занимает определенное время.
Чтобы юзер не грустил, такой запрос можно даже поместить и внутрь потока с низким приоритетом. Это не проблема. Проблема в том, как прекратить выполнение этого запроса досрочно.


 
Vlad ©   (2003-10-23 17:17) [1]

>Карелин Артем © (23.10.03 17:14)
Убить поток ?


 
bushmen ©   (2003-10-23 17:18) [2]

Делай в отдельном потоке, а потом пришибай поток ?!


 
Карелин Артем ©   (2003-10-23 17:27) [3]

bushmen © (23.10.03 17:18) [2]
Как? На Terminate поток среагирует после завершения запроса, да и тов. Digitman © кроме нижеследующего писать не хочет:

а все что связано с TerminateThread() - не выдерживает никакой критики и чревато серьезными проблемами, вплоть жо краха как процесса сервера так и процесса клиента и кидает на сайт IBASE.RU, где описана совсем другая ситуация.


 
Mike Kouzmine ©   (2003-10-23 17:30) [4]

Берешь генератор, значение ноль. Клиент делает его = 1 - процедура проверяет и выходит с генерацией исключения.


 
Карелин Артем ©   (2003-10-23 17:35) [5]

Mike Kouzmine © (23.10.03 17:30) [4]
Точно, только вот без исключения лучше выходить.


 
bushmen ©   (2003-10-23 17:36) [6]

Я тоже не понимаю, причем тут ibase.ru Мы прибиваем процесс со стороны Delphi. Или хочется, чтобы со стороны базы он пришибался?


 
Mike Kouzmine ©   (2003-10-23 17:36) [7]

Почему же. Тогда можно обработать эту ситуацию.


 
Mike Kouzmine ©   (2003-10-23 17:37) [8]

И прибить твой поток.


 
Val ©   (2003-10-23 20:16) [9]

>bushmen © (23.10.03 17:36) [6]
>Mike Kouzmine © (23.10.03 17:36) [7]
ну а что же сервер знает о потоках?


 
kaif ©   (2003-10-23 20:56) [10]

Все же сервер что-то знает о потоках, если существуют транзакции wait. Хотя это так... Предположение.


 
Mike Kouzmine ©   (2003-10-24 09:52) [11]

Val © (23.10.03 20:16) [9] Для непонятливых. Возбуждается исключение в ХП "Прервали". Клиент обрабатывает его с выводом сообщения "ПРИДУРОК, ТЫ ЧТО НАЖАЛ?" и, если запрос выполнялся в отдельном потоке (как это сейчас модно), убивает поток. Что не понятно?



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
11-41120
microlab
2003-02-16 20:20
2003.11.13
Нашёл необычное решение для создания ярлыков


9-40754
General
2003-04-13 20:38
2003.11.13
Можно ли написать полноценную игру в Delphi???


3-41112
arche
2003-10-23 09:19
2003.11.13
Есть база, с ней напрямую работают два разных приложения,


14-42062
Fredericco
2003-10-24 16:35
2003.11.13
Прикол


4-42249
samson
2003-09-16 05:36
2003.11.13
Закрыть окна