Subject Re: [IBO] IBO and FB 2
Author Dany M
Geoff Worboys wrote:
> Hi Dany,
>> The solution should be the one that caters for best practices
>> in the future. A funny workaround to allow legacy applications
>> right away will probably backfire later when writing more
>> advanced applications.
> I am not sure what you consider to be a "funny workaround".
> What I would like to know is; Will people accept the following
> restriction/limitation for FB2 support in IBObjects...
> If relation aliases are to be used in queries, that all related
> queries (master/detail and main/lookup) would use their own
> separate/different relation alias (or no alias), and so be able
> to avoid conflicts in automatically generated SQL that may
> combine details from each query.
> (Note: I am not sure if the alias situation will effect IBO's
> implementation of lookups, in most cases I suspect not. But it
> will definitely impact master/detail relationships and so the
> use of different aliases would be required.)
> By requiring developers to use relation aliases in this way
> (rather than requiring IBO to decompose the SQL so that it can
> rebuild with its own aliases) I believe we can alter IBO to
> support FB2 more easily. I dont see this as an overly onerous
> requirement, but I wonder how others see it.


If FB2 is like it is this is for some reason. If I remember correctly it
had to do with ANSI SQL Standards or some such. Why, then, an
application programmer wanting to use FB2 should have to comply to these
things. Also see Helens note.

So - there's actually no reason to try to make IBO work with FB2 and
legacy apps out of the box. If such a design requires too much "under
the hood" magic - I simply felt that that might do it more difficult to
straighten out what is happening. I think this is what I tried to
express with my initial post.

The reason I am so unclear on all this is because I did not have time to
test FB2 at all. Reason being clients that talked me into a lot of
Outlook integration. If you are asked to program Outlook there's only
one sound advice I can give you: run (fast).