Subject Re: [firebird-support] IB Replicator
Author Helen Borrie
At 07:26 AM 19/09/2006, you wrote:
>I currently have an app written in Delphi Enterprise 7.0 Build 4.453 using
>Interbase 6.02. I'm interested in dumping Interbase & using Firebird
> with the intent to purchase Licenses to run IB Replicator. Is it
>difficult to replace Interbase with Firebird ?

No. The database should be backed up under the IB 6 server using the
IB 6 gbak, and restored under the Firebird 1.5 server and gbak.

>Do I have to have any Delphi experience to accomplish the above ?
>Or, can I just replace Interbase with
>Firebird and have it run fine "out of the box" without any special tools or
>knowledge ?

Theoretically it should do so. However...

>Should I be concerned about my app having unforseen issues when
>if I were to switch ?

Yes. A blind swap in production should not be considered, without
rigorous testing in a proper test environment.

1. The main thing to be concerned about is SQL language statements
that were wrongly written by the application developer. Certain
illegal syntaxes that were accepted by IB will be rejected by Firebird.

2. If the application calls any executable stored procedures that
return output parameters, an old IB bug that was fixed in Fb 1.5 may
produce unexpected (i.e., now *correct*) results. Whether or not
this is (or was ever) noticed and programmed around often depends on
the API interface layer that was used. There is a server-wide
configuration parameter that can be set to force the server to return
the "wrong" result, for application interfaces that have been written
to work around the bug. It's not something one could guess about, though.

3. It is so long now, in elapsed time, since IB 6 was officially
"dead", that the age of the source code and linked objects behind
your client executables may be similarly old, perhaps even predating
IB 6 and Delphi 7. There will be issues if the API layer used was
the BDE, IBX or old versions of other products.

In short, while the conversion is eminently doable in theory, it's
not safe to assume that it will be transparent in practice.