Issue Details (XML | Word | Printable)

Key: CORE-6072
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Emil Totev
Votes: 1
Watchers: 2

If you were logged in you would be able to see more operations.
Firebird Core

Ensure providers compatibility across versions

Created: 01/Jun/19 04:08 PM   Updated: 06/Jul/19 09:53 AM
Component/s: Engine
Affects Version/s: 3.0.4, 4.0 Beta 1
Fix Version/s: 3.0.5, 4.0 Beta 2

QA Status: 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).

Sub-Tasks  All   Open   

 Description  « Hide
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.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Peshkov added a comment - 28/Jun/19 04:32 PM
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.

Emil Totev added a comment - 28/Jun/19 05:24 PM
Do I need latest snapshots for both 3.0 and 4.0 to test? Or new engine12.dll is sufficient?

Alexander Peshkov added a comment - 28/Jun/19 05:36 PM
You need both latest snapshots. And taking into account that fixes were committed not long ago you need snapshot later than 28-Jun-2019.