Rollback and $undowork
pmulroney at logicaldevelopments.com.au
Wed Jul 13 01:54:14 UTC 2022
If you're using transactions in SQL, then you need to do a $commit at the end to commit the changes, or $rollback to undo the changes. There is no $undowork().
By default I think transactions are automatic ie each individual update is committed automatically.
Therefore you need to turn off automatic transactions before you start (calculate session.$transactionmode as kSessionTranManual), have a "do session.$begin()", then "do list.$dowork()" then either "do session.$commit()" or "do session.$rollback()" at the end to either accept or reject the changes. (where session = the session object you're using, and list is the list defined from a table or schema class)
We don't use transactions, but if we did it would look something like that.
Hope this helps.
> On 13 Jul 2022, at 6:26 am, Das Goravani <goravanis at gmail.com> wrote:
> Dear List,
> I can’t figure this out and nowhere is this covered…
> If you have a SQL Transaction going, and you are some ways through it, and you have done a $dowork command on a certain list, and you have to rollback, do you ALSO issue $undowork?
> Said another way, if you $dowork in a transaction, and you rollback, do you need to do $undowork?
> Das Goravani
> Manage your list subscriptions at https://lists.omnis-dev.com
> Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com
Fishing is a matter of Bait and Sea @gingermeggs1921
Paul W. Mulroney We Don't Do Simple Pty Ltd
pmulroney at logicaldevelopments.com.au Trading as Logical Developments
www.logicaldevelopments.com.au ACN 161 009 374
Ph: +61 8 9458 3889 86 Coolgardie Street
BENTLEY WA 6102
More information about the omnisdev-en