Subject Re: [firebird-support] Re: Full joins...
Author Jonathan Neve
Svein Erling Tysvær wrote:

>Well, three communes each fully joined to dossiers could be as bad as
>85*85*85*1000 = 614m. It would be better trying to find the real problem and not
>make a full join several times. Could it be as simple as you forgetting to use
>an alias for 'code' in the where clause and that IB compared it to communes.code
>rather than dossiers.code (I expect Firebird to return an error about ambiguous
Wow! How silly of me! Of course, this is the problem! Now the full join
only takes about 10 seconds. This is still unacceptable, but at least
it's more understandable.

As for my first problem, I also just realized what it was... It actually
has nothing to do with IB/FB (or at least, I don't think so). As I said,
the server this happened on runs an IB 6 database. However, I had
forgotten that the problem actually occurs on a part of the program that
was dealing with a set of paradox files, through the BDE... So I guess
this is rather a symptom/misguided feature/bug of the BDE paradox
driver! I'm very sorry for having wasted everyone's time because of my
own forgetfulness... This problem obviously had nothing to do with IB.

Actually, what happened was that after the first problem, I had analysed
it so much, that I had come to the conclusion that that was the way left
outer joins worked in IB (much to my surprise however, since it went
against what I thought I remembered from all my past experience with
IB). So of course, as soon as something similar happened with another
project, I immediately concluded that it was the left outer joins, and
replaced them by full joins. When this didn't work, I had to replace
them by lookup fields...

Anyway, sorry everyone, it turns out this isn't an IB/FB bug at all...

Thanks for your feedback!
Jonathan Neve.