Subject Re: [Firebird-Architect] Re: Vulcan architecture and lock tables
Author Vlad Horsun
> >> And Vulcan's config stuff can't prevent such problem too - we can open the
> >> same database via Firebird and via Vulcan simultaneously
> >>
> >
> > And i did it.
> >
> > Are nobody worried about it ?
> >
> >
>
> Hey, did it work?

At least i can do SELECT's in both (Firebird's and Vulcan's) sessions.
Not tried to corrupt database writting something :)

> Seriously, detecting the case where two engines open the same file with
> different lock files is well worth solving. I think a solution where
> the first database file opener writes the same random number into the
> database header and lock block header, then downgrades the file system
> lock from exclusive to shared. Anyone who couldn't get an exclusive
> lock on the file would check the header page against the lock table.

Yes, this will work. But only for new engines which will make such checks.
I'm afraid we need to change ODS number to make it work. Currently Vulcan
support ODS 11. If we implement this check in Firebird 2.1 (as it is planned
to support multy instance and already have ODS 11.1) then i suggest to
make Vulcan support ODS starting from 11.1 (if we plan to make public
release of Vulcan before merge)

Regards,
Vlad