Subject RE: [IB-Architect] How/When is BLR 'compiled'
Author Phil Shrimpton
> From: Jim Starkey [mailto:jas@...]


> >So first (support related) question is there a way to recompile all
> >SP/Triggers in the correct order?
> Stored procedures and triggers are compiled by DSQL (dynamic SQL)

So there is no secret "Build All" API hidden somewhere then :-(.

> The only thing that the engine pays attention to is the actual blr.
> The source blob is purely documentation. This does mean that if you
> don't like the SQL-ish syntax, you can safely invent and implement
> your own.

Roll on the Java2Blr, ObjectPascal2Blr compilers then... (XML2Blr anyone

> if this 'inheritance' functionality is
> >to be implemented, would it be just for the initial CREATE of
> the descendant
> >object, or would changes to the 'Base' object at a later date be
> reflected
> >in child classes.
> I actually fudge a bit. Although it could be implemented as I described,
> it would be simplier for somebody (engine? user? DDL processor?) to create
> the physical base table distinct from the base table, which would be
> virtual. Whether it would be better to do a transmogrification on
> first declaration of an extension or to have syntax that declares a
> table as a base is an interesting question, but one that can be ducked
> until later in the game.

I think my lack of understanding is best illustrated by the following
(silly) example.

You have a base table that contains three fields ID, TIMESTAMP, USERNAME.
You also have a trigger on this table that enters values into the TIMESTAMP
and USERNAME fields if ID is an even number.

You then create descendant tables to you hearts content.

Q1) Do the descendent tables use the same trigger, or do they get a new one
inherited from the one on the base table?

Several weeks later, you decide to change the TIMESTAMP field in the base
table, to two fields DATE and TIME, and you also change the trigger to enter
values if ID is an ODD number.

Q2) Are the TIMESTAMP fields in the descendant tables replaced by the two
new ones as well
Q3) Are the Triggers in the descendant tables updated to reflect the
changes, if so are they 'auto re-compiled'

Again, I might be going off at a complete tangent here, but I can see good
use for one method, and a complete nightmare for the other..

> >Feel free not to answer if I am OT.
> Would that I could. This is getting compulsive.

Contender for Motto of the year?