diff options
Diffstat (limited to 'www/wiki/maintenance/sqlite/archives/patch-text-fix-pk.sql')
-rw-r--r-- | www/wiki/maintenance/sqlite/archives/patch-text-fix-pk.sql | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/www/wiki/maintenance/sqlite/archives/patch-text-fix-pk.sql b/www/wiki/maintenance/sqlite/archives/patch-text-fix-pk.sql new file mode 100644 index 00000000..380887b1 --- /dev/null +++ b/www/wiki/maintenance/sqlite/archives/patch-text-fix-pk.sql @@ -0,0 +1,37 @@ +CREATE TABLE /*_*/text_tmp ( + -- Unique text storage key number. + -- Note that the 'oldid' parameter used in URLs does *not* + -- refer to this number anymore, but to rev_id. + -- + -- revision.rev_text_id is a key to this column + old_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, + + -- Depending on the contents of the old_flags field, the text + -- may be convenient plain text, or it may be funkily encoded. + old_text mediumblob NOT NULL, + + -- Comma-separated list of flags: + -- gzip: text is compressed with PHP's gzdeflate() function. + -- utf-8: text was stored as UTF-8. + -- If $wgLegacyEncoding option is on, rows *without* this flag + -- will be converted to UTF-8 transparently at load time. Note + -- that due to a bug in a maintenance script, this flag may + -- have been stored as 'utf8' in some cases (T18841). + -- object: text field contained a serialized PHP object. + -- The object either contains multiple versions compressed + -- together to achieve a better compression ratio, or it refers + -- to another row where the text can be found. + -- external: text was stored in an external location specified by old_text. + -- Any additional flags apply to the data stored at that URL, not + -- the URL itself. The 'object' flag is *not* set for URLs of the + -- form 'DB://cluster/id/itemid', because the external storage + -- system itself decompresses these. + old_flags tinyblob NOT NULL +) /*$wgDBTableOptions*/ MAX_ROWS=10000000 AVG_ROW_LENGTH=10240; + +INSERT INTO /*_*/text_tmp + SELECT * FROM /*_*/text; + +DROP TABLE /*_*/text; + +ALTER TABLE /*_*/text_tmp RENAME TO /*_*/text;
\ No newline at end of file |