WHAT: - Return the GTID style from `MySQLPrimaryPos::parseGTID`, which already identifies the style during parse. - Rely on `parseGTID`'s detection in `MySQLPrimaryPos::init`. WHY: - When GTID-based replication is enabled and MySQL is used for the database, MediaWiki misidentifies the engine as MariaDB. - This causes position waits to fail with "No active GTIDs in $1 share a domain with those in $1". - This is a regression caused by I232274feb12c0ce4826be2c46a35315b425f6673: - Before that change, parseGTID returned the domain ID as an integer for MariaDB and as a string for MySQL. - The `init` method used this fact (`is_int`) when determining the GTID style. - After the change, parseGTID always returns the domain ID as a string. - The check in `init` was incorrectly updated to expect a string for MariaDB, but did not account for MySQL's source ID also being a string. Change-Id: I4951e7967a45bae10d26b06ee236a55279fa8fb9 (cherry picked from commit 54154c87c084543fd659f24ae6b4c276184259cc) |
||
|---|---|---|
| .. | ||
| composer | ||
| DebugInfo | ||
| Diff | ||
| eventrelayer | ||
| filebackend | ||
| http | ||
| iterators | ||
| lockmanager | ||
| Message | ||
| mime | ||
| objectcache | ||
| ParamValidator | ||
| rdbms | ||
| Stats | ||
| telemetry | ||
| uuid | ||
| WRStats | ||
| ArrayUtils.php | ||
| Cookie.php | ||
| CookieJar.php | ||
| Deflate.php | ||
| DnsSrvDiscoverer.php | ||
| Emptiable.php | ||
| ExplodeIterator.php | ||
| GhostFieldAccessTrait.php | ||
| HashRing.php | ||
| HtmlArmor.php | ||
| HttpStatus.php | ||
| MapCacheLRU.php | ||
| MappedIterator.php | ||
| MemoizedCallable.php | ||
| MWCryptHash.php | ||
| NonSerializableTrait.php | ||
| README | ||
| ReplacementArray.php | ||
| ReverseArrayIterator.php | ||
| RiffExtractor.php | ||
| StaticArrayWriter.php | ||
| StatusValue.php | ||
| StringUtils.php | ||
| Timing.php | ||
| UDPTransport.php | ||
| UnpackFailedException.php | ||
| XhprofData.php | ||
The classes in this directory ./includes/libs are considered standalone from the remainder of the MediaWiki codebase. They do not call on any other portions of MediaWiki code, and can be used in other projects without dependency issues.