I have a MYSQL InnoDB database. I'm using SQLOBJECT through Turbogears 0.8something
I have a table called Voter with an important BoolCol attribute called hasVoted, and another table called Ballot that records the voter's choices. I go: voter = Voter.get(someId) ... hub.begin() <-- supposed to start a transaction ballot = Ballot(district.id, encryptedAnswers) voter.hasVoted = True hub.commit() hub.end() So how could it happen that the database examined after this shows that the ballot row has been created but that the voter.has_voted has value 0 (i.e. False). That's what happened. This is very bad. Any ideas how it happened? What can I change to prevent it? By the way, I have not modified the defaults so cacheValues is True and updates are supposed to be immediately written to db. I know that caceValues is not supposed to be true if I'm using a transaction, but I don't see how this should affect the integrity of the attribute update that's supposed to flush immediately to db and is lexically and thus timewise within the transaction. Very confused and concerned. Any suggestions? ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ sqlobject-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss
