MySQL connect: Parse the Unix domain socket path correctly
authorJasonCoombs <ceo@forensics.org>
Mon, 12 Aug 2019 04:38:48 +0000 (18:38 -1000)
committerJasonCoombs <ceo@forensics.org>
Thu, 15 Aug 2019 22:45:55 +0000 (12:45 -1000)
commit74000d80667fa92ee21a6bb91902e1491bf28cae
tree73134569c821635ae04bd166833aaf17e02abd4b
parent4356572546b2b4e8eefda9bf10943ba1b12526b9
MySQL connect: Parse the Unix domain socket path correctly

Some Unix domain socket paths contain colons, requiring MediaWiki to use a modified parsing delimiter. For example,
Google AppEngine provides a /cloudsql/ path to a Unix domain socket used for accessing a Cloud SQL database.
See https://cloud.google.com/sql/docs/mysql/connect-app-engine
The connection name takes the form of project:region:database which introduces two additional colons to the socket path.
Previously, the code presumed the existence of only one colon in a valid Unix domain socket path.

Bug: T230306
Change-Id: I2411ac1b583fd5c143563cb3155ef4e8a29a9b08
includes/libs/rdbms/database/DatabaseMysqli.php