Subject Re: [Firebird-Architect] RFC: Cross database queries
Author Jim Starkey
Vlad Horsun wrote:
>> Yup. Anyone can do anything. The question is architectural: Does the
>> new feature fit the architecture or does it introduce a whole set of new
>> crocky set of rules that upper layers had to deal with.
>>
>> In this case, Vlad is trying to implement a feature on the cheap that
>> doesn't quite work. Rather than designing it to work with the existing
>> architecture *or* proposing an alternative architecture that handles
>> both cases consistently, he is suggesting that we ignore architecture
>> and pass the problem to client(s). Yes, it can be done. Should it be
>> done? Not my call. Will it lead to more problems than solutions?
>> Probably yes.
>>
>
> You so frequent say that i (and all other FB devs) violate architecture
> but never answers - how and when i (we) do it. It seems you are the only
> who know where architecture lies and what restrictions it imposes.
>
> I am do not see where my proposal breaks existing architecture (architecture
> of what ? firebird ? odbc\jdbc ? something else ?), and you never answer on
> any concrete question, just criticize in common words. This can't help to solve
> any issue.
>
>
I'm not trying to tell anyone how to design anything. I'm content to
probe proposals to see if the author has solutions for all of the
problems. I do think a hallmark of a good design is that it solves all
of problems, not just the fun ones.

If I were attacking the problem, I'd make the "mega-database manager" be
a separate provider and maintain it's own system tables using a local
Firebird database. I'd snapshot remote table metadata at creation time,
and re-validate the snapshots from time to time. I would design and
implement it to be totally transparent the remote protocol and existing
clients and tools. I'd also do a clean, modern, object oriented
implementation.

Architecture is the art of making the pieces fit together. If the
pieces of a proposal don't fit with existing components, there's a
problem. Trying to latch on to the ODBC/JDBC "catalog" get paper over
problems with metadata is a really good example of "doesn't fit together".

You gotta solve all of the problems, not just some of them. Sorry.