Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to specify a prefix protocol for embedded [CORE5128] #5412

Open
firebird-automations opened this issue Mar 4, 2016 · 5 comments
Open

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @sim1984

Votes: 3

Currently, in the connection string, you can specify one of the protocols work on the network inet, wnet, xnet.

It would be nice to be able to specify a prefix to be used only for the embedded protocol without changing the configuration.

embed://C:\db\ mydb.fdb

@firebird-automations
Copy link
Collaborator Author

Commented by: @aafemt

Engine name instead of common prefix would be more useful if several engines co-exist.

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Why is this required at all?

If you currently use embedded engine/client and try to connect to "C:\db\ mydb.fdb" you will be using the embedded engine, period.

If you specify a host ("localhost:C:\db\ mydb.fdb") or protocol "wnet:C:\db\ mydb.fdb" (does that really work? I have never used) the client will use a remote connection (not the embedded engine).

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

wnet://C:\db\mydb.fdb should work

Explicit specification of embedded connection makes sense. In SS mode only one process can attach database (i.e. db file is not shared), and in a case when database is already opened by SS default attachment form (C:\db\mydb.fdb) will be redirected to SS and xnet protocol will be used. If that's not what one wants we must provide explicit embedded attachments.

And yes, Dimitry's suggestion re multiple engines also makes sense in a case when we have some more engines ready to open database (like replication engine for example).

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

> And yes, Dimitry's suggestion re multiple engines also makes sense
It requires application to know exact engine name, which is not possible in many cases.
It is engine's task to know if it could open given database, not app's.

@firebird-automations
Copy link
Collaborator Author

Commented by: @abzalov

Embedded should not be the default protocol - since this is not at all obvious and is fraught with.
What for if on the same host there is a high-grade server?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant