Subject Re: [Firebird-Java] Database replication with Firebird
Author Roman Rokytskyy
> I was just thinking for a solution for non java application
> having a emulator so any other software writted for Firebird can be just plug to a sequoia
> system as if it was working with a Firebird server (certainly without emulating all the
> service api, since it would not make sense)

The service API is one thing, and we have to provide some alternative to
it. Some parts are already covered by Sequoia (backup/restore in
cluster, for example), some can have workarounds (e.g.
LDAP/ActiveDirectory authentication), but some would require additional
tools (e.g. gfix).

Another big issue are all isc_XXX_info calls. The JDBC API provides only
limited set of information, so all clients asking for some information
(e.g. number of inserted and updated records separately) would be
surprised to get either nothing or an error as reply.

The rest of the API should be "emulatable" more or less without problems...

In this regard, I think that their ODBC link is better choice, since
when application developers code against ODBC they are limited by
features available only there. And ODBC is almost 1-to-1 match with
JDBC. This means that application coded against Firebird ODBC driver
should run unchanged with clustered Firebird. In theory.

> Sorry I don't understand when you write "I think one can have more complete solution as
> in Myosotis"

As I understand, Myosotis is an emulation of the MySQL and PostgreSQL
wire protocols. A limited one, since it has to perform the JDBC calls
afterwards. What is accessible via JDBC can be accessed via wire
protocol, what is not - can't. We could provide a limited Firebird wire
protocol implementation which would then call the Sequoia JDBC driver.
That is not that hard, requires some work.

However I suggest to dig deeper, e.g. extend the Sequoia JDBC API to
expose all our custom JDBC extensions (current and future) and then have
"complete" support for wire protocol.

Much more complex, but, in my opinion, the only possible solution in our
case. The second choice would be ODBC as more portable/complete solution
for client application. And only after that comes extension of the
Myosotis with Firebird protocol handler.

And before that, I would definitely investigate how much work would be
to implement ADO.NET and OLE DB APIs on top of Sequoia JDBC.