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

--- Comment #3 from [email protected] 2012-04-17 18:17:36 UTC ---
(In reply to comment #2)
> but why the swapping of
> the priorities between the slurped PHP error and the checking for immediate
> errors?

This switch arranges that:
* dbA reports only the errors of dbA, and
* dbB reports only the errors of dbB.
Without this switch, dbB's failed connection attempt would yield dbA's
"database selection" error

The culprit for this mismatch is lastError().
dbB does not have a proper mConn set, when lastError() is called on it (See the
guarding "if" condition). Hence, this lastError() call comes down to calling
mysql_error() without parameters. However, calling mysql_error() without
parameters refers to the previously (successfully) opened connection (In our
case: dbA).

So without the switch, dbB reports the error message of dbA instead of it's own
error message (see the logs in bug description).

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
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