Subject Re: [IB-Architect] Internal Database Image
Author Jim Starkey
At 02:59 PM 10/29/01 -0500, Ann W. Harrison wrote:
>
>The trick is that the system doesn't actually use the system tables to
>build its internal image of the system tables. The system tables are
>described in the code (relations.h & fields.h). During the design of
>the database, there was an argument put forward for building in only the
>"core" attributes (relation name, relation id, field name, domain name,
>field id, domain data type, plus RDB$PAGES and RDB$FORMATS) and perhaps
>some index info) and building all the froofrah from them. The argument
>was not put forward with enough skill, so all of the system tables are
>built-in.
>

OK, blame everything on me. I confess. I did it. Ann must have
lobbied for truth and justice and I must have just ignored her (this
isn't the way I remember it, but her memory [or imagination] is certainly
better than mine).

On the other hand, I have gotten smarter since then. Netfrastructure
creates the minimal core system tables by compiling and executing
"create table" commands with a magic flag saying "don't create the
physical sections" at start up time, which eliminates the dependency
on two fussy include files. That usually save my butt, but changes
to the core tables are still major pain.

Jim Starkey