Subject RE: FW: [Firebird-Architect] Architectural Divergence
Author Samofatov, Nickolay
Hi, Jim!

> 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.

The reasons of this change were the following:
1) to eliminate Intel compiler grumbling about unsafe ISC_QUAD->(struct
bid) value casts
2) to enforce type-safety and remove lots of casts
3) I created isEmpty() inline method for blob_id and used it everywhere
to reduce possibility of errors
4) It looks like we'll need to change this structure somehow anyway,
because 80 Gig table size limit needs to be attacked. Limits of 4G
records and 32k tables are bad too. Currently I still don't know how to
fix those limits and preserve backwards compatibility at the same time,
but I think adding type-safety for key structures is the step in right
direction.

> 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.

Accepted. :)
I'm trying to do everything right, but minimize the amount of changes at
the same time.

In fact, it looks like we have much in common and both have problems
with political correctness of work we are doing. :)
For example, see the fb-devel and threads about my AMD64 packages.

> Jim Starkey

Nickolay