3 ms·
> with none of the benefits of a database (ACID) This is not correct, Windows Registry updates are atomic and transactional. There may be other problems with t
by Analemma_ 9y ago
> with none of the benefits of a database (ACID)
This is not correct, Windows Registry updates are atomic and transactional. There may be other problems with the registry model, but it is a "real" database.
- krylon 9y agoACID means more than atomic updates, though. To be ACID-compliant, you'd have to be able to group several changes to the registry and have them take effect either all at once or not at all.
- eterm 9y agoA word for that is transactional.
- fulafel 9y agoIt's implied by the I (isolation).
- Const-me 9y ago> To be ACID-compliant, you'd have to be able to group several changes to the registry and have them take effect either all at once or not at all. You mean transactions? Windows registry supports them since Vista when they added Kernel Transaction Manager: https://msdn.microsoft.com/en-us/library/windows/desktop/bb986748(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/bb9... See CreateTransaction, RegCreateKeyTransacted, RegOpenKeyTransacted, CommitTransaction[Async], RollbackTransaction[Async] APIs.
- krylon 9y agoI stand corrected. Good to know, thank you!
- Const-me 9y agoTo be fair, I’ve never used KTM in my apps. In cases when I need to write several values atomically (e.g. in a program with persistent window positions, after user moved a window I want to write all 4 coordinates of the rectangle), I just keep them in a single value, either string or binary. Even without KTM, registry API already guarantees value writes are atomic.