3 DROP TABLE IF EXISTS /*_*/image_tmp
;
4 CREATE TABLE /*_*/image_tmp (
5 img_name
varchar(255) binary NOT NULL default '' PRIMARY KEY,
6 img_size
int unsigned
NOT NULL default 0,
7 img_width
int NOT NULL default 0,
8 img_height
int NOT NULL default 0,
9 img_metadata mediumblob
NOT NULL,
10 img_bits
int NOT NULL default 0,
11 img_media_type
ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE", "3D") default NULL,
12 img_major_mime
ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical") NOT NULL default "unknown",
13 img_minor_mime
varbinary(100) NOT NULL default "unknown",
14 img_description
varbinary(767) NOT NULL default '',
15 img_user
int unsigned
NOT NULL default 0,
16 img_user_text
varchar(255) binary NOT NULL,
17 img_timestamp
varbinary(14) NOT NULL default '',
18 img_sha1
varbinary(32) NOT NULL default ''
19 ) /*$wgDBTableOptions*/;
21 INSERT OR IGNORE INTO /*_*/image_tmp (
22 img_name
, img_size
, img_width
, img_height
, img_metadata
, img_bits
,
23 img_media_type
, img_major_mime
, img_minor_mime
, img_description
, img_user
,
24 img_user_text
, img_timestamp
, img_sha1
)
26 img_name
, img_size
, img_width
, img_height
, img_metadata
, img_bits
,
27 img_media_type
, img_major_mime
, img_minor_mime
, img_description
, img_user
,
28 img_user_text
, img_timestamp
, img_sha1
31 DROP TABLE /*_*/image
;
32 ALTER TABLE /*_*/image_tmp
RENAME TO /*_*/image
;
33 CREATE INDEX /*i*/img_user_timestamp
ON /*_*/image (img_user
,img_timestamp
);
34 CREATE INDEX /*i*/img_usertext_timestamp
ON /*_*/image (img_user_text
,img_timestamp
);
35 CREATE INDEX /*i*/img_size
ON /*_*/image (img_size
);
36 CREATE INDEX /*i*/img_timestamp
ON /*_*/image (img_timestamp
);
37 CREATE INDEX /*i*/img_sha1
ON /*_*/image (img_sha1(10));
38 CREATE INDEX /*i*/img_media_mime
ON /*_*/image (img_media_type
,img_major_mime
,img_minor_mime
);