[Web4lib] What Sort of Library is Open Source Software For?

John Fereira jaf30 at cornell.edu
Fri Sep 23 19:55:37 EDT 2005


At 07:37 PM 9/23/2005, Ross Singer wrote:
>I'm confused... what leads you to this conclusion?  Couldn't they 
>have been using a db abstraction layer?

If you're talking about something like iBatis Sql maps or Hibernate 
the underlying default table type still doesn't support 
transactions.  I haven't looked at the code for the MySQL database 
driver in awhile but for a long time it "lied" about supporting 
transactions.  It would merely detect the version of the database and 
if it was later than a date when a transaction safe database was 
supported (but not the default) it would indicate that the database 
*did* support transactions even if the specific instance did not.  If 
the abstraction layer is relying on supportTransactions() returning 
true it might attempt to perform commits and rollbacks but they'd 
still result in noops.



>-Ross.
>
>On Sep 23, 2005, at 6:57 PM, John Fereira wrote:
>
>>At 04:05 PM 9/23/2005, John Creech wrote:
>>>On Fri, 23 Sep 2005, John Fereira wrote:
>>>
>>>>Whether a products beats the pants off another depends a lot on 
>>>>the requirements.  I know a lot of people that don't consider 
>>>>MySQL to be a viable technology for enterprise wide database 
>>>>driven applications, especially in the area of transaction management.
>>>
>>>Interesting.  NASA uses mySQL for mission critical apps, I seem to 
>>>remember.  I'll search that here in a minute.  I believe the Ames 
>>>Research Center moved from Oracle to mySQL in some areas degree 
>>>about 5 years ago:
>>>
>>>"MySQL Breaks Into the Data Center"
>>>http://www.computerworld.com/printthis/2003/0,4814,85900,00.html
>>
>>I found this particular quote interesting:
>>
>>Clark says switching NASA's application from Oracle was a breeze. 
>>"To switch to MySQL, we only had to install the MySQL database 
>>driver module and change the connect call to the database interface 
>>module," he explains. "Once this was done, we literally had to 
>>change approximately one line of code out of 15,000 lines to begin 
>>using MySQL in our first application."
>>
>>If that's all they did then they were using the default database 
>>table types.  The default table type does not support 
>>transactions.  In other words, the commit and rollback calls are 
>>no-ops.  That leads me to believe that the application they were 
>>running didn't require transaction support.  For example, an 
>>application which required transaction support might perform 
>>several inserts/updates before commiting the transaction and it any 
>>of the insert/updates failed a rollback call can be made to undo 
>>the changes.  In a non-transactions safe database every 
>>insert/update would immediately be committed.  If an error occured 
>>during an insert/update the only way to fix it might be to try 
>>another update, which might not be possible if the first update 
>>failed do to  unavailable resources.  The result would be a corrupt database.
>>
>>
>>John Fereira
>>jaf30 at cornell.edu
>>Ithaca, NY
>>_______________________________________________
>>Web4lib mailing list
>>Web4lib at webjunction.org
>>http://lists.webjunction.org/web4lib/

John Fereira
jaf30 at cornell.edu
Ithaca, NY 



More information about the Web4lib mailing list