iw_url has been blob datatype since 2007 but in production it's varbinary(127):
wikiadmin@10.64.32.77(enwiki)> desc interwiki; +-----------+----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------------+------+-----+---------+-------+ | iw_prefix | varbinary(32) | NO | PRI | NULL | | | iw_url | varbinary(127) | NO | | NULL | | | iw_local | tinyint(1) | NO | | 0 | | | iw_trans | tinyint(1) | NO | | 0 | | | iw_api | blob | NO | | NULL | | | iw_wikiid | varbinary(64) | NO | | NULL | | +-----------+----------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
This will cause issues if the url for the interwiki is more than 127 characters.
ALTER TABLE /*_*/interwiki MODIFY iw_url BLOB NOT NULL;
Where: s1,s2,s3,s4,s5,s6,s7 (we still need to check which wikis (if not all))
Schema change progress:
- s1
- eqiad
- codfw
- s2
- eqiad
- codfw
- s3
- eqiad
- codfw
- s4
- eqiad
- codfw
- s5
- eqiad
- codfw
- s6
- eqiad
- codfw
- s7
- eqiad
- codfw
- s10
- labtestwiki
Confirmed that s8 is not affected.