rdbms: make LoadBalancer::reallyOpenConnection() handle setting DBO_TRX
authorAaron Schulz <aschulz@wikimedia.org>
Sun, 14 Jul 2019 22:43:26 +0000 (15:43 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Sat, 24 Aug 2019 20:06:17 +0000 (20:06 +0000)
commit45831e619c5e667ae1201bcdacfb8d4dcce10b41
tree10a8d9d50cac67e3294c2e344814f5075c66cca5
parent41355718e137b2ed88160ad5ddb4db50336d54d9
rdbms: make LoadBalancer::reallyOpenConnection() handle setting DBO_TRX

Make LoadBalancer::reallyOpenConnection() handle initializing DBO_TRX
instead of Database::__construct().

Also:
* Avoid having the "catch" block appear like it returns a
  half-constructed Database.
* Use the variable name $conn instead of $db to be consistent
  throughout the class. Only send Database::__construct() parameters
  that it recognizes instead of mixing in setLBInfo() data.

Change-Id: Iffc3d1d0713051a164adb51a4c4ee12e4ac887c3
13 files changed:
includes/libs/rdbms/database/Database.php
includes/libs/rdbms/database/DatabasePostgres.php
includes/libs/rdbms/database/DatabaseSqlite.php
includes/libs/rdbms/database/IDatabase.php
includes/libs/rdbms/lbfactory/LBFactory.php
includes/libs/rdbms/lbfactory/LBFactoryMulti.php
includes/libs/rdbms/lbfactory/LBFactorySimple.php
includes/libs/rdbms/loadbalancer/LoadBalancer.php
includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php
tests/phpunit/includes/Revision/RevisionStoreDbTestBase.php
tests/phpunit/includes/db/DatabasePostgresTest.php
tests/phpunit/includes/db/LBFactoryTest.php
tests/phpunit/includes/libs/rdbms/database/DatabaseMysqlBaseTest.php