+-- Used for caching expensive grouped queries
+CREATE TABLE querycache (
+ qc_type char(32) NOT NULL,
+ qc_value int(5) unsigned NOT NULL default '0',
+ qc_namespace tinyint(2) unsigned NOT NULL default '0',
+ qc_title char(255) binary NOT NULL default '',
+ KEY (qc_type,qc_value)
+);
+
+-- For a few generic cache operations if not using Memcached
+CREATE TABLE objectcache (
+ keyname char(255) binary not null default '',
+ value mediumblob,
+ exptime datetime,
+ unique key (keyname),
+ key (exptime)
+);
+
+-- For storing revision text
+CREATE TABLE blobs (
+ blob_index char(255) binary NOT NULL default '',
+ blob_data longblob NOT NULL default '',
+ UNIQUE key blob_index (blob_index)
+);
+
+-- For article validation
+
+CREATE TABLE `validate` (
+ `val_user` int(11) NOT NULL default '0',
+ `val_title` varchar(255) binary NOT NULL default '',
+ `val_timestamp` varchar(14) binary NOT NULL default '',
+ `val_type` int(10) unsigned NOT NULL default '0',
+ `val_value` int(11) default '0',
+ `val_comment` varchar(255) NOT NULL default '',
+ KEY `val_user` (`val_user`,`val_title`,`val_timestamp`)
+);
+
+
+CREATE TABLE logging (
+ -- Symbolic keys for the general log type and the action type
+ -- within the log. The output format will be controlled by the
+ -- action field, but only the type controls categorization.
+ log_type char(10) NOT NULL default '',
+ log_action char(10) NOT NULL default '',
+
+ -- Timestamp. Duh.
+ log_timestamp char(14) NOT NULL default '19700101000000',
+
+ -- The user who performed this action; key to user_id
+ log_user int unsigned NOT NULL default 0,
+
+ -- Key to the page affected. Where a user is the target,
+ -- this will point to the user page.
+ log_namespace tinyint unsigned NOT NULL default 0,
+ log_title varchar(255) NOT NULL default '',
+
+ -- Freeform text. Interpreted as edit history comments.
+ log_comment varchar(255) NOT NULL default '',
+
+ KEY type_time (log_type, log_timestamp),
+ KEY user_time (log_user, log_timestamp),
+ KEY page_time (log_namespace, log_title, log_timestamp)
+);
+
+
+
+
+
+-- Hold group name and description
+CREATE TABLE `group` (
+ group_id int(5) unsigned NOT NULL auto_increment,
+ group_name varchar(50) NOT NULL default '',
+ group_description varchar(255) NOT NULL default '',
+ PRIMARY KEY (group_id)
+);
+
+-- Relation table between user and groups
+CREATE TABLE user_groups (
+ user_id int(5) unsigned NOT NULL default '0',
+ group_id int(5) unsigned NOT NULL default '0',
+ PRIMARY KEY (user_id,group_id)
+);