Subject Re: FW: [Firebird-Architect] Architectural Divergence
Author Jim Starkey
Samofatov, Nickolay wrote:

>Have you tried to read sources?
>I use 32-bit temporary ID for blob, thus I fully preserved backward
>compatibility at all levels.
Interesting. There is some version skew that I don't understand. The
firebird2 source I checked out has the blob id defined as a union of an
object pointer and a 32 bit int. The gpre that came along with it
generated "ISC_QUAD" for blob references in engine modules. The gpre
that we build on Solaris from a very recent firebird2 checkout generates
the type "bid" for blob references in engine modules. I assumed,
without checking, that the change was made to accommodate the growth in
the blob_id structure. What I missed until you pointed it out was that
after I checked out Vulcan, the blob_id structure was changed to
eliminate the pointer, preserving the original 64 bit type. I don't
have a clue why gpre was changed underneath me, but that is a different,
less important question.

Nickolay, I am sorry. You were, in fact, taking the necessary steps to
preserve compatibility. If I had taken the time to research the changes
(we keep a FB1.5, a FB2.0 at Vulcan checkout, a working (sic!) Vulcan,
and an up to date FB2.0), I wouldn't have made the mistake. Please
accept my apology.


Jim Starkey
Netfrastructure, Inc.
978 526-1376