https://bugzilla.wikimedia.org/show_bug.cgi?id=40375

--- Comment #4 from Aaron Schulz <[email protected]> 2012-09-22 19:55:33 
UTC ---
If DBO_TRX is set (which it is for sapi mode), and query() called, and there is
no transaction, it will start one first. If already in a transaction, it won't
call BEGIN.

This sucks in that web requests are normally wrapped in nice ACID transactions
(except when broken by manual begin() calls) but cli scripts don't use
transactions unless code has explicit begins.

So code with:
$dbw=wfGetDB(DB_MASTER);
$dbw->insert(...);
$dbw->update(...);
...is atomic for web requests, but not for cli scripts (like job runners).

The whole system is kind of a cluster fsck. I'm trying to avoid this stuff in
my RDBStore patches...

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to