* Do not do the connection init step if the same DB handle as
wfGetDB( DB_MASTER ) is being used to avoid clobbering it.
* Remove begin(), since only one of the subclasses wants
transactions. That one now uses startAtomic() now.
* Make getConnection() throw an error for bad config instead
of return null, which was not documented or expected.
Change-Id: Ib09a7972d6569c29e83e329a8f7f9f47a393b896
wfSuppressWarnings() and wfRestoreWarnings() were split out into a
separate library. All usages in core were replaced with the new
functions, and the wf* global functions are marked as deprecated.
Additionally, some uses of @ were replaced due to composer's autoloader
being loaded even earlier.
Ie1234f8c12693408de9b94bf6f84480a90bd4f8e adds the library to
mediawiki/vendor.
Bug: T100923
Change-Id: I5c35079a0a656180852be0ae6b1262d40f6534c4
Xhprof generates this data now. Custom profiling of various
sub-function units are kept.
Calls to profiler represented about 3% of page execution
time on Special:BlankPage (1.5% in/out); after this change
it's down to about 0.98% of page execution time.
Change-Id: Id9a1dc9d8f80bbd52e42226b724a1e1213d07af7
- Swap "$variable type" to "type $variable"
- Added missing types
- Fixed spacing inside docs
- Makes beginning of @param/@return/@var/@throws in capital
- Changed some types to match the more common spelling
Change-Id: I41a84e8e1dec39170aa655250325ffc485eaeaef
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.
Change-Id: I8804ebe0922d3a414863b162a2110e0b9e49b80f
* Also made the TTLs properly per-lock as they should be
* Also properly extract type/session from the keys in LUA
Change-Id: I4608b7d551ac7aa4b3f7e2f5ce92b50662b1d4e4
* Also reduced rount trips in doUnlockingRequestBucket().
* Also removed some redundant doc comments.
Change-Id: I81878e92332509bd7fda9ddeef950b774f5b015d
* This also makes it possible for subclasses to optimize this case.
* Added a timeout parameter to ScopedLock::factory().
* Cleaned up a few bits of documentation.
Change-Id: Id3e9cf01f25ab498ea00d87ffb6d00aa8b05052b
And added/removed spaces around some other tokens,
like +, -, *, /, <, >, =, !
Fixed windows newline style
Change-Id: I0b9c8c408f3f6bfc0d685a074d7ec468fb848fc8
* Improved handling of corrupt values in cache for MemcLockManager.
Also improved the use of Status warnings a bit.
* Removed broken special-case handling for SH->EX lock escalation.
Updated MysqLockManager to compensate.
* Made FSLockManager only use one handle per file, which is more
efficient and avoids errors when escalating locks (SH->EX).
* Made lock unit tests have more useful output on failure.
Change-Id: Ib304712fa2b6b3fd02bfc1b08b6f238c771960c2
Doxygen expects parameter types to come before the
parameter name in @param tags. Used a quick regex
to switch everything around where possible. This
only fixes cases where a primitve variable (or a
primitive followed by other types) is the variable
type. Other cases will need to be fixed manually.
Change-Id: Ic59fd20856eb0489d70f3469a56ebce0efb3db13
* Made DBLockManager abstract instead of a hacky blocking implementation.
With a PG and MySQL option, that option is no longer useful.
Change-Id: I939551bd2283608f2d017d9d2fca1334a533c005
* In some cases (like certain qualified file backends), a domain
may be desired that is not simple a wiki ID.
* Also added a LockManangerGroup::config() function to export
the configuration of a lock manager.
Change-Id: I5a75c55be3cc9017ed8a717d6d30e466fd00340f