Hi,
 
I am a graduate student at the University of Toronto. I am working in Aspect Oriented Refactorings, and am interested in exploring the HSql codebase for Transactions refactoring.
 
I would like to understand how are transactions implemented in HSql. From my inspection of Hsql code base, I have come to the following conclusions. I was hoping if someone can confirm that these are correct, and also point out anything I may have left out.
 
1) Atomicity: Atomicity is obtained via commit and Rollback features. By default AutoCommit is turned on, but if we want to treat a collection of commands as a transaction, then we could set autoCommit(false) and have explicit commit after the statements
 
2) Consistency: This is obtained via Locking the Database file while it is being used, and supported via LockFile.java class and its uses
 
3) Isolation Level: I see that HSql supports Transaction_Read_Uncommited, however in the code I only saw calls to setting and getting the isolation level. What other classes/methods support Isolation in HSql?
 
4) Durabiltiy: I am assuming that the whole org.hsqldb.persist package is supporting this via persisting data. Am I right?
 
Are there any documentations available on Transactions in HSql? I will really appreciate your help on this.
 
Thanks a lot.
Sincerely,
Irum Godil.


Do you Yahoo!?
Yahoo! Mail - You care about security. So do we.

Reply via email to