Subject Re: [firebird-support] One Generator To Rule Them All
Author Daniel Rail

At September 7, 2003, 13:39, sugi wrote:
> Yes... <blush> I keep forgetting that part...:)
> Two more questions from me :
> 1. Does this mean that you think it's safe to use one generator for
> everything?

It depends how many records are expected to use this generator as a
unique key generator. And, to calculate this, look at how much data
your client will be entering on average in a week(or day) and multiply
that value by a few years(I usually use 7 years or more). When the
software meets your clients needs(or as long as it does) and can still
be run on the operating system that they are using, your clients will
use the software for years.

> 2. Do we have to use BIGINT in FB1.5 Dialect 3 or could we use
> Numeric(18,0) instead? You seem to be implying that there are some
> consequences/differences between the two construct.

There's no consequence and the only real difference is how they are
declared when defining the field.

> PS:
> I've read somewhere that Delphi 5/6 (with both IBX and IBO) is having
> problems with 64-bit integers, due to incompatibilities with the Variant
> type, so we cannot use constructs such as :
> ...
> query1['fieldname'] := some_bigint_value;
> ... or ...
> query1.fieldbyname('fieldname').value := some_bigint_value;
> ...
> Or vice versa (getting the value out of the database). But that's a
> Delphi specific issue, I think, Off topic here.

This relates to using TField, for the field definitions. IBO native
doesn't use TField for its columns and does support 64 bit integer.
The limitation comes from using the IBO TDataset descendants which
require the usage of TField. And, TField in D5 and D6 doesn't have the
AsLargeInt property that D7 has.

Best regards,
Daniel Rail
Senior System Engineer
ACCRA Group Inc. (
ACCRA Med Software Inc. (