X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/maintenance/archives/patch-ipb_range_start.sql diff --git a/maintenance/archives/patch-ipb_range_start.sql b/maintenance/archives/patch-ipb_range_start.sql index 64a906d4..84cba8f6 100644 --- a/maintenance/archives/patch-ipb_range_start.sql +++ b/maintenance/archives/patch-ipb_range_start.sql @@ -1,5 +1,5 @@ -- Add the range handling fields -ALTER TABLE /*$wgDBprefix*/ipblocks +ALTER TABLE /*$wgDBprefix*/ipblocks ADD ipb_range_start tinyblob NOT NULL default '', ADD ipb_range_end tinyblob NOT NULL default '', ADD INDEX ipb_range (ipb_range_start(8), ipb_range_end(8)); @@ -7,15 +7,15 @@ ALTER TABLE /*$wgDBprefix*/ipblocks -- Initialise fields -- Only range blocks match ipb_address LIKE '%/%', this fact is used in the code already -UPDATE /*$wgDBprefix*/ipblocks - SET - ipb_range_start = LPAD(HEX( +UPDATE /*$wgDBprefix*/ipblocks + SET + ipb_range_start = LPAD(HEX( (SUBSTRING_INDEX(ipb_address, '.', 1) << 24) + (SUBSTRING_INDEX(SUBSTRING_INDEX(ipb_address, '.', 2), '.', -1) << 16) + (SUBSTRING_INDEX(SUBSTRING_INDEX(ipb_address, '.', 3), '.', -1) << 24) + (SUBSTRING_INDEX(SUBSTRING_INDEX(ipb_address, '/', 1), '.', -1)) ), 8, '0' ), - ipb_range_end = LPAD(HEX( + ipb_range_end = LPAD(HEX( (SUBSTRING_INDEX(ipb_address, '.', 1) << 24) + (SUBSTRING_INDEX(SUBSTRING_INDEX(ipb_address, '.', 2), '.', -1) << 16) + (SUBSTRING_INDEX(SUBSTRING_INDEX(ipb_address, '.', 3), '.', -1) << 24)