Transaction logging without BEGIN WORK's
Posted in 1998
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Transactions, Locking & Isolation
Hi, I have always been part of a project that involves starting a database with a transaction log and then coding programs with BEGIN WORK, ROLLBACK WORK and COMMIT WORK to ( hopefully ) keep the database as resilient as possible to any problems that might occur during processing. However, the database I am now working with has no transaction log associated with it and none of the 130 or so programs that interrogate it have any BEGIN WORK's etc...This strikes me as lunacy since it becomes difficult to maintain database integrity. I was speaking to the guy who originally developed the application and he tells me that the database did originally have a transaction log but that the programs were not coded with BEGIN WORK's etc...but that did not matter. He said that if the system crashed they could still recover. I am a little unsure about this. I thought that if the database had a transaction log you had to code programs to commit or rollback transactions as necessary and then in the event of a system crash you can be sure that a roll forward or rollback would work successfully. Is what he saying is this - that be having a transaction log with coding the 4GL's with BEGIN WORK's etc then EVERYTHING is logged and that your only option after a crash is to ROLLFORWARD everything?? Any views/comments from you all would be most welcome. PLease don't reply via Email - it address is invalid until I get myself sorted out :) Cheers, Hamish.