Subject | Re: [firebird-support] Symlink safety? |
---|---|
Author | Helen Borrie |
Post date | 2005-10-03T14:38:17Z |
At 10:09 AM 3/10/2005 -0400, you wrote:
path string gotcha/bug that seriously corrupts InterBase databases on
Windows and for which the exclusive lock was imposed on Superserver during
the Fb 1.0.x beta to prevent the problem with Superserver at least. AFAIK,
the risk is still there for Classic on Windows.
The problem is, the server depends on the file path and name to distinguish
one database from another. Since it is the OS that resolves symlinks, the
db engine cannot tell that it is not connecting to multiple databases. So,
for example, the entire integrity of transaction isolation goes to the
wind; and there would be multiple uncommitted record versions all over the
place.
Why not just use different aliases for the same concrete file path? Those
*are* resolved by the engine.
Please don't hijack other people's threads.
^ heLen
>Would there be ill effects if I were to create several symlinks to the sameI think it will corrupt the database. It seems to be the equivalent of the
>file, and super server connect to each of them x times? I would imagine it
>would
>be ok if locking was done completely within the fdb file, but fail if it was
>done in memory/in a file.
>
>For all of those BEGGING to ask, aside from having several "main" databases, I
>want to write a nightly script that will create symlinks like 'yesterday.fdb',
>'amonthago.fdb', etc.
path string gotcha/bug that seriously corrupts InterBase databases on
Windows and for which the exclusive lock was imposed on Superserver during
the Fb 1.0.x beta to prevent the problem with Superserver at least. AFAIK,
the risk is still there for Classic on Windows.
The problem is, the server depends on the file path and name to distinguish
one database from another. Since it is the OS that resolves symlinks, the
db engine cannot tell that it is not connecting to multiple databases. So,
for example, the entire integrity of transaction isolation goes to the
wind; and there would be multiple uncommitted record versions all over the
place.
Why not just use different aliases for the same concrete file path? Those
*are* resolved by the engine.
Please don't hijack other people's threads.
^ heLen