>> declare variable s smallint; // 16 bit >> begin >> i = 1; >> s = -65535; // прокатывает хотя для bigint - нет (-65535..0)
> вообще то smallint это знаковое, +- 32768. > может быть на этапе присвоения в процедуре это и прокатывает, хотя, можно было-бы ... ладно, ладно - молчу, а то ... ;) > но не прокатит при выполнении или обработке параметров. > при select * from i получим arithmetic exception. Ок. Я уже понял, сорри ... >> Из всего выше перечисленного очень интерестная логика получается ... >> А точнее вообще не понятно нифига ... > Константин Григорьевич, кончай мутить. Есть стандартные типы, > целочисленные, знаковые. И любые отклонения от нормального > поведения надо считать багом. Но с попытками изменить "стандартность" > этих типов - в сад. > Тебе на bigint одного бита не хватило? Для ACL? Всё, всё, я уже всё понял ... Ещё раз сорри ... А применение действительно ACL, не то что-бы не хватило (пока хватает) просто обкатывал различные варианты и ... >>PS: Все эксперементы воспроизводились с использованием >> отладчика IBExpert пошагово ... > еще один.... IBExpert "отлаживает" процедуры путем выдирания из > текста процедуры отдельных операторов и выполнения просто как > операторов SQL. То есть, он делает это сам, > как можешь делать и ты, положив текст процедуры в notepad, > и выполняя из нее операторы поштучно. > В InterBase/Firebird нет никакой "отдладки процедур". Просто из интереса, можно не отвечать если надоел в конец ... А как в SQL можно сымулировать работу с переменными ? Или в IBExpert наверное свой парсер процедур и свой стек переменных ? PS: Ещё раз сорри, закричал "тону" не "войдя в воду" ... С уважением, Константин Григорьевич. =============== Если "низя", но очень "хотса" - то "мона" :) --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

