Last modified: 2013-10-23 16:23:02 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T34217, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 32217 - Cleanup MySQL 4 related remnants from core
Cleanup MySQL 4 related remnants from core
Status: NEW
Product: MediaWiki
Classification: Unclassified
Database (Other open bugs)
1.22.0
All All
: Low enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-05 15:07 UTC by Sam Reed (reedy)
Modified: 2013-10-23 16:23 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Sam Reed (reedy) 2011-11-05 15:07:25 UTC
So we get nice things like subqueries, which using them now was somewhat dependant on what the cluster was running.

MySQL 5 has been production release since October 2005 [1], I think we've been supporting it long enough.

I can't imagine too many people are still running it...?



[1] http://en.wikipedia.org/wiki/MySQL#Product_history
Comment 1 Sam Reed (reedy) 2011-11-05 15:26:28 UTC
Note, I'm not suggesting to actively break back compat (is there any way we could?)?

Does anyone even actually test on mysql4 now after the last mysql boxen have gone from WMF?
Comment 2 Brion Vibber 2011-11-05 17:31:37 UTC
Using subqueries would pretty actively break back compat. :)

I've no objection to this...
Comment 3 Sam Reed (reedy) 2011-11-05 18:30:30 UTC
(In reply to comment #2)
> Using subqueries would pretty actively break back compat. :)
> 
> I've no objection to this...

I was meaning going actively out of our way to break it. But this is slightly pointless, and probably just ignore it completely

But yeah, it's not like we're breaking stuff for a recent high use version of it.

Maybe something just to explicitly change for 1.19, and going forward

Probably some cleanup work to remove some of the mysql 4 related globals and such

Be nice to clear it all out

Thinks like: $wgDBmysql4, $wgDBmysql5...

And then 4 other usages in MysqlInstaller
Comment 4 Sam Reed (reedy) 2011-11-23 16:29:14 UTC
r104045 kills $wgDBmysql4

r104046 kills some mysql 4 related code from the installer

r104047 Kill mysql4 code from DatabaseMysql, bumps minimum mysql version in the installer

TODO:
* Kill 'config-charset-mysql4' ?
* Kill $existingSchema = 'mysql4'; ?
*
Comment 5 Platonides 2011-11-23 16:45:35 UTC
> MySQL 5 has been production release since October 2005 [1], I think we've been
> supporting it long enough.
> I can't imagine too many people are still running it...?

We were running mysql 4 until 2009 or so.


$wgDBmysql4 is always true "for compatibility with extensions that might be checking". Seems $wgDBmysql5 should follow the same fate.

Anyway $wgDBmysql5 does a useful task. Suddenly sending SET NAMES utf8 to everybody would break utf8-in-latin1 installs (beginning with WMF servers).

A second reason to avoid subqueries was that 'they were inefficient'. Which ones did you want to add? If we don't have a direct gain from dropping support, I'd keep it in.
Comment 6 Sam Reed (reedy) 2011-11-23 16:56:35 UTC
(In reply to comment #5)
> > MySQL 5 has been production release since October 2005 [1], I think we've been
> > supporting it long enough.
> > I can't imagine too many people are still running it...?
> 
> We were running mysql 4 until 2009 or so.
> 

We only got rid of it it on the live WMF sites in the last few months...
Comment 7 Platonides 2011-11-23 16:58:52 UTC
I wouldn't run to remove it, then.
Comment 8 Kevin Israel (PleaseStand) 2013-05-24 08:02:05 UTC
MediaWiki 1.19 and above do not support MySQL 4 and below. Is the message
'config-charset-mysql' the only reason this is not RESOLVED FIXED?
Comment 9 Sam Reed (reedy) 2013-10-23 16:22:08 UTC
We're already requiring >= 5.0.2

	public $minimumVersion = '5.0.2';

Back in 16:27, 23 November 2011 I made this 5.0.0

There's also another 7 usages in comments/commented code which should potentially be addressed and/or bugs filed for them. This could then be used as a tracking bug for these issues

There are 4 installed related messages that mention MySQL 4.X, which I believe is suggestionable that MySQL 4.X can actually be used. This really isn't the case, is misleading and should be removed

MySQL 4.0 back-compat isn't needed

	'config-charset-mysql5-binary'    => 'MySQL 4.1/5.0 binary',
	'config-charset-mysql5'           => 'MySQL 4.1/5.0 UTF-8',
	'config-charset-mysql4'           => 'MySQL 4.0 backwards-compatible UTF-8',
	'config-charset-help'             => "'''Warning:''' If you use '''backwards-compatible UTF-8''' on MySQL 4.1+, and subsequently back up the database with <code>mysqldump</code>, it may destroy all non-ASCII characters, irreversibly corrupting your backups!

In '''binary mode''', MediaWiki stores UTF-8 text to the database in binary fields.
This is more efficient than MySQL's UTF-8 mode, and allows you to use the full range of Unicode characters.
In '''UTF-8 mode''', MySQL will know what character set your data is in, and can present and convert it appropriately,
but it will not let you store characters above the [//en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes Basic Multilingual Plane].",

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links