Subject | Re: [Firebird-Architect] Re: selecting from multiple databases |
---|---|
Author | Jim Starkey |
Post date | 2003-06-12T14:49:12Z |
At 12:51 PM 6/12/03 +0000, peter_jacobi.rm wrote:
is clearly more than a namespace problem. But even if the databases
were on the same server, the encapsulation of the two database internal
data structures make cross database operations an impossibilities. Among
many other things, the two databases have separate memory pools, separate
lock tables, separate thread synchronization, etc. Extending the engine
to support cross database access is almost unthinkable.
A multi-level namespace would be a wonderful addition to
Firebird. Netfrastructure
supports a two level programmable namespace:
alter namespace set <schema-name> [, <schema-name>]...
alter namespace push <schema-name>
alter namespace pop
A multi-level namespace allows two or more independent instances of an
application to live in the same database. A programmable namespace supports
application inheritance.
Jim Starkey
>Isn't the multiple database issue only about names (andThe interesting case is when the databases are on different servers, which
>namespaces):
>
>You have database A with tables U, V and W and database
>B with tables X, Y and Z.
>
>This Firebird can't handle today.
>
>But if you have a single database with tables A_U, A_V, A_W,
>B_X, B_Y and B_Z (with matching definitions of tables), you
>have the same logical structure and Firebird can handle it.
is clearly more than a namespace problem. But even if the databases
were on the same server, the encapsulation of the two database internal
data structures make cross database operations an impossibilities. Among
many other things, the two databases have separate memory pools, separate
lock tables, separate thread synchronization, etc. Extending the engine
to support cross database access is almost unthinkable.
A multi-level namespace would be a wonderful addition to
Firebird. Netfrastructure
supports a two level programmable namespace:
alter namespace set <schema-name> [, <schema-name>]...
alter namespace push <schema-name>
alter namespace pop
A multi-level namespace allows two or more independent instances of an
application to live in the same database. A programmable namespace supports
application inheritance.
Jim Starkey