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
