Subject Re: [ib-support] Re: Boolean Fields
Author Martijn Tonies
Hi,

>> >A true boolean would allow three values, TRUE, FALSE and NULL,
>> >so a boolean would really be a two bit value, one bit representing
>> >the NULL flag, and the second bit representing the true/false value.
>> >
>>
>> NULL is not a value :)
>It is and it isn't, NULL represents an unknown value, which means
>we need it, however there is another way to represent a NULL
>value, for other field types, so maybe we don't need a flag on the
>datatype, so we can get 8 booleans per byte.

Right.

>> >Do we really need it, probably not, here is a semi-related question
>>
>> There's a difference between _really_ needing something (as in:
>> at this very moment) and needing it. Perhaps you and I don't
>> need it, but other engines are supporting a wide range of data-
>> types. Take, for example, a native GUID, Boolean, Bit etc in
>> account and it all stacks up. Every new datatype is a new feature.
>
>And comes with a fresh new set of problems, such as bugs, and
>the fact that it makes the engine that much larger.

Every new feature or bugfix has the risc of creating new bugs. That's
probably what makes programming so hard ;)

As for the size, currently, InterBase/Firebird isn't just 'small', it's
extremely small and I wouldn't give a sh*t if it would grow to 10Mb
even for embedded applications. Is size (not for downloads or
network traffic) still a problem these days?


Martijn Tonies
InterBase Workbench - the developer tool for InterBase and Firebird
http://www.interbaseworkbench.com

Upscene Productions
http://www.upscene.com

"This is an object-oriented system.
If we change anything, the users object."