From d6c754eafdd53e9ea6ee3c52267ea0a860e559d2 Mon Sep 17 00:00:00 2001 From: rurban Date: Sun, 27 Feb 2005 09:33:05 +0000 Subject: [PATCH] update schemas for 1.3.11 git-svn-id: svn://svn.code.sf.net/p/phpwiki/code/trunk@4602 96ab9672-09ca-45d6-a79d-3d69d39ca109 --- schemas/minisql-destroy.sql | 12 ----- schemas/minisql-initialize.sql | 99 ---------------------------------- schemas/mssql-destroy.sql | 4 +- schemas/mssql-initialize.sql | 33 +++++++++++- schemas/mysql-1_3_11.sql | 3 +- schemas/mysql-initialize.sql | 39 ++++++++------ schemas/oci8-destroy.sql | 32 ++--------- schemas/oci8-initialize.sql | 35 +++++++++++- schemas/psql-destroy.sql | 40 ++++++-------- schemas/psql-initialize.sql | 70 ++++++++++++++++++++---- schemas/sqlite-destroy.sql | 12 ++++- schemas/sqlite-initialize.sql | 48 ++++++++++++++--- 12 files changed, 226 insertions(+), 201 deletions(-) delete mode 100644 schemas/minisql-destroy.sql delete mode 100644 schemas/minisql-initialize.sql diff --git a/schemas/minisql-destroy.sql b/schemas/minisql-destroy.sql deleted file mode 100644 index d8caa08a3..000000000 --- a/schemas/minisql-destroy.sql +++ /dev/null @@ -1,12 +0,0 @@ -# $Id: minisql-destroy.sql,v 1.1 2004-07-22 16:49:19 dfrankow Exp $ - -drop table wiki\g -drop table wikipages\g -drop table archive\g -drop table archivepages\g - -drop table wikilinks\g -drop table hottopics\g -drop table hitcount\g -drop table wikiscore\g - diff --git a/schemas/minisql-initialize.sql b/schemas/minisql-initialize.sql deleted file mode 100644 index 387487750..000000000 --- a/schemas/minisql-initialize.sql +++ /dev/null @@ -1,99 +0,0 @@ -# $Id: minisql-initialize.sql,v 1.1 2004-07-22 16:49:19 dfrankow Exp $ - -# metadata about the page - -CREATE TABLE wiki ( - pagename CHAR(100) NOT NULL, - version INT NOT NULL, - flags INT NOT NULL, - author CHAR(100), - lastmodified INT NOT NULL, - created INT NOT NULL, - refs TEXT(100) - ) -\g - -CREATE UNIQUE INDEX wiki_index ON wiki (pagename) -\g - -# archive for page metadata - -CREATE TABLE archive ( - pagename CHAR(100) NOT NULL, - version INT NOT NULL, - flags INT NOT NULL, - author CHAR(100), - lastmodified INT NOT NULL, - created INT NOT NULL, - refs TEXT(100) - ) -\g - -CREATE UNIQUE INDEX archive_index ON archive (pagename, version) -\g - - -# table for the pages themselves... stored in lines - -CREATE TABLE wikipages ( - pagename CHAR(100) NOT NULL, - lineno INT NOT NULL, - line CHAR(128) -) -\g - -CREATE UNIQUE INDEX wp_idx ON wikipages (pagename, lineno) -\g - - -# archive of page lines - -CREATE TABLE archivepages ( - pagename CHAR(100) NOT NULL, - lineno INT NOT NULL, - line CHAR(128) -) -\g - -CREATE UNIQUE INDEX ap_idx ON archivepages (pagename, lineno) -\g - - - -# tables below are not yet used - -CREATE TABLE wikilinks ( - frompage CHAR(100) NOT NULL, - topage CHAR(100) NOT NULL - ) -\g - -CREATE UNIQUE INDEX wikilinks_index ON wikilinks (frompage, topage) -\g - -CREATE TABLE hottopics ( - pagename CHAR(100) NOT NULL, - lastmodified INT NOT NULL - ) -\g - -CREATE UNIQUE INDEX hottopics_index ON hottopics (pagename, lastmodified) -\g - -CREATE TABLE hitcount ( - pagename CHAR(100) NOT NULL, - hits INT NOT NULL - ) -\g - -CREATE UNIQUE INDEX hitcount_index ON hitcount (pagename) -\g - -CREATE TABLE wikiscore ( - pagename CHAR(100) NOT NULL, - score INT NOT NULL - ) -\g - -CREATE UNIQUE INDEX hitcount_index ON wikiscore (pagename) -\g diff --git a/schemas/mssql-destroy.sql b/schemas/mssql-destroy.sql index 51d35b6c8..cedfb33b6 100644 --- a/schemas/mssql-destroy.sql +++ b/schemas/mssql-destroy.sql @@ -1,4 +1,4 @@ --- $Id: mssql-destroy.sql,v 1.1 2004-10-12 17:31:34 rurban Exp $ +-- $Id: mssql-destroy.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ DROP TABLE page; DROP TABLE version; @@ -13,3 +13,5 @@ DROP TABLE pref; -- wikilens theme DROP TABLE rating; + +DROP TABLE accesslog; diff --git a/schemas/mssql-initialize.sql b/schemas/mssql-initialize.sql index 76770a669..650dfa25f 100644 --- a/schemas/mssql-initialize.sql +++ b/schemas/mssql-initialize.sql @@ -1,10 +1,12 @@ --- $Id: mssql-initialize.sql,v 1.1 2004-10-12 17:31:34 rurban Exp $ +-- $Id: mssql-initialize.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ +-- UNTESTED! CREATE TABLE page ( id INT NOT NULL AUTO_INCREMENT, pagename VARCHAR(100) NOT NULL, hits INT NOT NULL DEFAULT 0, pagedata TEXT NOT NULL DEFAULT '', + cached_html TEXT NOT NULL DEFAULT '', -- added with 1.3.11 PRIMARY KEY (id), UNIQUE (pagename) ); @@ -47,7 +49,8 @@ CREATE TABLE session ( sess_ip CHAR(15) NOT NULL, PRIMARY KEY (sess_id) ); -CREATE INDEX sess_date ON session (sess_date); +CREATE INDEX sessdate_index ON session (sess_date); +CREATE INDEX sessip_index ON session (sess_ip); -- Optional DB Auth and Prefs -- For these tables below the default table prefix must be used @@ -88,3 +91,29 @@ CREATE TABLE rating ( tstamp TIMESTAMP(14) NOT NULL, PRIMARY KEY (dimension, raterpage, rateepage) ); +CREATE INDEX rating_dimension ON rating (dimension); +CREATE INDEX rating_raterpage ON rating (raterpage); +CREATE INDEX rating_rateepage ON rating (rateepage); + +-- if ACCESS_LOG_SQL > 0 +-- only if you need fast log-analysis (spam prevention, recent referrers) +-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178 +CREATE TABLE accesslog ( + time_stamp INT UNSIGNED, + remote_host VARCHAR(50), + remote_user VARCHAR(50), + request_method VARCHAR(10), + request_line VARCHAR(255), + request_args VARCHAR(255), + request_file VARCHAR(255), + request_uri VARCHAR(255), + request_time CHAR(28), + status SMALLINT UNSIGNED, + bytes_sent SMALLINT UNSIGNED, + referer VARCHAR(255), + agent VARCHAR(255), + request_duration FLOAT +); +CREATE INDEX log_time ON accesslog (time_stamp); +CREATE INDEX log_host ON accesslog (remote_host); +-- create extra indices on demand (usually referer. see plugin/AccessLogSql) diff --git a/schemas/mysql-1_3_11.sql b/schemas/mysql-1_3_11.sql index 30a2a70f9..6e69f37dc 100644 --- a/schemas/mysql-1_3_11.sql +++ b/schemas/mysql-1_3_11.sql @@ -1,6 +1,7 @@ --- $Id: mysql-1_3_11.sql,v 1.3 2005-02-07 15:18:52 rurban Exp $ +-- $Id: mysql-1_3_11.sql,v 1.4 2005-02-27 09:33:05 rurban Exp $ -- phpwiki 1.3.11 upgrade from 1.3.10 +-- if ACCESS_LOG_SQL > 0 -- only if you need fast log-analysis (spam prevention, recent referrers) -- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178 CREATE TABLE accesslog ( diff --git a/schemas/mysql-initialize.sql b/schemas/mysql-initialize.sql index 00c81f0e2..9bae1a86c 100644 --- a/schemas/mysql-initialize.sql +++ b/schemas/mysql-initialize.sql @@ -1,9 +1,10 @@ --- $Id: mysql-initialize.sql,v 1.6 2005-02-07 15:18:52 rurban Exp $ +-- $Id: mysql-initialize.sql,v 1.7 2005-02-27 09:33:05 rurban Exp $ CREATE TABLE page ( id INT NOT NULL AUTO_INCREMENT, -- for mysql => 4.1 define the charset here --- this is esp. needed for mysql 4.1.0 up to 4.1.6. not yet confirmed, at least since 4.1.8 it's okay with binary. +-- this is esp. needed for mysql 4.1.0 up to 4.1.6. +-- not yet confirmed, at least since 4.1.8 it's okay with binary. -- pagename VARCHAR(100) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, -- otherwise use the old syntax to do case-sensitive comparison pagename VARCHAR(100) BINARY NOT NULL, @@ -100,24 +101,30 @@ CREATE TABLE rating ( tstamp TIMESTAMP(14) NOT NULL, PRIMARY KEY (dimension, raterpage, rateepage) ); +-- for empty dimensions use extra indices. see lib/wikilens/RatingsDb.php +CREATE INDEX rating_dimension ON rating (dimension); +CREATE INDEX rating_raterpage ON rating (raterpage); +CREATE INDEX rating_rateepage ON rating (rateepage); +-- if ACCESS_LOG_SQL > 0 -- only if you need fast log-analysis (spam prevention, recent referrers) -- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178 CREATE TABLE accesslog ( - time_stamp int unsigned, - remote_host varchar(50), - remote_user varchar(50), - request_method varchar(10), - request_line varchar(255), - request_args varchar(255), - request_file varchar(255), - request_uri varchar(255), - request_time char(28), - status smallint unsigned, - bytes_sent smallint unsigned, - referer varchar(255), - agent varchar(255), - request_duration float + time_stamp INT UNSIGNED, + remote_host VARCHAR(50), + remote_user VARCHAR(50), + request_method VARCHAR(10), + request_line VARCHAR(255), + request_args VARCHAR(255), + request_file VARCHAR(255), + request_uri VARCHAR(255), + request_time CHAR(28), + status SMALLINT UNSIGNED, + bytes_sent SMALLINT UNSIGNED, + referer VARCHAR(255), + agent VARCHAR(255), + request_duration FLOAT ); CREATE INDEX log_time ON accesslog (time_stamp); CREATE INDEX log_host ON accesslog (remote_host); +-- create extra indices on demand (usually referer. see plugin/AccessLogSql) \ No newline at end of file diff --git a/schemas/oci8-destroy.sql b/schemas/oci8-destroy.sql index 43a7b455b..9da94384b 100644 --- a/schemas/oci8-destroy.sql +++ b/schemas/oci8-destroy.sql @@ -1,4 +1,4 @@ --- $Id: oci8-destroy.sql,v 1.1 2004-07-22 16:50:07 dfrankow Exp $ +-- $Id: oci8-destroy.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ set verify off set feedback off @@ -37,41 +37,16 @@ prompt overwriting existing tables. prompt define page_tbl=&prefix.page -define page_id=&prefix.page_id -define page_nm=&prefix.page_nm - define version_tbl=&prefix.version -define vers_id=&prefix.vers_id -define vers_mtime=&prefix.vers_mtime - define recent_tbl=&prefix.recent -define recent_id=&prefix.recent_id - define nonempty_tbl=&prefix.nonempty -define nonmt_id=&prefix.nonmt_id - define link_tbl=&prefix.link -define link_from=&prefix.link_from -define link_to=&prefix.link_to - define session_tbl=&prefix.session -define sess_id=&prefix.sess_id -define sess_date=&prefix.sess_date -define sess_ip=&prefix.sess_ip - define pref_tbl=&prefix.pref -define pref_id=&prefix.pref_id - define user_tbl=&prefix.user -define user_id=&prefix.user_id - define member_tbl=&prefix.member -define member_userid=&prefix.member_userid -define member_groupname=&prefix.member_groupname - define rating_tbl=&prefix.rating -define rating_id=&prefix.rating_id - +define accesslog_tbl=&prefix.accesslog prompt Dropping &page_tbl DROP TABLE &page_tbl; @@ -110,3 +85,6 @@ DROP TABLE &member_tbl; -- if you plan to use the wikilens theme prompt Dropping &rating_tbl DROP TABLE &rating_tbl; + +prompt Dropping &accesslog_tbl +DROP TABLE &accesslog_tbl; diff --git a/schemas/oci8-initialize.sql b/schemas/oci8-initialize.sql index 94f2324bb..69ec83419 100644 --- a/schemas/oci8-initialize.sql +++ b/schemas/oci8-initialize.sql @@ -1,4 +1,4 @@ --- $Id: oci8-initialize.sql,v 1.1 2004-07-22 16:50:07 dfrankow Exp $ +-- $Id: oci8-initialize.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ set verify off set feedback off @@ -71,7 +71,13 @@ define member_groupname=&prefix.member_groupname define rating_tbl=&prefix.rating define rating_id=&prefix.rating_id +define rating_dimension=&prefix.rating_dimension +define rating_raterpage=&prefix.rating_raterpage +define rating_rateepage=&prefix.rating_rateepage +define accesslog_tbl=&prefix.accesslog +define accesslog_time=&prefix.log_time +define accesslog_host=&prefix.log_host prompt Creating &page_tbl CREATE TABLE &page_tbl ( @@ -79,6 +85,7 @@ CREATE TABLE &page_tbl ( pagename VARCHAR(100) NOT NULL, hits INT DEFAULT 0 NOT NULL, pagedata CLOB DEFAULT '', + cached_html CLOB DEFAULT '', -- added with 1.3.11 CONSTRAINT &page_id PRIMARY KEY (id), CONSTRAINT &page_nm UNIQUE (pagename) ); @@ -171,3 +178,29 @@ CREATE TABLE &rating_tbl ( tstamp TIMESTAMP NOT NULL, CONSTRAINT &rating_id PRIMARY KEY (dimension, raterpage, rateepage) ); +CREATE INDEX &rating_dimension ON &rating_tbl (dimension); +CREATE INDEX &rating_raterpage ON &rating_tbl (raterpage); +CREATE INDEX &rating_rateepage ON &rating_tbl (rateepage); + +-- if ACCESS_LOG_SQL > 0 +-- only if you need fast log-analysis (spam prevention, recent referrers) +-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178 +prompt Creating &accesslog_tbl +CREATE TABLE &accesslog_tbl ( + time_stamp INT UNSIGNED, + remote_host VARCHAR(50), + remote_user VARCHAR(50), + request_method VARCHAR(10), + request_line VARCHAR(255), + request_args VARCHAR(255), + request_file VARCHAR(255), + request_uri VARCHAR(255), + request_time CHAR(28), + status SMALLINT UNSIGNED, + bytes_sent SMALLINT UNSIGNED, + referer VARCHAR(255), + agent VARCHAR(255), + request_duration FLOAT +); +CREATE INDEX &accesslog_time ON &accesslog_tbl (time_stamp); +CREATE INDEX &accesslog_host ON &accesslog_tbl (remote_host); diff --git a/schemas/psql-destroy.sql b/schemas/psql-destroy.sql index f9bfe6e68..13401430c 100644 --- a/schemas/psql-destroy.sql +++ b/schemas/psql-destroy.sql @@ -1,4 +1,4 @@ --- $Id: psql-destroy.sql,v 1.1 2004-07-22 16:49:20 dfrankow Exp $ +-- $Id: psql-destroy.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ \set QUIET @@ -20,7 +20,7 @@ -- Commonly, connections from php are made under -- the user name of 'nobody', 'apache' or 'www'. -\set httpd_user 'rurban' +\set httpd_user 'www' --================================================================ -- @@ -38,30 +38,16 @@ \echo 'overwriting existing tables.' \set page_tbl :prefix 'page' -\set page_id :prefix 'page_id' -\set page_nm :prefix 'page_nm' - \set version_tbl :prefix 'version' -\set vers_id :prefix 'vers_id' -\set vers_mtime :prefix 'vers_mtime' - \set recent_tbl :prefix 'recent' -\set recent_id :prefix 'recent_id' - \set nonempty_tbl :prefix 'nonempty' -\set nonmt_id :prefix 'nonmt_id' - \set link_tbl :prefix 'link' -\set link_from :prefix 'link_from' -\set link_to :prefix 'link_to' - \set session_tbl :prefix 'session' -\set sess_id :prefix 'sess_id' -\set sess_date :prefix 'sess_date' -\set sess_ip :prefix 'sess_ip' - \set pref_tbl :prefix 'pref' -\set pref_id :prefix 'pref_id' +-- \set user_tbl :prefix 'user' +-- \set member_tbl :prefix 'member' +\set rating_tbl :prefix 'rating' +\set accesslog_tbl :prefix 'accesslog' \echo Dropping :page_tbl DROP TABLE :page_tbl; @@ -81,9 +67,15 @@ DROP TABLE :link_tbl; \echo Dropping :session_tbl DROP TABLE :session_tbl; --- Optional DB Auth and Prefs --- For these tables below the default table prefix must be used --- in the DBAuthParam SQL statements also. - \echo Dropping :pref_tbl DROP TABLE :pref_tbl; + +-- DROP TABLE :user_tbl; +-- DROP TABLE :member_tbl; + +\echo Dropping :rating_tbl +DROP TABLE :rating_tbl; + +\echo Dropping :accesslog_tbl +DROP TABLE :accesslog_tbl; + diff --git a/schemas/psql-initialize.sql b/schemas/psql-initialize.sql index c1753297f..af3722beb 100644 --- a/schemas/psql-initialize.sql +++ b/schemas/psql-initialize.sql @@ -1,4 +1,4 @@ --- $Id: psql-initialize.sql,v 1.1 2004-07-22 16:49:20 dfrankow Exp $ +-- $Id: psql-initialize.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ \set QUIET @@ -63,12 +63,19 @@ \set pref_tbl :prefix 'pref' \set pref_id :prefix 'pref_id' +\set rating_tbl :prefix 'rating' + +\set accesslog_tbl :prefix 'accesslog' +\set accesslog_time :prefix 'log_time' +\set accesslog_host :prefix 'log_host' + \echo Creating :page_tbl CREATE TABLE :page_tbl ( id INT NOT NULL, pagename VARCHAR(100) NOT NULL, hits INT NOT NULL DEFAULT 0, - pagedata TEXT NOT NULL DEFAULT '' + pagedata TEXT NOT NULL DEFAULT '', + cached_html TEXT DEFAULT '' -- added with 1.3.11 ); CREATE UNIQUE INDEX :page_id ON :page_tbl (id); CREATE UNIQUE INDEX :page_nm ON :page_tbl (pagename); @@ -133,10 +140,55 @@ CREATE TABLE :pref_tbl ( ); CREATE UNIQUE INDEX :pref_id ON :pref_tbl (userid); -GRANT ALL ON :page_tbl TO :httpd_user; -GRANT ALL ON :version_tbl TO :httpd_user; -GRANT ALL ON :recent_tbl TO :httpd_user; -GRANT ALL ON :nonempty_tbl TO :httpd_user; -GRANT ALL ON :link_tbl TO :httpd_user; -GRANT ALL ON :session_tbl TO :httpd_user; -GRANT ALL ON :pref_tbl TO :httpd_user; +-- Use the user and member tables - if you need them - from the other schemas +-- and adjust your DBAUTH_AUTH_ SQL statements + +-- if you plan to use the wikilens theme +\echo Creating :rating_tbl +CREATE TABLE :rating_tbl ( + dimension NUMBER(4) NOT NULL, + raterpage NUMBER(11) NOT NULL, + rateepage NUMBER(11) NOT NULL, + ratingvalue FLOAT NOT NULL, + rateeversion NUMBER(11) NOT NULL, + tstamp TIMESTAMP NOT NULL +); +CREATE UNIQUE INDEX :rating_id ON :rating_tbl (dimension, raterpage, rateepage); + +-- if ACCESS_LOG_SQL > 0 +-- only if you need fast log-analysis (spam prevention, recent referrers) +-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178 +\echo Creating :accesslog_tbl +CREATE TABLE :accesslog_tbl ( + time_stamp INT UNSIGNED, + remote_host VARCHAR(50), + remote_user VARCHAR(50), + request_method VARCHAR(10), + request_line VARCHAR(255), + request_args VARCHAR(255), + request_file VARCHAR(255), + request_uri VARCHAR(255), + request_time CHAR(28), + status SMALLINT UNSIGNED, + bytes_sent SMALLINT UNSIGNED, + referer VARCHAR(255), + agent VARCHAR(255), + request_duration FLOAT +); +CREATE INDEX :accesslog_time ON :accesslog_tbl (time_stamp); +CREATE INDEX :accesslog_host ON :accesslog_tbl (remote_host); +-- create extra indices on demand (usually referer. see plugin/AccessLogSql) + +GRANT SELECT,INSERT,UPDATE,DELETE ON :page_tbl TO :httpd_user; +GRANT SELECT,INSERT,UPDATE,DELETE ON :version_tbl TO :httpd_user; +GRANT SELECT,INSERT,UPDATE,DELETE ON :recent_tbl TO :httpd_user; +GRANT SELECT,INSERT,UPDATE,DELETE ON :nonempty_tbl TO :httpd_user; +GRANT SELECT,INSERT,UPDATE,DELETE ON :link_tbl TO :httpd_user; + +GRANT SELECT,INSERT,UPDATE,DELETE ON :session_tbl TO :httpd_user; +-- you may want to fine tune this: +GRANT SELECT,INSERT,UPDATE,DELETE ON :pref_tbl TO :httpd_user; +-- GRANT SELECT ON :user_tbl TO :httpd_user; +-- GRANT SELECT ON :member_tbl TO :httpd_user; +GRANT SELECT,INSERT,UPDATE,DELETE ON :rating_tbl TO :httpd_user; +GRANT SELECT,INSERT,UPDATE,DELETE ON :accesslog_tbl TO :httpd_user; diff --git a/schemas/sqlite-destroy.sql b/schemas/sqlite-destroy.sql index 76d42760f..f56f25c95 100644 --- a/schemas/sqlite-destroy.sql +++ b/schemas/sqlite-destroy.sql @@ -1,5 +1,13 @@ -- http://www.hezmatt.org/~mpalmer/sqlite-phpwiki/sqlite.sql --- $Id: sqlite-destroy.sql,v 1.1 2004-07-22 16:49:20 dfrankow Exp $ +-- $Id: sqlite-destroy.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ --- Destroy not yet written ? +DROP TABLE page; +DROP TABLE version; +DROP TABLE recent; +DROP TABLE nonempty; +DROP TABLE link; +DROP TABLE session; +DROP TABLE pref; +DROP TABLE rating; +DROP TABLE accesslog; diff --git a/schemas/sqlite-initialize.sql b/schemas/sqlite-initialize.sql index 93655930f..023c6391a 100644 --- a/schemas/sqlite-initialize.sql +++ b/schemas/sqlite-initialize.sql @@ -1,14 +1,14 @@ -- http://www.hezmatt.org/~mpalmer/sqlite-phpwiki/sqlite.sql --- $Id: sqlite-initialize.sql,v 1.1 2004-07-22 16:49:20 dfrankow Exp $ +-- $Id: sqlite-initialize.sql,v 1.2 2005-02-27 09:33:05 rurban Exp $ CREATE TABLE page ( id INTEGER PRIMARY KEY, pagename VARCHAR(100) NOT NULL, hits INTEGER NOT NULL DEFAULT 0, - pagedata MEDIUMTEXT NOT NULL DEFAULT '' + pagedata MEDIUMTEXT NOT NULL DEFAULT '', + cached_html MEDIUMTEXT -- added with 1.3.11 ); - CREATE UNIQUE INDEX page_index ON page (pagename); CREATE TABLE version ( @@ -20,7 +20,6 @@ CREATE TABLE version ( versiondata MEDIUMTEXT NOT NULL DEFAULT '', PRIMARY KEY (id,version) ); - CREATE INDEX version_index ON version (mtime); CREATE TABLE recent ( @@ -39,17 +38,15 @@ CREATE TABLE link ( linkfrom INTEGER NOT NULL, linkto INTEGER NOT NULL ); - CREATE INDEX linkfrom_index ON link (linkfrom); CREATE INDEX linkto_index ON link (linkto); CREATE TABLE session ( sess_id CHAR(32) NOT NULL DEFAULT '' PRIMARY KEY, - sess_data BLOB NOT NULL, + sess_data MEDIUMTEXT NOT NULL, sess_date INTEGER UNSIGNED NOT NULL, sess_ip CHAR(15) NOT NULL ); - CREATE INDEX sessdate_index ON session (sess_date); CREATE INDEX sessip_index ON session (sess_ip); @@ -61,3 +58,40 @@ CREATE TABLE pref ( userid CHAR(48) NOT NULL PRIMARY KEY, prefs TEXT NULL DEFAULT '' ); + +-- only if you plan to use the wikilens theme +CREATE TABLE rating ( + dimension TINYINTEGER NOT NULL, + raterpage INTEGER NOT NULL, + rateepage INTEGER NOT NULL, + ratingvalue FLOAT NOT NULL, + rateeversion INTEGER NOT NULL, + tstamp INTEGER UNSIGNED NOT NULL, + PRIMARY KEY (dimension, raterpage, rateepage) +); +CREATE INDEX rating_dimension ON rating (dimension); +CREATE INDEX rating_raterpage ON rating (raterpage); +CREATE INDEX rating_rateepage ON rating (rateepage); + +-- if ACCESS_LOG_SQL > 0 +-- only if you need fast log-analysis (spam prevention, recent referrers) +-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178 +CREATE TABLE accesslog ( + time_stamp INTEGER UNSIGNED, + remote_host VARCHAR(50), + remote_user VARCHAR(50), + request_method VARCHAR(10), + request_line VARCHAR(255), + request_args VARCHAR(255), + request_file VARCHAR(255), + request_uri VARCHAR(255), + request_time CHAR(28), + status TINYINTEGER UNSIGNED, + bytes_sent TINYINTEGER UNSIGNED, + referer VARCHAR(255), + agent VARCHAR(255), + request_duration FLOAT +); +CREATE INDEX log_time ON accesslog (time_stamp); +CREATE INDEX log_host ON accesslog (remote_host); +-- create extra indices on demand (usually referer. see plugin/AccessLogSql) -- 2.45.0