Manual:Ip changes table

Every time an edit by a logged out user is saved, a row is created in the ip_changes table. This stores the IP as a hex representation so that we can more easily find edits within an man>Special:MyLanguage/Manual:IP ranges|IP range. One of the primary purposes of the table is to support IP range queries at Special:Contributions. This table was introduced in .

ipc_rev_id
Foreign key to the  table, also serves as the unique primary key.

ipc_rev_timestamp
The timestamp of the revision.

ipc_hex
Hex representation of the IP address, as returned by IP::toHex.


 * For IPv4 it will resemble:


 * For IPv6:

BETWEEN is then used to identify revisions within a given range.

Schema summary
+---+--+--+-+-+---+ +---+--+--+-+-+---+ +---+--+--+-+-+---+
 * Field            | Type             | Null | Key | Default | Extra |
 * ipc_rev_id       | int(10) unsigned | NO   | PRI | 0       |       |
 * ipc_rev_timestamp | binary(14)      | NO   | MUL | NULL    |       |
 * ipc_hex          | varbinary(35)    | NO   | MUL |         |       |

+---+--+--+-++---+ +---+--+--+-++---+ +---+--+--+-++---+
 * Field            | Type             | Null | Key | Default        | Extra |
 * ipc_rev_id       | int(10) unsigned | NO   | PRI | 0              |       |
 * ipc_rev_timestamp | binary(14)      | NO   | MUL |                |       |
 * ipc_hex          | varbinary(35)    | NO   | MUL |                |       |