Subject Re: [IB-Architect] Table Inheritance
Author Vince Duggan
Jim Starkey wrote:
<stuff about inheritance>

We need to balance the usefulness of inheritance with the ease of
implementation in the engine. I suggest we take it one step at a time,
and for the first release have a simple 'one-off' inheritance, i.e when
defining a new table which extends a base table, this is done at
definition time, and if the base table changes later, then all
descendants know nothing about the change. Perhaps there can be a
mechanism to 'refresh' descendants either automatically or manually, but
this mechanism loops through each descendant table and performs ddl on
it to reflect the changes.

This mechanism means that there is no need to modify any of the
'runtime' behaviour of the engine.

As far as Primary keys etc. are concerned, the descendant should inherit
any constraints, indexes and triggers defined on the base table. If you
don't want these constraints, indexes and/or triggers, one can simply
drop them (there will have to be a well defined naming convention so we
know what to drop), or perhaps one should be inheriting from another
base table instead.

Later releases can take this further and define models that match true
inheritance more closely.


Vince Duggan
Synectics Software
Inprise C/S Business Partner
South Africa