User updateable system tables seemed like a good way to build a access 
language neutral database engine for Rdb/ELN and Interbase.  The Rdb/VMS 
guys never warmed to the concept, and developed an MBLR (metadata BLR) 
mechanism.  It wasn't a big hit, either, and I eventually created DYN 
for many of the same reasons.

Based on the results from Interbase, I vowed never to do it again.  
Active system tables are a neat idea, but a real pain the butt to 
implement and maintain and generally introduce more problems than they 
address.  If it were my project, I'd deprecate them in the blink of an eye.

On the other hand, machine generating "alter table" commands is even worse.

I've mentioned it before, but I eventually hit on an "upgrade xxx" that 
is syntactically equivalent to "create xxx" except that it will alter 
the object if it exists to match the new definition*. With "upgrade", 
you just say what you want and left the database figure out how to get 
there.

* -- it actually doesn't drop fields or reduce size/precision of types.  
This is a feature, not a bug.


On 3/20/2014 6:05 PM, Leyne, Sean wrote:
>> - Creating user objects with RDB$ prefix should be forbidden (at least until
>> we implement schemas).
> Why?
>
> RDB$System_Flag already exists in RDB$Relations, which identify true system 
> defined objects, why is it necessary to prevent the use of the prefix by a 
> user?
>
>
> I think you missed:
>
> - Can/should user create additional columns in System tables?  (ie. 
> Create_datetime, Change_datetime -- for a simple schema change tracking 
> function)
>
> - Can/should user create their own triggers on System tables? (i.e. to detect 
> row changes and set the above Create_datetime and Change_datetime)
>
>
> For myself, I see no reason why they should not be allowed (though restricted 
> by appropriate role)
>
>
> Sean
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> Firebird-Devel mailing list, web interface at 
> https://lists.sourceforge.net/lists/listinfo/firebird-devel


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to