Extension:Echo/echo event table

The echo_event table holds data concerning ext>Special:MyLanguage/Extension:Echo|echo events.

For every notified user, there is a corresponding row in the  table.

event_id
Primary key.

event_type
E.g. "edit-thank".

event_variant
Unused, always null

event_agent_id
 of the user who triggered the event, if any.

If the agent is a logged-in user,   contains their user ID and   is null.

If the agent is an anonymous user,   contains their IP address and   is null.

If the event doesn't have an agent, both fields are null.

event_agent_ip
IP address of the user who triggered the event.

event_page_namespace
 of page affected by the event.

event_page_title
 of page affected by the event.

event_extra
JSON blob concerning event (e.g. </> and thanked user's user_id).

event_page_id
<tvar|page-id></> of page affected by the event.

event_deleted
Whether the event pertains to a deleted page and should be hidden.

Events are marked as deleted when the related page is deleted, and unmarked as deleted when the related page is undeleted.

Schema summary
mysql> describe echo_event; +--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * Field               | Type                | Null | Key | Default | Extra          |
 * event_id            | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
 * event_type          | varbinary(64)       | NO   | MUL | NULL    |                |
 * event_variant       | varbinary(64)       | YES  |     | NULL    |                |
 * event_agent_id      | int(10) unsigned    | YES  |     | NULL    |                |
 * event_agent_ip      | varbinary(39)       | YES  |     | NULL    |                |
 * event_page_namespace | int(10) unsigned   | YES  |     | NULL    |                |
 * event_page_title    | varbinary(255)      | YES  |     | NULL    |                |
 * event_extra         | blob                | YES  |     | NULL    |                |
 * event_page_id       | int(10) unsigned    | YES  | MUL | NULL    |                |
 * event_deleted       | tinyint(3) unsigned | NO   |     | 0       |                |

mysql> describe echo_event; +--+--+--+-+-++ +--+--+--+-+-++ +--+--+--+-+-++
 * Field               | Type             | Null | Key | Default | Extra          |
 * event_id            | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
 * event_type          | varbinary(64)    | NO   | MUL | NULL    |                |
 * event_variant       | varbinary(64)    | YES  |     | NULL    |                |
 * event_agent_id      | int(10) unsigned | YES  |     | NULL    |                |
 * event_agent_ip      | varbinary(39)    | YES  |     | NULL    |                |
 * event_page_namespace | int(10) unsigned | YES |     | NULL    |                |
 * event_page_title    | varbinary(255)   | YES  |     | NULL    |                |
 * event_extra         | blob             | YES  |     | NULL    |                |
 * event_page_id       | int(10) unsigned | YES  |     | NULL    |                |

mysql> describe echo_event; +--+--+--+-+-++ +--+--+--+-+-++ +--+--+--+-+-++
 * Field               | Type             | Null | Key | Default | Extra          |
 * event_id            | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
 * event_timestamp     | binary(14)       | NO   |     | NULL    |                |
 * event_type          | varbinary(64)    | NO   | MUL | NULL    |                |
 * event_variant       | varbinary(64)    | YES  |     | NULL    |                |
 * event_agent_id      | int(10) unsigned | YES  |     | NULL    |                |
 * event_agent_ip      | varbinary(255)   | YES  |     | NULL    |                |
 * event_page_namespace | int(10) unsigned | YES |     | NULL    |                |
 * event_page_title    | varbinary(255)   | YES  |     | NULL    |                |
 * event_extra         | blob             | YES  |     | NULL    |                |