Returning void from execute() is success.
Returning true is success, false is failure with exit(1)
Using fatalError also using exit(1)
Change-Id: I1d40430ad6226e4aab8f0810b03ee1213282d123
Example, there are dump scripts that use mysql.php with group=dump and these
work fine in production where the groups are, but die in deployment-prep.
Instead of dying, try to get any replica for the wiki and use that instead.
Bug: T269377
Change-Id: I54e295175a8a78d886b9390c15a0cacd16d41a15
This code is functionally identical, but less error prone (not so easy
to forget or mix these numerical indexes).
This patch happens to touch the Parser, which might be a bit scary. We
can remove this file from this patch if you prefer.
Change-Id: I8cbe3a9a6725d1c42b86e67678c1af15fbc5961a
The most notable removal is done in the orphans script. This code was
really never used. Brion introduced it in 2005, already disabled.
I have all the respect for what Brion did. I just think it does not make
much sense to keep code around for so long if it does not work anyway,
and must be rewritten from scratch anyway now that we have multi-content
revisions and such.
Change-Id: I4e8050929f90e44a6e6051bf938993a8b0cdf649
Every foreground process with the terminal open will receive SIGINT when
the interrupt key is pressed. But mysql handles SIGINT and kills the
running query, we don't want the wrapper to exit in that case. So,
ignore SIGINT while mysql is running. This is similar to how a shell
deals with this problem.
The other options would have been:
* Close the filehandles in PHP after forking (probably impossible)
* Use pcntl_exec() so that PHP isn't running (more complicated and
requires the pcntl extension anyway)
* Clear termcap ISIG flag (probably would have broken mysql)
Bug: T199152
Change-Id: I7660cd24e036fbe3fe36d12563ffe1c1fa2360d0
This is more or less equivalent to the WMF shell script "sql", but it is
reasonably portable and written in a less hackish way.
Change-Id: I240d8d4e65ce46680cac257ee376a9b026c13f92