|Subject||Re: [Firebird-Architect] Database Capabilities|
> Sorry, but you read wrong. There is only one call,While I may not be convinced that the existing architecture
> isc_attach_database. In fact, there isn't a concept of
> server in the API architecture. A server is nothing
> more than an ordinary database client that is invoked
> by the remote interface over a network connection.
> It isn't addressable.
(of no "server" attachments) was a good idea (I've given
reasons for this before) I have found that I have been able
to work around it for most requirements.
In FB v1.5 and previous it is possible to use a GetISC4Path
and so attach to the security database. It was possible to
treat this as a form of "server attachment" to discover things
like version etc. (I dont intend to argue whether this was a
good idea or a bad idea, more below, it was simply the only
way to achieve what I wanted prior to aliases.conf.)
In FB v2 attaching to the security database is no longer
possible. Thankfully I have also been working on removing
my reliance on that capability - using aliases.conf.
My application needs some way to attach to the "server" in
order to obtain a list of databases of interest to the user
(and it probably should be checking version/capabilitiy
details too). I now do this by attaching to a fixed alias.
This leaves two possibilities for the 'capabilities' API
within the current architecture.
- the server could be distributed with a known (probably
read-only) database with a fixed alias. All apps could
then attach to that database to discover things like
the server version.
- apps that want the 'capability' information could be
distributed with such a database. The assumption being
that if the fixed alias database does not exist on a
given server then it has not been setup for your app
and so it does not have the capabilities you need.
None of these are ideal. I would prefer that we acknowledged
the existence of the server, but I can live without it and
implement the "server" features I thought Firebird should
offer through my own work.