home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.ms-windows.misc
- Path: sparky!uunet!mcsun!sunic!aun.uninett.no!ugle.unit.no!humpty.edb.tih.no!fiero.edb.tih.no!lumina.edb.tih.no!ketil
- From: ketil@edb.tih.no (Ketil Albertsen,TIH)
- Subject: Re: SMARTDRV for Windows 3.1
- Message-ID: <1992Aug17.121720.16873W@lumina.edb.tih.no>
- Sender: ketil@edb.tih.no (Ketil Albertsen,TIH)
- Organization: T I H / T I S I P
- References: <1992Aug12.233533.8605@dmp.csiro.au> <BszDLM.G8u@fmsrl7.srl.ford.com>
- Posting-Front-End: Winix Conference v 92.05.15 1.20 (running under MS-Windows)
- Date: Mon, 17 Aug 1992 12:17:15 GMT
- Lines: 31
-
- In article <BszDLM.G8u@fmsrl7.srl.ford.com>, vscarafi@eccdb1.pms.ford.com (Vincent F. Scarafino) writes:
-
- >Programs that do proper transaction support *require* the assurance that at
- >least a minimal amount of data be safely written to a log (in such a way as
- >to survive the loss of power) *before* they can acknowledge to the application
- >that a transaction has been committed. Otherwise there is an integrity problem.
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Well, isn't that a little pessimistic? A rollback is not an integrity problem,
- it is next to "normal" in DBMSs - at least you should be prepared for it. And
- you can make a perfectly consistent system with no integrity probles even if
- you have no guarantee that "at least a minimal amount of data" is written
- safely to disk. The last data you write to the log is the commit record, and
- if after a power loss you don't find a complete commit record in the log (you
- may end the record with a checksum to verify that it is complete), then you
- have a rollback condition. If you find a commit record, it might be the case
- that the user was not informed about the successful commit before power went
- off, but he did request a commit and thereby gave up his right to do a
- rollback. So the DBMS should insist that everything is consistent (which it is!).
-
- The only thing you require is that when the disk system reports that the
- entire data record has been written successfully to disk, then it *is* written
- successfully to disk. If a power loss occurs before this report is given, then
- it is not written successfully to disk, and everything is still consistent,
- although in the state of the database prior to transaction start. (Rollback)
-
- A "nice" DBMS may after power up pick up the incomplete transaction and ask
- if the user wishes a redo attempt, up to the point of the last successfully
- written log record (again, checksumming may be used to verify that the log
- record is indeed successfully written in its entirety). But this is not
- required for consistency, and all redoing is under the full integrity
- constraints mechanisms of the DBMS.
-