[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/maintenance/archives/ -> patch-ipb_anon_only.sql (source)

   1  -- Add extra option fields to the ipblocks table, add some extra indexes,
   2  -- convert infinity values in ipb_expiry to something that sorts better,
   3  -- extend ipb_address and range fields, add a unique index for block conflict
   4  -- detection.
   5  
   6  -- Conflicts in the new unique index can be handled by creating a new
   7  -- table and inserting into it instead of doing an ALTER TABLE.
   8  
   9  
  10  DROP TABLE IF EXISTS /*$wgDBprefix*/ipblocks_newunique;
  11  
  12  CREATE TABLE /*$wgDBprefix*/ipblocks_newunique (
  13    ipb_id int NOT NULL auto_increment,
  14    ipb_address tinyblob NOT NULL,
  15    ipb_user int unsigned NOT NULL default '0',
  16    ipb_by int unsigned NOT NULL default '0',
  17    ipb_reason tinyblob NOT NULL,
  18    ipb_timestamp binary(14) NOT NULL default '',
  19    ipb_auto bool NOT NULL default 0,
  20    ipb_anon_only bool NOT NULL default 0,
  21    ipb_create_account bool NOT NULL default 1,
  22    ipb_expiry varbinary(14) NOT NULL default '',
  23    ipb_range_start tinyblob NOT NULL,
  24    ipb_range_end tinyblob NOT NULL,
  25  
  26    PRIMARY KEY ipb_id (ipb_id),
  27    UNIQUE INDEX ipb_address_unique (ipb_address(255), ipb_user, ipb_auto),
  28    INDEX ipb_user (ipb_user),
  29    INDEX ipb_range (ipb_range_start(8), ipb_range_end(8)),
  30    INDEX ipb_timestamp (ipb_timestamp),
  31    INDEX ipb_expiry (ipb_expiry)
  32  
  33  ) /*$wgDBTableOptions*/;
  34  
  35  INSERT IGNORE INTO /*$wgDBprefix*/ipblocks_newunique
  36          (ipb_id, ipb_address, ipb_user, ipb_by, ipb_reason, ipb_timestamp, ipb_auto, ipb_expiry, ipb_range_start, ipb_range_end, ipb_anon_only, ipb_create_account)
  37    SELECT ipb_id, ipb_address, ipb_user, ipb_by, ipb_reason, ipb_timestamp, ipb_auto, ipb_expiry, ipb_range_start, ipb_range_end, 0            , ipb_user=0
  38    FROM /*$wgDBprefix*/ipblocks;
  39  
  40  DROP TABLE IF EXISTS /*$wgDBprefix*/ipblocks_old;
  41  RENAME TABLE /*$wgDBprefix*/ipblocks TO /*$wgDBprefix*/ipblocks_old;
  42  RENAME TABLE /*$wgDBprefix*/ipblocks_newunique TO /*$wgDBprefix*/ipblocks;
  43  
  44  UPDATE /*$wgDBprefix*/ipblocks SET ipb_expiry='infinity' WHERE ipb_expiry='';


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1