Claudio,

> To the dismay of Sean, I continue saying that while we don't declare "name
> independence" and continue relying on RDB$ for some decisions, it's better
> to forbit the RDB$ prefix for user objects. See, for example:

That is not want I was/am saying.

I have problem with forbidding RDB$ prefix for user objects, there should be no 
architectural restriction limitation for this.

I have a problem in saying that the RDB$ objects can't be extended by a user as 
their need requires.  Adding additional columns, triggers or indexes to system 
tables should be allowed.

There are existing attributes/fields within the schema structures to identify 
system vs. user defined objects.  Further, natural schema rules prevent 
collisions in the names of the objects.  So, there is no architectural reason 
why extending the existing tables/RDB$ prefix should be reserved from an 
architectural perspective.

My position is:

- restrictions are needed to prevent direct user operations from changing 
system schema **columns** (these columns are clearly/already identified) except 
through DDL syntax and user DDL privilege enforcement.

- the RDB$ prefix should have no significance to the engine -- the 
RDB$System_Flag should be the true authority of system managed objects.  Your 
example of the RDB$Cat Domain is a perfect example of poor thinking on the part 
of the engine developer at the time

- changes to how gbak operates are necessary, to treat/backup user defined 
columns/objects separate from the system objects -- to mitigate against future 
ODS upgrades which might create collisions with existing defined user objects 
(the new system objects would always win).


Sean


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to