Page MenuHomePhabricator

Drop database table "links" from Wikimedia wikis
Closed, ResolvedPublic

Description

On at least enwiki, there is a "links" database table that appears to be unused and unneeded.

Its schema:

MariaDB [enwiki_p]> describe links;
+--------+-----------------+------+-----+---------+-------+

FieldTypeNullKeyDefaultExtra

+--------+-----------------+------+-----+---------+-------+

l_fromint(8) unsignedNO0
l_toint(8) unsignedNO0

+--------+-----------------+------+-----+---------+-------+
2 rows in set (0.03 sec)

This database table should be dropped from all Wikimedia wikis.


Version: wmf-deployment
Severity: enhancement
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=53640

Details

Reference
bz52928

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:50 AM
bzimport set Reference to bz52928.

The "links" table exists on all wikis.

Though enwiki.links is empty, some wikis have small amounts of data in the table.

Therefore I've renamed it to "links_old" for now, to be dropped after a suitable cooling-off period.

(In reply to comment #1)

The "links" table exists on all wikis.

How are you checking for table existence across all wikis? Can you output the full findings? (For example, I don't see a "links" database table on foundationwiki_p or testwiki_p, but I do see one on mediawikiwiki_p and zhwiki_p.)

Therefore I've renamed it to "links_old" for now, to be dropped after a
suitable cooling-off period.

Thanks. :-)

Actually, I shouldn't have said 'all wikis', just 'most wikis'.

I have a sandbox mysqld on terbium with various metadata pulled daily from information_schema on all the database hosts.

CREATE TABLE db_tables (

`host_id` int(10) unsigned NOT NULL,
`db` varchar(32) NOT NULL,
`name` varchar(32) NOT NULL,
`engine` varchar(16) DEFAULT NULL,
`version` varchar(10) DEFAULT NULL,
`format` varchar(10) DEFAULT NULL,
`rows` bigint(20) unsigned DEFAULT NULL,
`data_len` bigint(20) unsigned DEFAULT NULL,
`index_len` bigint(20) unsigned DEFAULT NULL,
`auto_inc` bigint(20) unsigned DEFAULT NULL,
UNIQUE KEY `host_id` (`host_id`,`db`,`name`)

);

select distinct t.db as dbs_with_links from db_tables t where t.name = 'links' order by db;

+------------------+

dbs_with_links

+------------------+

aawiki
abwiki
afwiki
akwiki
alswiki
amwiki
angwiki
anwiki
arcwiki
arwiki
astwiki
aswiki
avwiki
aywiki
azwiki
bawiki
be_x_oldwiki
bgwiki
bhwiki
biwiki
bmwiki
bnwiki
bowiki
brwiki
bswiki
cawiki
cebwiki
cewiki
chowiki
chrwiki
chwiki
chywiki
closed_zh_twwiki
cowiki
crwiki
csbwiki
cswiki
cvwiki
cywiki
dawiki
dewiki
dkwiki
dvwiki
dzwiki
eewiki
elwiki
enwiki
eowiki
eswiki
etwiki
euwiki
fawiki
ffwiki
fiu_vrowiki
fiwiki
fjwiki
fowiki
frwiki
furwiki
fywiki
gawiki
gdwiki
glwiki
gnwiki
gotwiki
guwiki
gvwiki
hawiki
hawwiki
hewiki
hiwiki
howiki
hrwiki
htwiki
huwiki
hywiki
hzwiki
iawiki
idwiki
iewiki
igwiki
iiwiki
ikwiki
iowiki
iswiki
itwiki
iuwiki
jawiki
jbowiki
jvwiki
kawiki
kgwiki
kiwiki
kjwiki
kkwiki
klwiki
kmwiki
knwiki
kowiki
krwiki
kswiki
kuwiki
kvwiki
kwwiki
kywiki
lawiki
lbwiki
lgwiki
liwiki
lnwiki
lowiki
ltwiki
lvwiki
mediawikiwiki
metawiki
mgwiki
mhwiki
miwiki
mkwiki
mlwiki
mnwiki
mowiki
mrwiki
mswiki
mtwiki
muswiki
mywiki
nahwiki
nawiki
ndswiki
newiki
ngwiki
nlwiki
nnwiki
nowiki
nvwiki
nywiki
ocwiki
omwiki
orwiki
oswiki
pamwiki
pawiki
piwiki
plwiki
pswiki
ptwiki
quwiki
rel13testwiki
rmwiki
rnwiki
roa_rupwiki
rowiki
ruwiki
rwwiki
sawiki
scnwiki
scowiki
scwiki
sdwiki
sewiki
sgwiki
shwiki
simplewiki
siwiki
skwiki
slwiki
smwiki
snwiki
sowiki
sqwiki
srwiki
sswiki
stwiki
suwiki
svwiki
swwiki
tawiki
tewiki
tgwiki
thwiki
tiwiki
tkwiki
tlhwiki
tlwiki
tnwiki
tokiponawiki
towiki
tpiwiki
trwiki
tswiki
ttwiki
tumwiki
twwiki
tywiki
ugwiki
ukwiki
urwiki
uzwiki
vewiki
viwiki
vowiki
wawiki
wowiki
xhwiki
yiwiki
yowiki
zawiki
zhwiki
zh_cnwiki
zh_min_nanwiki
zuwiki

+------------------+
212 rows in set (0.26 sec)

(In reply to comment #1)

The "links" table exists on all wikis.

Though enwiki.links is empty, some wikis have small amounts of data in the
table.

Therefore I've renamed it to "links_old" for now, to be dropped after a
suitable cooling-off period.

https://www.mediawiki.org/wiki/Manual:Links_table 1.5.0 is when it died.

"links" table has been removed from all wikis.