Subject Re: [firebird-support] Engine12 mistery
Author Mark Rotteveel
On 2016-06-14 19:44, fabianch@... [firebird-support]
wrote:
> My understanding from reading the documentation is:
>
> Provider = Remote means the client is on the network, excluding
> 127.0.0.1
> Provider = Loopback means the client is actually on the same OS
> instance as the FB3 engine, and it is using the 127.0.0.1 to access
> the database to avoid the "embedded server concept" from answering
> the
> request, as it would capture the DB file and will not allow any other
> clients from remote /network source.
> Engine12 = The local server takes control of the database as if it
> was
> an embedded server, killing all future chance of accessing the DB
> from
> the network, so Engine12 is if I understand correctly the way to talk
> to the DB engine in "exclusive" mode when you want to perform
> maintenance or work on the security database.
>
> Is the above wrong?

Yes, your understanding is wrong. Engine12 **is** the component that
actually does the work with the database file. The rest is just plumbing
to connect to servers (or make fbclient connect to a local server),
select the right provider, etc.

As the release notes say:
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-engine.html

* Remote (establish network connection)
* Engine12 (main database engine)
* Loopback (force network connection to the local server for <database
name> without an explicit network protocol being supplied).

There was also talk of providing an 'Engine11' which would essentially
be a Firebird 2.5 you could use to connect to ODS 11.2 and older
database files.

Your confusion likely stems from the fact that Firebird embedded now is
fbclient + Engine12, as opposed to Firebird server + Engine12 for a
normal database server, while Firebird embedded used to be a separate
DLL/SO. BTW: In normal situations fbclient **does not** have access to
Engine12, so it only behaves as a client library.

Mark