On 06.04.2020 20:01, Leyne, Sean wrote:
Alex,

If we keep it, let's decide what new tables can be ignored when
restoring backwards and what ones are mandatory and thus should raise
an error. We may also consider going half-way and limiting the
backward restore to the one prior ODS version -- this will also simplifies
the code a lot.
We keep it, but only support backward restore to previous major ODS
version.
That approach would allow backward restore to any previous FB version,
although thru a cumbersome multiple restore path.  If need to restore
from v4 to v2.5,

Sean, what benefits do you see in this restore method compared with more
tradiitional - backup v4 database using v4 server and v2.5 gbak, next restore
using 2.5 as usual?
I was referring to the ability to backup v4 database (ODS 13?), use v4 gbak to 
restore to ODS 12 target (regardless of the FB version -- allowing for the 
possibility that there could be a new FB version that doesn't require new ODS).

My point was that gbak should support restore to the previous ODS as much as 
possible.

Consider that a future version introduces a single new feature like 
"tablespaces" or table partitions, which obviously would require a new ODS.  
Gbak for that version would need to ensure that a restore to the previous ODS is 
supported.

An example of an exception is restoring DB with Packages *in use*, to an ODS 
which doesn't support packages -- there is only so much that gbak should be 
expected to support.

{Aside, the introduction of a non-backward compatible feature like Packages is 
a prime reason why we should implement a feature (ASAP) to allow metadata 
objects to be marked as Invalid.  In that way, the restore would proceed but 
the metadata would need to be 'fixed'}

Sean, as soon as the database contains new features not supported in older versions one can not downgrade ODS version. Restore (by gbak) of such database in a version which does not support actually used features is just nonsense. That may be a separate task for a future to support such downgrades, IMHO that should be not gbak-like tool, first thing to be done is forget about any BLR codes from newer DB version. For gbak that's close to rewriting it from scratch.




Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to