Главная страница
    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.46 MB
Время: 0.037 c
1-41621
Senti
2003-10-25 20:23
2003.11.13
проблема с отображением Gif файлов


7-42156
karsky
2003-09-01 09:15
2003.11.13
Сканер штрих кодов и Delphi


3-41039
NaZGA
2003-10-14 14:11
2003.11.13
ADO Временные таблицы


14-41893
euru
2003-10-21 19:11
2003.11.13
Коды городов


3-41058
AbrosimovA
2003-10-24 10:18
2003.11.13
Возникает ошибка при упаковке таблицы DBase





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский