Hi, многоуважаемый All!

   Может немного не в тему - наткнулся на непонятку:

   Firebird-2.1.0.15978-0_win32 OSD 11.1
   
   в FibPlus 6.7 в procedure GetBlobInfo(

   isc_blob_info возвращает для isc_info_blob_total_length
   37 байт (isc_info_blob_type = 0)
   
   isc_get_segment возвращает к-во прочитанных байт - 14 ...
   при попытке вычитать поле RDB$DESCRIPTION

   Вся эта лобуда происходит на запросе:
   select F.*,
          (Select C.Rdb$Character_Set_Name from Rdb$Character_Sets C
               where C.Rdb$Character_Set_ID=F.Rdb$Character_Set_ID) 
RDB$CHARACTER_SET_NAME,
          (Select C1.Rdb$Collation_Name from Rdb$Collations C1
               where C1.Rdb$Character_Set_ID=F.Rdb$Character_Set_ID
                and C1.Rdb$Collation_ID=F.Rdb$Collation_ID)
          RDB$COLLATION_NAME from RDB$fields F
     where (F.rdb$system_flag<>1 or F.rdb$system_flag is null)
       and (F.rdb$field_name not like 'RDB$%')
     order by F.rdb$field_name

Что самое интеестное данный запрос для RDB$DESCRIPTION выполненный
в IBE - возвращает <NULL>

Самое странное, что описания у глюкнувшего домена конда-то было
(именно 14 байт ещё на OSD 11.0) но в связи с бывшими глюками с
русскими кодировками все описания всех обьектом БД были прибиты

update RDB# ...
SET set RDB$DESCRIPTION = null
where coalesce(RDB$SYSTEM_FLAG, 0) = 0

Потом сделан B/R - откуда ноги растут - хоть убейте не пойму ...

С уважением,
Константин Григорьевич.
===============


Ответить