Subject Re[2]: [Firebird-Architect] HEAD branch and ODS changes
Author Nickolay Samofatov
Hello, Sean,

>> While we're in the area, has anyone given any thought to
>> creating a UID at database creation time that could be
>> stored on the header page and used as the root for the
>> database lock tree? This would be a very nice
>> (though partial) solution to the database alias problem.

This doesn't solve any of the problems. Currently, Firebird
allows you to copy database file and use this copy on the
same machine. This databases will have the same UID.
We have original database name in database header now
and it is no way worse than UID.

> The UID came up as a way to ensure that an incremental backup could only
> be applied to the master database with the same UID -- nothing like
> applying the wrong backup to really trash a database!!!

This is really unlikely to get invalid database without error using
incremental restore. Incremental backup header contains SCN of previous
level backup and it is checked before restore. I can also add check for
original database name to reduce chance of corruption caused by restore
operator error even more.

> In fact, as UID should probably be used identify the last incremental
> backups made for a database -- with each backup getting a UID. The
> database would then track the UIDs of most recent/valid
> incremental/valid backups.

This is not needed. Database alias or expanded name is used to
identify database for incremental backup purposes.

Nickolay Samofatov