On Sun, 30 Dec 2001 20:14:33 -0800, Chuck Esterbrook wrote:
>On Friday 28 December 2001 12:03 pm, Stefan Karlsson wrote:
>> Tip: If you want to have very simple MK/MySQL support of
>>transactions
>> you can do like this (at least it works for me :-).
>>
>> 1) Subclass MySQLObjectStore and override saveChanges:
>>
>> class MyMySQLObjectStore(MySQLObjectStore):
>>   def saveChanges(self):
>>     self.executeSQL('BEGIN')
>>     try:
>>       MySQLObjectStore.saveChanges(self)
>>     except Exception, e:
>>       self.executeSQL('ROLLBACK')
>>       raise e
>>     else:
>>       self.executeSQL('COMMIT')
>
>Should this also be a setting?

Maybe a good idea

>
>    'SQLSaveChanges': ['BEGIN', 'ROLLBACK', 'COMMIT'],
>
>Or are these always the same? So then:
>
>    'SQLCommitOrRollBack': 1,
>
>(Most of my experience is with MySQL so I'm less familar with other
>db's.)

BEGIN, ROLLBACK and COMMIT also work in Postgres, don't know about other db's.

>
>
>> 3) Edit GeneratedSQL/Create.sql and add TYPE=InnoDB after every
>> create table:
>>
>> create table MyClass (
>>   myClassId                        int not null primary key
>> auto_increment, ) TYPE=InnoDB;
>>
>>
>> The last step must be repeated every time you generate your SQL
>>files
>> from the object model :-(
>> But if we ask Chuck kindly he might fix this in the MK generate
>>stuff
>> :-). It would be perfect if one could set an option in
>> Settings.config, like 'MySQLTableType':'InnoDB'.
>
>
>I agree that a setting is the way to go. Is there a notion of "table
>type" in any other flavor of SQL? Perhaps the setting should just be
>"SQLTableType".

I think this is not standard. I only know MySQL having table types.

/Stefan


_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to