Про SUSPEND

2006-09-06 Thread sasha
Привет. Не помню подымался ли вопрос, поэтому спрошу. Можно ли запретить SUSPEND в процедурах, которые не имеют выходных параметров? Сегодня пару часов мучались из-за того что в такой процедуре каким-то образом очутился этот SUSPEND и процедура не выполнялась до конца. По идее использование

Re: Про SUSPEND

2006-09-06 Thread Ded
sasha wrote: Сегодня пару часов мучались из-за того что в такой процедуре каким-то образом очутился этот SUSPEND и процедура не выполнялась до конца. А прикинь что будет если туда вдруг затесается EXIT или в структуре IF-ов кто-то облажается... Расслабься, в двойке уже запретили

Re: Про SUSPEND

2006-09-06 Thread sasha
Расслабься, в двойке уже запретили. В какой это? Я только двойками и пользуюсь и оно работает.

Re: Про SUSPEND

2006-09-06 Thread Ded
sasha wrote: Расслабься, в двойке уже запретили. В какой это? Я только двойками и пользуюсь и оно работает. Ну может только собрались, мне-то пофиг... Пошукай тут поиском, ДЕ вещал недавно на эту тему. -- Regards. Ded.

Re: Про SUSPEND

2006-09-07 Thread sasha
Вещал я на другую тему. SUSPEND никто не запрещал. А можно запретить? Мне кажется что такую тонкость как поведение SUSPEND при вызове процедуры с помощью EXECUTE PROCEDURE, помнят очень не многие. Фактически это потенциальная возможность провести ночь наедине с отладчиком.

Re: Про SUSPEND

2006-09-07 Thread Ded
sasha wrote: Фактически это потенциальная возможность провести ночь наедине с отладчиком. Если рассматривать с этой точки зрения, то предлагаю запретить в хранимых процедурах: 1. Условные операторы - запросто можно накрутить лишнего. 2. Переменные - легко можно забыть инициализировать.

Re: Про SUSPEND

2006-09-07 Thread sasha
Если рассматривать с этой точки зрения, то предлагаю запретить в хранимых процедурах: А зачем тогда было запрещать сортировку по невыбираемым полям в запросах с группировкой? И так бы прокатило...

Re: Про SUSPEND

2006-09-07 Thread sasha
Очень многие люди вызывают процедуры с SUSPEND через EXECUTE. Я, например :-) Процедуры без выходных параметров у тебя с SUSPEND? Я ведь токо про них... Если да, то почему не EXIT ?

Re: Про SUSPEND

2006-09-07 Thread Ded
sasha wrote: А зачем тогда было запрещать сортировку по невыбираемым полям в запросах с группировкой? И так бы прокатило... Не-а. Вот это-то как раз не прокатило бы в общем случае. -- Regards. Ded.

Re: Про SUSPEND

2006-09-07 Thread Boulitchev Aleksey
А зачем тогда было запрещать сортировку по невыбираемым полям в запросах с группировкой? И так бы прокатило... по личной просьбе оптимизатора - его тошнило PS +:) -- Булычев Алексей http://www.stella-npf.ru

Re: Про SUSPEND

2006-09-07 Thread sasha
Не-а. Вот это-то как раз не прокатило бы в общем случае. Но ведь до 2.0 так было... Вобще сами посудите. Где такое есть чтобы оператор менял своё поведение в зависимости от способа вызова подпрограммы? Я не теоретик в области языков программирования, но чую что так не должно быть...

Re: Про SUSPEND

2006-09-07 Thread Ded
Oleg LOA wrote: Объясни как "неопределённое поведение" может менять своё поведение в зависиости от чего-го там? Мона я? Через фазу луны :-D -- Regards. Ded.

Re: Про SUSPEND

2006-09-07 Thread sasha
запретить использование SUSPEND, т.к. для этого предназначен EXIT. Вот, к стати, интересная аналогия на C#: void Button1Click(object sender, System.EventArgs e) { SuspendTest(); } public IEnumerable SuspendTest() { MessageBox.Show("Start"); for

Re: Про SUSPEND

2006-09-07 Thread sasha
поменяно и что люди имели вопросы. Собственно вопрос я задал с намёком на то: почему сортировку запретить можно, а SUSPEND в процедуре без параметров нельзя? Надо выйти из процедуры - пользуй EXIT.

Re: Про SUSPEND

2006-09-07 Thread sasha
Да не проблема запретить. Но чем это тебе поможет, если выходные параметры таки нужны? Ну если нужны - это другой вопрос. Я бы вобще запретил вызывать процедуры через EXECUTE PROCEDURE, если в них есть SUSPEND. Но ты ведь сам сказал что лично такими пользуешься. Поэтому я не знаю что

Re: оПН SUSPEND

2006-09-07 Thread Dmitri Kuzmenko
Hello, Dmitry! Dmitry Yemanov wrote: иже с ним) и содержащих SUSPEND исключительно "шоб було". Помню времена, когда на форумах рекомендовали в executable-процедурах всегда писать SUSPEND (на всякий пожарный случай). Так что наследие ой как велико. я рекомендовал. Но - при наличи

Re: Про SUSPEND

2006-09-07 Thread sasha
Дело не столько во мне, сколько в куче процедур, сгенеренных IBExpert-ом (и иже с ним) и содержащих SUSPEND исключительно "шоб було". Помню времена, когда на форумах рекомендовали в executable-процедурах всегда писать SUSPEND (на всякий пожарный случай). Так что наследие ой как вел

Re: оПН SUSPEND

2006-09-07 Thread Ded
Dmitri Kuzmenko wrote: Dmitry Yemanov wrote: иже с ним) и содержащих SUSPEND исключительно "шоб було". Помню времена, когда на форумах рекомендовали в executable-процедурах всегда писать SUSPEND (на всякий пожарный случай). Так что наследие ой как велико. я рекомендовал

Re: Про SUSPEND

2006-09-08 Thread Boulitchev Aleksey
Так а зачем версию сервера менять если наследование есть? Хочешь новую версию сервера - переделывай. Не хочешь переделывать - сиди на старой версии... Мы, к примеру, не можем перейти на .NET 2.0 с .NET 1.1 т.к. очень много изменений надо делать и стандартный майкрософтовский конвертер не спра

Re: Про SUSPEND

2006-09-08 Thread Oleg Deribas
Hello, sasha said the following on 07.09.2006 16:33: > Мы, к примеру, не можем перейти на .NET 2.0 с .NET 1.1 т.к. очень много > изменений надо делать и стандартный майкрософтовский конвертер не > справляется. А что именно не получилось? Мы все что хотели - сразу перевели на 2.0. -- Oleg

Re: Про SUSPEND

2006-09-08 Thread sasha
А что именно не получилось? Мы все что хотели - сразу перевели на 2.0. Не помню что, но после конвертации было несколько сотен ошибок, которые править было некогда. Решили пока на 1.1 остаться. Думаю к новому году таки перейдём...

Re: Про SUSPEND

2006-09-08 Thread Kovalenko Dmitry
sasha wrote: > > Да не проблема запретить. Но чем это тебе поможет, если выходные параметры > > таки нужны? > > Ну если нужны - это другой вопрос. Я бы вобще запретил вызывать > процедуры через EXECUTE PROCEDURE, если в них есть SUSPEND. Но ты ведь > сам сказал что

Re: оПН SUSPEND

2006-09-08 Thread Serge Buzadzhy
Dmitry Yemanov пишет: "sasha" <[EMAIL PROTECTED]> wrote: А можно запретить? Мне кажется что такую тонкость как поведение SUSPEND при вызове процедуры с помощью EXECUTE PROCEDURE, помнят очень не многие. Очень многие люди вызывают процедуры с SUSPEND через EXECUTE. Я, наприме

Re: оПН SUSPEND

2006-09-08 Thread Serge Buzadzhy
Dmitry Yemanov пишет: "Serge Buzadzhy" <[EMAIL PROTECTED]> wrote: И какой тайный смысл такового действа? :) В процедуре мне нагляднее возвращать одно значение именно через EXECUTE RETURNING. Но иногда это значение нужно использовать в запросе, а там без SELECT никуда. В основном это случаи

Re: оПН SUSPEND

2006-09-09 Thread Oleg_M
Вот чесслово, непонимаю, отчего флейм развели. Никто ведь неудивится, если процедура вызванная как SELECT FIRST 1 дальше первого SUSPEND непойдет. imho, просто надо понимать, что есть SUSPEND.

FB. Stored proc & suspend

2006-09-28 Thread RUST
hi all Подскажите плз., обязана ли хранимая процедура возвращать строки в том же порядке, в котором вызывается suspend?

Re: Дубликаты при SUSPEND

2006-09-29 Thread Мадорский Г . В .
select distinct id from SP? если б меня distinct устроил, я б и не спрашивал. хранимка будет join'иться с другими таблицами, боюсь там везде дубликаты пойдут, а пихать в каждый запрос с этой хранимкой distinct ой как неохота. А ты запхни SP унутрь другой SP, которая distinct делать будет. Wi

Re: Дубликаты при SUSPEND

2006-09-29 Thread Ovchinnikov Vasily
Андрей Могильный пишет: select distinct id from SP? если б меня distinct устроил, я б и не спрашивал. Постановка вопроса страдает, вестимо... "Тяжело мысли угадывать, когда вы на двух языках сразу думаете" (c) Можешь, конечно, обойдись временной таблицей, как и сам говорил. А если не хочется

Re: Дубликаты при SUSPEND

2006-09-29 Thread WildSery
> Андрей Могильный пишет: >> select distinct id from SP? >> >> если б меня distinct устроил, я б и не спрашивал. > Постановка вопроса страдает, вестимо... > "Тяжело мысли угадывать, когда вы на двух языках сразу думаете" (c) > > Можешь, конечно, обойдись временной таблицей, как и сам говорил. А ес

Re: Дубликаты при SUSPEND

2006-09-29 Thread Oleg Deribas
Hello, Андрей Могильный said the following on 29.09.2006 12:57: > Пишу селективную рекурсивную хранимку обхода дерева (даже графа), > /*Вот здесь хотелось бы проверить, а не был ли уже этот ID ранее выдан > наружу при других рекурсивных вызовах этой же хранимки*/ Если fb2 - сделай для этого к

Re: Дубликаты при SUSPEND

2006-09-29 Thread Dmitri Kuzmenko
Hello, Андрей! Андрей Могильный wrote: Пишу селективную рекурсивную хранимку обхода дерева (даже графа), на выходе таблица с одним полем - некий ID. Так вот при обходе возможен выход дубликатов, т.е. те ID уже попали в SUSPEND ранее. Можно ли как-то узнать, что уже отSUSPENDилось? ;) нет

Re: Дубликаты при SUSPEND

2006-10-09 Thread Konstantin R. Beliaev
Андрей Могильный wrote: если б меня distinct устроил, я б и не спрашивал. хранимка будет join'иться с другими таблицами, боюсь там везде дубликаты пойдут, а пихать в каждый запрос с этой хранимкой distinct ой как неохота. А нельзя ли так преобразовать этот граф, чтобы исключить возможность по

Re: Дубликаты при SUSPEND

2006-10-09 Thread Oleg LOA
"Konstantin R. Beliaev" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > Андрей Могильный wrote: >> если б меня distinct устроил, я б и не спрашивал. >> хранимка будет join'иться с другими таблицами, боюсь там везде дубликаты >> пойдут, >> а пихать в каждый запрос с этой хранимкой

Re: FB. Stored proc & suspend

2006-09-28 Thread Dmitri Kuzmenko
Hello, Rust! RUST wrote: Подскажите плз., обязана ли хранимая процедура возвращать строки в том же порядке, в котором вызывается suspend? может она и не обязана, но по другому не может. -- Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34

Определение наличия SUSPEND по BLR

2006-07-24 Thread Kovalenko Dmitry
пределения SUSPEND по BLR. --- Способ тривиален - ищется blr_send. см Файл IscProceduresResultSet.cpp / IscProceduresResultSet::canSelectFromProcedure --- Правда реализация весьма странная - сначала формируется текстовое представление BLR-кода, потом ищется строка "blr_s

Re: ��� SUSPEND

2006-09-06 Thread Dmitry Yemanov
"Ded" <[EMAIL PROTECTED]> wrote: > > Íó ìîæåò òîëüêî ñîáðàëèñü, ìíå-òî ïîôèã... Ïîøóêàé òóò ïîèñêîì, ÄÅ âåùàë > íåäàâíî íà ýòó òåìó. Âåùàë ÿ íà äðóãóþ òåìó. SUSPEND íèêòî íå

Re: ��� SUSPEND

2006-09-07 Thread Dmitry Yemanov
"sasha" <[EMAIL PROTECTED]> wrote: > > À ìîæíî çàïðåòèòü? Ìíå êàæåòñÿ ÷òî òàêóþ òîíêîñòü êàê ïîâåäåíèå SUSPEND > ïðè âûçîâå ïðîöåäóðû ñ ïîìîùüþ EXECUTE PROCEDURE, ïîìíÿò î÷åíü íå

Re: ��� SUSPEND

2006-09-07 Thread Dmitry Yemanov
"sasha" <[EMAIL PROTECTED]> wrote: > > à SUSPEND â ïðîöåäóðå áåç ïàðàìåòðîâ íåëüçÿ? Íàäî âûéòè èç ïðîöåäóðû - > ïîëüçóé EXIT. Äà íå ïðîáëåìà çàïðåòèòü. Íî ÷åì ýòî òåáå ïîìîÃ

Re: ��� SUSPEND

2006-09-07 Thread Dmitry Yemanov
"sasha" <[EMAIL PROTECTED]> wrote: > > ß áû âîáùå çàïðåòèë âûçûâàòü ïðîöåäóðû ÷åðåç EXECUTE PROCEDURE, åñëè â íèõ > åñòü SUSPEND. Íî òû âåäü ñàì ñêàçàë ÷òî ëè÷íî òàêèìè ïîëüçóåøü

Re: ��� SUSPEND

2006-09-07 Thread Eugene
¼ ÷òî-òî ïîìåíÿë. Ïîëüçà îò çàïðåùåíèÿ suspend âåñüìà ñîìíèòåëüíà, à ðàáîòû ïðèáàâèò ìíîãî, ñîâåðøåííî íåíóæíîé. P. S. Äåäó ïåðñîíàëüíûé ïðèâåò!

Re: ��� SUSPEND

2006-09-08 Thread Dmitry Yemanov
"Serge Buzadzhy" <[EMAIL PROTECTED]> wrote: > > é ËÁËÏÊ ÔÁÊÎÙÊ ÓÍÙÓÌ ÔÁËÏ×ÏÇÏ ÄÅÊÓÔ×Á? :) ÷ ÐÒÏÃÅÄÕÒÅ ÍÎÅ ÎÁÇÌÑÄÎÅÅ ×ÏÚ×ÒÁÝÁÔØ ÏÄÎÏ ÚÎÁÞÅÎÉÅ ÉÍÅÎÎÏ ÞÅÒÅÚ EXECUTE RETURNING. îÏ ÉÎÏÇÄÁ ÜÔÏ ÚÎÁÞÅÃ

Re[2]: ��� SUSPEND

2007-04-08 Thread �������� �����
Здравствуйте, sasha. Вы писали 7 сентября 2006 г., 16:59:15: >>Если рассматривать с этой точки зрения, то предлагаю запретить в >> хранимых процедурах: > А зачем тогда было Ð

Re: Определение наличия SUSPEND по BLR

2006-07-24 Thread Evgeny Putilin
Hi "Kovalenko Dmitry" > А еще я буду премного благодарен > кодоведам сервера, если они скажут в > каких файлах исходника сервера > находится генерация BLR-а для SUSPEND src\dsql\gen.cpp WBR Evgeny Putilin.

Re: Определение наличия SUSPEND по BLR

2006-07-24 Thread Horsun Vlad
"Kovalenko Dmitry" ... > Скачал исходники OdbcJdbc, чтобы > посмотреть на порекомендованный > способ определения SUSPEND по BLR. > --- > Способ тривиален - ищется blr_send. > > см Файл IscProceduresResultSet.cpp / > IscProcedure

Re: Определение наличия SUSPEND по BLR

2006-07-24 Thread Kovalenko Dmitry
етра > с кодом 14 ? :) Можно написать свой blr парсер или даже взять > его в движке - но зачем ? И то верно, что-то я затупил. > > Я, через IBExpert, посмотрел содержимое > > двух SP (с SUSPEND и без) в обоих есть blr_send. > > Он есть в конце любой процедуры +

��������� ��� SUSPEND

2006-09-29 Thread ������ ��������
”Ï×, Ô.Å. ÔÅ ID ÕÖÅ ÐÏÐÁÌÉ × SUSPEND ÒÁÎÅÅ. íÏÖÎÏ ÌÉ ËÁË-ÔÏ ÕÚÎÁÔØ, ÞÔÏ ÕÖÅ ÏÔSUSPENDÉÌÏÓØ? ;) ô.Å. ãÉËÌ begin id:=someid; /*÷ÏÔ ÚÄÅÓØ ÈÏÔÅÌÏÓØ ÂÙ ÐÒÏ×ÅÒÉÔØ, Á ÎÅ ÂÙÌ ÌÉ ÕÖÅ ÜÔÏÔ ID ÒÁÎÅÅ Ã

Re: ��������� ��� SUSPEND

2006-09-29 Thread Evgeny Putilin
Hi "Андрей Могильный" > дубликатов, т.е. те ID уже попали в SUSPEND ранее. > Можно ли как-то узнать, что уже отSUSPENDилось? ;) > Т.е. > > Цикл > begin > id:=someid; > /*Во

Re: ��������� ��� SUSPEND

2006-09-29 Thread ������ ��������
select distinct id from SP? ÅÓÌÉ Â ÍÅÎÑ distinct ÕÓÔÒÏÉÌ, Ñ Â É ÎÅ ÓÐÒÁÛÉ×ÁÌ. ÈÒÁÎÉÍËÁ ÂÕÄÅÔ join'ÉÔØÓÑ Ó ÄÒÕÇÉÍÉ ÔÁÂÌÉÃÁÍÉ, ÂÏÀÓØ ÔÁÍ ×ÅÚÄÅ ÄÕÂÌÉËÁÔÙ ÐÏÊÄÕÔ, Á ÐÉÈÁÔØ × ËÁÖÄÙÊ ÚÁÐÒÏÓ

Re: ��������� ��� SUSPEND

2006-09-29 Thread ����������� ������
> select distinct id from SP? > > ÅÓÌÉ Â ÍÅÎÑ distinct ÕÓÔÒÏÉÌ, Ñ Â É ÎÅ ÓÐÒÁÛÉ×ÁÌ. > ÈÒÁÎÉÍËÁ ÂÕÄÅÔ join'ÉÔØÓÑ Ó ÄÒÕÇÉÍÉ ÔÁÂÌÉÃÁÍÉ, ÂÏÀÓØ ÔÁÍ ×ÅÚÄÅ ÄÕÂÌÉËÁÔÙ > ÐÏÊÄÕÔ, > Á ÐÉÈÁÔØ × ËÁÖÄÙÊ Ú

Re: ��������� ��� SUSPEND

2006-09-29 Thread ������ ��������
ðÏÎÑÌ! óÐÁÓÉÂÏ, ËÏÌÌÅÇÉ! _ ó Õ×ÁÖÅÎÉÅÍ, áÎÄÒÅÊ íÏÇÉÌØÎÙÊ.

Re: ����������� ������� SUSPEND �� BLR

2006-07-24 Thread Dmitry Yemanov
’. > ñ, ÞÅÒÅÚ IBExpert, ÐÏÓÍÏÔÒÅÌ ÓÏÄÅÒÖÉÍÏÅ > Ä×ÕÈ SP (Ó SUSPEND É ÂÅÚ) × ÏÂÏÉÈ ÅÓÔØ blr_send. blr_send - ÜÔÏ ×ÏÚ×ÒÁÔ ÒÅÚÕÌØÔÁÔÏ×. åÓÌÉ ÏÎÙÅ ÅÓÔØ, ÔÏ ÂÕÄÅÔ É blr_send. > á ÅÝÅ Ñ ÂÕÄÕ ÐÒÅÍÃ