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

Ensure providers compatibility across versions [CORE6072] #6322

Closed
firebird-issue-importer opened this issue Jun 1, 2019 · 9 comments
Closed

Comments

@firebird-issue-importer
Copy link

@firebird-issue-importer firebird-issue-importer commented Jun 1, 2019

Submitted by: Emil Totev (emilt)

Jira_subtask_outward CORE6091
Jira_subtask_outward CORE6093
Depends on CORE6230

Votes: 1

In general, provider plugins should be compatible across Firebird versions.

The particular case for the moment is that Engine12.dll from Firebird 3 should be compatible with (at least) Firebird 4. Since now providers are hard-linked to ODS versions, this is the way to provide the pre-version3 feature of new servers working with old ODS databases, which is especially important when a server with multiple databases has to be upgraded.

So basically adding to a databases.conf entry in Firebird 4 like
{ Providers = Engine12 }
should work. At the moment, there are at least two issues:

* "Missing security context", which can be worked-around by adding a SecurityDatabase entry and then a connection can be made,
* "Interface IStatement version too old: expected 4, found 3" when attempting to execute any SQL statement.

Commits: 04c189c 7bf9b85 f4366a3 2e9df43 2d233da 326b546 0ed7a46 d219d25

====== Test Details ======

Can not use different .conf and restart server before some .fbt will be checked (at least on current version of fbtest framework).

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 1, 2019

Modified by: Emil Totev (emilt)

Version: 4.0 Beta 1 [ 10750 ]

Version: 3.0.4 [ 10863 ]

description: In general, provider plugins should be compatible across Firebird versions.

The particular case for the moment is that Engine12.dll from Firebird 3 should be compatible with (at least) Firebird 4. Since now providers are hard-linked to ODS versions, this is the way to provide the pre-version3 feature of new servers working with old ODS databases, which is especially important when a server with multiple databases has to be upgraded.

So basically adding to a databases.conf entry in Firebird 4 like
{ Providers = Engine12 }
should work. At the moment, there are at least two issues:

* "Missing security context", which can be worked-around by adding a SecurityDatabase entry and then a connection can be made,
* "Interface IStatement version too old: expected 4, found 3" when attempting to execute any SQL statement.

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 3, 2019

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 28, 2019

Commented by: @AlexPeshkoff

Emil, I've fixed issues fiund by you. Moreover - to start using Engine12 it's enough to have line
Providers = Remote,Engine13,Engine12,Loopback
in firebird.conf, no need to tune Providers per database explicitly.

But there are some more issues, I've found 2 more when testing 2-provider configuration. I will proceed with them and report here.

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 28, 2019

Commented by: Emil Totev (emilt)

Thanks!
Do I need latest snapshots for both 3.0 and 4.0 to test? Or new engine12.dll is sufficient?

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 28, 2019

Commented by: @AlexPeshkoff

You need both latest snapshots. And taking into account that fixes were committed not long ago you need snapshot later than 28-Jun-2019.

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jul 3, 2019

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0.5 [ 10885 ]

Fix Version: 4.0 Beta 2 [ 10888 ]

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jul 6, 2019

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Cannot be tested

Test Details: Can not use different .conf and restart server before some .fbt will be checked (at least on current version of fbtest framework).

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jul 6, 2019

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Closed [ 6 ]

Loading

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jan 15, 2020

Modified by: @AlexPeshkoff

Link: This issue depends on CORE6230 [ CORE6230 ]

Loading

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

Successfully merging a pull request may close this issue.

None yet
2 participants