Subject Re: [firebird-support] Port number in connexion string
Author Tim Ledgerwood
> >In my oppinion, your long development project will be much more safer with
> >Firebird, even if you have to test it a little bit more (the only problem I
> >see will be ambigous querys, that Firebird will catch as an error. Another
> >improvement to your project - you are not aware of ambigous querys with IB
> >6).
> >



>What are ambigous queries? Could you give me an example please?


Hi Jonathan,

Ambiguous queries : Where you don't explicitly state the join, or where the
join is on two fields that have the same name. (Well, partially, anyway).
IB allows you to write :

Select * from Table1, Table2 where
RecordNumber = RecordNumber

In FB, you are encouraged to use the JOIN keyword, which is more standard,
and FB will not allow ambiguous queries at all. So in the above example,
you would write the following :

Select * from Table1, Table2 where
Table1.RecordNumber = Table2.Recordnumber

or

Select * from Table1
JOIN Table2
ON Table1.RecordNumber = Table2.RecordNumber

Which is the "right" way to do it and the way that other RDBMSs that I have
used (Sybase, Oracle, DB2) require you to do it.

As far as converting goes : The company I work for has a production system
which has been developed and maintained using IB 6.01 I have "converted" it
to FB 1.0 and 1.5 without any problems. Although doing a backup and restore
is obviously a wise thing to do, in my experience FB has read the DB
without having done this. (Furthermore, developing an automated backup /
restore and adding it to your app is pretty easy anyway)

The biggest hassle I found (I develop in Delphi 5) was that the IBX
components with Delphi had hassles with FB - although I must admit that I
didn't do very much playing around with this aspect of the changeover.
Changing my components to IB Objects solved these problems, and allowed me
to write code that was "backwards compatible" - it didn't matter if the DB
server was IB or FB. But I warn you, I found that part of the changeover
(changing my data access classes and methods) to be quite a lot of work.

Hope this helps,

Tim



[Non-text portions of this message have been removed]