Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
Карелин Артем   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.033 c
4-42221
Pank
2003-09-01 12:46
2003.11.13
действительно поверх всех окон


7-42197
iWorm
2003-08-27 03:54
2003.11.13
Клавиатура


4-42238
Dmitry V. Averuanov
2003-09-17 11:12
2003.11.13
Как запустить свою программу как сервис NT


6-41855
Yot
2003-09-10 13:11
2003.11.13
Client_Server


1-41200
AndriyS
2003-11-02 11:47
2003.11.13
Работа с Stringgrid, как менять во время исполнения размеры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский