Hi Michael, >> This depends on the "transaction isolation level" that is set >> for the database instance. Mysql supports all levels, but only >> for InnoDB. Oracle supports all levels, of course. >> Please google for the term and you will get some information about >> it. > > We still use BDB. If I remember correctly then Michael Konietzka > requested such a change some time ago too. Does it be enough if I change > "Type=BDB" to "Type=InnoDB"? If this makes sense then I would this.
the InnoDB does work great, but it was introduced in one of the more recent versions of mysql. Using it will be a problem for users with an older mysql database. But as we need transadtions, I would suggest to use InnoDB at the cost of backward compatibility. InnoDB is also a bit slower than BDB, as far as I know, but not much. Transaction support is definitely worth the price. Since you are currently working on the database stuff: I have not looked to deep into the code, so I don't know the answer right now. Just wondering: How do you start/end transactions? I hope you keep the transaction while a request is running even across several DBI calls, because a transaction rollback does give you nothing if it happens after a (partial) commit within a logical sequence of actions. OK Example (out of thin air): BEGIN TRANSACTION get CSR serial number add user data to CSR table <do stuff> <do more stuff> <find out that CSR cannot be inserted> -> DO_ROLLBACK END TRANSACTION Not OK example: BEGIN TRANSACTION get CSR serial number add user data to CSR table DO_COMMIT END TRANSACTION BEGIN TRANSACTION <do stuff> <do more stuff> <find out that CSR cannot be inserted> -> DO_ROLLBACK END TRANSACTION But if you end transaction (committing data) after "add user data..." then you are hosed if an errors occur in later stages. Can this happen? If yes, then we need to propagage the transaction to each method that operates on the transaction. After the last operation has finished, the transaction may be closed with a commit. (BTW, using a destructor methods it is possible to build wonderful auto-rollback transaction handlers for database operations. Just drop me a note if you need more info on this.) Martin ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ OpenCA-Devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/openca-devel
