[fpc-pascal] Re: SQLDB/Firebird unable to open table with more than 128 fields

Funky Beast funkybeast at pacific.net.sg
Fri Mar 20 16:27:47 CET 2009

Graeme Geldenhuys wrote:
> 2009/3/20 Funky Beast <funkybeast-s7p20SfEDVbhUPcrv1QwXQ at public.gmane.org>:
>> I've found a bug in sqldb/firebird.
>> Its reported here, with sample project to reproduce:
>> http://bugs.freepascal.org/view.php?id=13340
> What version of Firebird? How many bytes does a single record require?
>  Maybe you reached the table limit in Firebird RDBMS? If I remember
> correctly MS SQL Server 2000 had  a record size byte limit and I would
> imagine other RDBMS's have something similar.
> Regards,
>   - Graeme -
> _______________________________________________
> fpGUI - a cross-platform Free Pascal GUI toolkit
> http://opensoft.homeip.net/fpgui/
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal-PD4FTy7X32k2wBtHl531yWD2FQJk+8+b at public.gmane.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Its Firebird 2.0.3, that bug only appears in sqldb/firebird combination.
The same table that this combo can't open, opens successfully with
fblib-0.85, flamerobin and fenixsql. There's a sample project in the bug
report which generates a firebird database file with a table that produces
the bug automatically. All fields are *integer* fields.
You can generate any number of fields by executing the sample project
with an integer argument. It failed at 128.
I'm aware of the size limit, but the bug appears way below the limit
(Firebird docs says you can have approximately 16,000 integer fields
per taable).

I'm guessing that somewhere in ibase60.inc or TIBConnection might
have a misplaced declaration between shortint/smallint.(I'm basing
this on hunch that a short type has a range of -128..127)

Funky Beast

More information about the fpc-pascal mailing list