Subject Re: [Firebird-Architect] Multi-level name space
Author Martijn Tonies
> >Not sufficiently backwards compatible. It would require that every
> >query against system tables be rewritten. It also would allow utilities
> >work work against old and new versions. It's the obvious way to handle
> >it (sans RDB$, of course) if we were starting over scratch, and also the
> >way I handled the issue in Netfrastructure. But the backwards
> >compatibility problem should make it a non-starter for Firebird.
> >
> >
> Hi !
>
> Just a lurker suggestion.
>
> If the developers start to redesign the system tables (maybe part of the
> schema implementation). what about if the new system tables be declared
> like:
> System.Relations
> System.Schemas
> System.Fields
> and so on.
>
> and make views to handle the backward compatibility
>
> create view rdb$Relations(rdb$relation_name, bla, bla, bla) as
> select
> System.Schemas.Schema_Name || '.' || System.Relations.Relation_Name,
> bla, bla, bla
> from
> System.Schemas join
> System.Relations on (System.Schemas.Schema_ID =
> System.Relations.Schema_ID)
>
> it would transparently appears to old clients as the suggestion you
> provied to the name of the table being "Foo.Bar".
>
> About the default schema, don't know what will be the better choice:
> 1.) SQL Command to define the current/default schema
> 2.) Connection Parameter to define the current/default schema

Obvious use of views, yes!

Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL
Server
Upscene Productions
http://www.upscene.com
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com