Recently I did some database rescue, but after that decided to make simple 
IBSurgeonViewer like utility to view data structure (how data structured, where 
it defined and how to bind everything together). And I got several 
questions-problems (based on FB 2.5 sources):

1. dtype_varying defined in fields.h with length, including 2 bytes with 
length? From tests it seems exact data length 253 if there defined 255.
2. I got relations defs from relations.h for RDB$RELATIONS, but it fails to 
extract properly from ODS 11 table (it seems there additional 4 bytes something 
somewhere after first 3 blobs), but there is no ods11 defs (or at least I was 
unable to find, if exists - where?) in sources. Is there really additional 
field (where to search) or something different in ODS 11 with extraction?
3. Some tables (at least 1) in ods 10 DB have no nullbits mask, and another 
have this mask shifted at some point (first several fields have proper relation 
to mask and near and mask bits related to fields as [f_no - 1]). Isn't size of 
this mask exactly 4 bytes per every 32 fields? If not - is it somewhere stored?
4. I can't find in sources how to understand relation 8 (RDB$FORMATS) blobs by 
RDB$DESCRIPTOR data. How to decode those bytes? Is it related to some file in 
sources? Is this structure where rhd_format related?

Thanks.

Reply via email to