>>   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: Ещё раз сорри, закричал "тону" не "войдя в воду" ...

С уважением,
Константин Григорьевич.
===============
Если "низя", но очень "хотса" - то "мона" :)



--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить