daniel added a comment.
In https://phabricator.wikimedia.org/T107595#2264302, @brion wrote: > The remaining questions are > > - whether we want to pass the $dbw parameter through (do we always go through load balancer in which case it'll be the same connection anyway? or are there cases where a separate connection may be used to insert revs for some reason?) and I think the RevisionBuilder can hold a single Database reference for the time between initialization and apply(). At the end of apply(), it should release the Database objects via LoadBalancer::reuseConnection(). A LoadBalancer instance should be injected into the RevisionBuilder from the RevisionStore. > - whether there's any nested-transaction problems if someone tries to insert multiple revs in an explicitly larger transaction Do we need to support this? Do we have any code that does this? It seems like even during import, a transaction shouldn't span multiple revisions. The new code should basically expect a transaction bracket exactly where there is one now. Hm... that probably means that we cant have begin/commit/collback inside apply(). This needs to be done by the caller, and the caller would need to call either apply() (aka commit) or rollback() on the RevisionBuilder. TASK DETAIL https://phabricator.wikimedia.org/T107595 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: daniel Cc: JJMC89, RobLa-WMF, Yurik, ArielGlenn, APerson, TomT0m, Krenair, intracer, Tgr, Tobi_WMDE_SW, Addshore, Lydia_Pintscher, cscott, PleaseStand, awight, Ricordisamoa, GWicke, MarkTraceur, waldyrious, Legoktm, Aklapper, Jdforrester-WMF, Ltrlg, brion, Spage, MZMcBride, daniel, D3r1ck01, Izno, Luke081515, Wikidata-bugs, aude, jayvdb, fbstj, Mbch331, Jay8g, bd808 _______________________________________________ Wikidata-bugs mailing list Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs