Subject Re: [ib-support] Re: Key size/FB Internals
Author Lista de Discução Interbase
Hi list !

This limitation is to any kind of key (indexes) or just for PK ?

PK is just a kind of unique index or has some other caracteristics (from
the firebird view point not the data model view point), I will try to
explain better (my english is very bad!) The internal structure of PK or FK
is the same of the secondary indexes or have internal diferences ?

I'd like to learn the internals of FB, but I don't code on C, there are
documentations about FB Structure, or the Interbase manuals are the best
source of information ?

see you

Alexandre Benson Smith
THOR Software e Comercial Ltda.
Santo Andre - SP - Brazil

At 12:44 PM 3/20/2002 +0000, ibfa2000 wrote:
>As far as I know, 255 bytes (and not 255 characters).
>This means :
>- 255 chars if you use 1-bytes chars (like charset ASCII or ISO8859_1)
>- 127 chars if you use 2-bytes chars (like charset BIG_5)
>- 84 chars if you use 3-bytes chars (like charset UNICODE_FSS)

The situation is worse than that. If you use a non-binary collating
sequence - one that sorts upper and lower case in a rational fashion,
for example, you increase the key representation. If you use a
collating sequence that includes fancy things like diacritical marks,
you increase the key representation again. So even if you use a
one byte character set, you will be limited to 84 characters if you
specify a collating sequence like FR-FR.
And it's worse than that, still. If you have a compound key, each
key is rounded up to five bytes and a tag bit is included every five

We have answers.