Subject RE: [firebird-support] Is Embedded Firebird 1.5.1 thread safe
Author Alan McDonald
> Let's get clear about this. Embedded server is specifically NOT for
> multi-user use. If you have an application connected to the embedded
> server, the database file will be exclusively locked and no other clients
> will be able to connect to that database through a full server
> that's also
> running on the same machine.
>
> I don't know what "kbmMW-based" means. If it's some kind of web-server
> framework that needs to make multiple connections to the same
> database, you
> need a full database server. If you want a compact server
> installation for
> this purpose, use the Classic server.
>
> Embedded on Windows is being rewritten for Firebird 2, to use the XNET
> framework instead of IPServer. From the very very little I know about
> XNET, it is a much safer, POSIX-compliant and more thread-friendly
> environment for local connections, i.e. a properly-designed
> subsystem, not
> a desktop hack.
>
> ./hb

You've sparked my interest here... many apps written for Super
Server/Classic Server include multiple connection components (e.g.
IB_Connection) and they frequently connect a second (or third) time during
execution to the Super Server/Classic Server for a myriad of tasks. The key
here is that they connect simultaneously.
Now, embedded will not allow this behaviour? It must have one and only one
connnection made by the application at any one time?
If you have a muluti threaded operation in your application - something
which is designed to be carried out in the background and therefore requires
a second (devoted) connection - this too will not work with embedded?
Alan