Subject Re: Possibility to increase the maximum number of tables
Author hi.egor
Thank you for your response - will see how to manage my task by another approach.
Anyway - thank you very much.


--- In Firebird-Architect@yahoogroups.com, Ann Harrison <aharrison@...> wrote:
>
> On Fri, Jun 7, 2013 at 2:34 PM, hi.egor <hi.egor@...> wrote:
>
> > From the first look at the system tables and their relations the reason of
> > this limit is related to the datatype SHORT of column RDB$RELATION_ID of
> > table RDB$RELATIONS and other related columns from tables ("RDB$DATABASE",
> > "RDB$FORMATS", "RDB$PAGES"). Also I noticed that relations between
> > different internal DB objects (such as columns, tables, indexes) are based
> > on the "Table Name" (RDB$RELATION_NAME), but not "Table ID"
> > (RDB$RELATION_ID). Looks like the primary used of RELATION_ID is to
> > identify the PAGE in the data file.
> >
>
> Err, not exactly. Yes, the stored metadata uses names rather than numbers -
> that makes it possible to do a major reorganization with gbak, eliminating
> holes left from dropped tables, and so on. However, in a working
> database, ID's are used all over. Changing
> their size would be a major change to the on disk structure because data
> and index pages include the relation id in their headers.
>
> Consider these thoughts it seems to be not such a big and complex task to
> > change SHORT datatype to for example LONG for RELATION_ID column (and
> > related to it source code) to increase the maximum number of tables.
> >
>
> It is, unfortunately, both a big and a complex task to change the on disk
> structure and all the parts of the code that reference
> relation and field ids.
>
> Best regards,
>
> Ann
>
>
> [Non-text portions of this message have been removed]
>