STATEMENT_CREATE_VIRTUAL_WIKI_TABLE = \ CREATE TABLE jam_virtual_wiki ( \ virtual_wiki_id INTEGER NOT NULL, \ virtual_wiki_name VARCHAR(100) NOT NULL, \ default_topic_name VARCHAR(200) NOT NULL, \ create_date DATETIME DEFAULT GETDATE() NOT NULL, \ CONSTRAINT jam_pk_vwiki PRIMARY KEY (virtual_wiki_id), \ CONSTRAINT jam_unique_vwiki_name UNIQUE (virtual_wiki_name) \ ) STATEMENT_CREATE_WIKI_USER_TABLE = \ CREATE TABLE jam_wiki_user ( \ wiki_user_id INTEGER NOT NULL, \ login VARCHAR(100) NOT NULL, \ display_name VARCHAR(100), \ create_date DATETIME DEFAULT GETDATE() NOT NULL, \ last_login_date DATETIME DEFAULT GETDATE() NOT NULL, \ create_ip_address VARCHAR(15) NOT NULL, \ last_login_ip_address VARCHAR(15) NOT NULL, \ is_admin INTEGER DEFAULT 0 NOT NULL, \ CONSTRAINT jam_pk_wiki_user PRIMARY KEY (wiki_user_id) \ ) STATEMENT_CREATE_WIKI_USER_LOGIN_INDEX = \ CREATE UNIQUE INDEX jam_unique_wiki_user_login on jam_wiki_user (login) STATEMENT_CREATE_TOPIC_TABLE = \ CREATE TABLE jam_topic ( \ topic_id INTEGER NOT NULL, \ virtual_wiki_id INTEGER NOT NULL, \ topic_name VARCHAR(200) NOT NULL, \ delete_date DATETIME, \ topic_read_only INTEGER DEFAULT 0 NOT NULL, \ topic_admin_only INTEGER DEFAULT 0 NOT NULL, \ topic_content TEXT, \ topic_type INTEGER NOT NULL, \ redirect_to VARCHAR(200), \ CONSTRAINT jam_pk_topic PRIMARY KEY (topic_id), \ CONSTRAINT jam_fk_topic_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), \ CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id) \ ) STATEMENT_CREATE_TOPIC_VERSION_TABLE = \ CREATE TABLE jam_topic_version ( \ topic_version_id INTEGER NOT NULL, \ topic_id INTEGER NOT NULL, \ edit_comment VARCHAR(200), \ version_content TEXT, \ wiki_user_id INTEGER, \ wiki_user_ip_address VARCHAR(15) NOT NULL, \ edit_date DATETIME DEFAULT GETDATE() NOT NULL, \ edit_type INTEGER NOT NULL, \ previous_topic_version_id INTEGER, \ CONSTRAINT jam_pk_topic_ver PRIMARY KEY (topic_version_id), \ CONSTRAINT jam_fk_topic_ver_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), \ CONSTRAINT jam_fk_topic_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), \ CONSTRAINT jam_fk_topic_ver_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id) \ ) STATEMENT_CREATE_WIKI_FILE_TABLE = \ CREATE TABLE jam_file ( \ file_id INTEGER NOT NULL, \ virtual_wiki_id INTEGER NOT NULL, \ file_name VARCHAR(200) NOT NULL, \ delete_date DATETIME, \ file_read_only INTEGER DEFAULT 0 NOT NULL, \ file_admin_only INTEGER DEFAULT 0 NOT NULL, \ file_url VARCHAR(200) NOT NULL, \ mime_type VARCHAR(100) NOT NULL, \ topic_id INTEGER NOT NULL, \ file_size INTEGER NOT NULL, \ CONSTRAINT jam_pk_file PRIMARY KEY (file_id), \ CONSTRAINT jam_fk_file_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), \ CONSTRAINT jam_fk_file_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), \ CONSTRAINT jam_unique_file_url UNIQUE (file_url), \ CONSTRAINT jam_unique_file_topic_vwiki UNIQUE (virtual_wiki_id, topic_id) \ ) STATEMENT_CREATE_WIKI_FILE_VERSION_TABLE = \ CREATE TABLE jam_file_version ( \ file_version_id INTEGER NOT NULL, \ file_id INTEGER NOT NULL, \ upload_comment VARCHAR(200), \ file_url VARCHAR(200) NOT NULL, \ wiki_user_id INTEGER, \ wiki_user_ip_address VARCHAR(15) NOT NULL, \ upload_date DATETIME DEFAULT GETDATE() NOT NULL, \ mime_type VARCHAR(100) NOT NULL, \ file_size INTEGER NOT NULL, \ CONSTRAINT jam_pk_file_ver PRIMARY KEY (file_version_id), \ CONSTRAINT jam_fk_file_ver_file FOREIGN KEY (file_id) REFERENCES jam_file(file_id), \ CONSTRAINT jam_fk_file_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), \ CONSTRAINT jam_unique_file_ver_url UNIQUE (file_url) \ ) STATEMENT_CREATE_RECENT_CHANGE_TABLE = \ CREATE TABLE jam_recent_change ( \ topic_version_id INTEGER NOT NULL, \ previous_topic_version_id INTEGER, \ topic_id INTEGER NOT NULL, \ topic_name VARCHAR(200) NOT NULL, \ edit_date DATETIME DEFAULT GETDATE() NOT NULL, \ edit_comment VARCHAR(200), \ wiki_user_id INTEGER, \ display_name VARCHAR(200) NOT NULL, \ edit_type INTEGER NOT NULL, \ virtual_wiki_id INTEGER NOT NULL, \ virtual_wiki_name VARCHAR(100) NOT NULL, \ CONSTRAINT jam_pk_rchange PRIMARY KEY (topic_version_id), \ CONSTRAINT jam_fk_rchange_topic_ver FOREIGN KEY (topic_version_id) REFERENCES jam_topic_version(topic_version_id), \ CONSTRAINT jam_fk_rchange_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id), \ CONSTRAINT jam_fk_rchange_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), \ CONSTRAINT jam_fk_rchange_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), \ CONSTRAINT jam_fk_rchange_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) \ ) STATEMENT_SELECT_CATEGORIES = \ select * from ( \ select top ? * from ( \ select top ? distinct jam_category.category_name, jam_category.sort_key \ from jam_topic, jam_category \ where jam_topic.topic_id = jam_category.child_topic_id \ and jam_topic.virtual_wiki_id = ? \ order by sort_key \ ) a \ order by sort_key desc \ ) b \ order by sort_key STATEMENT_SELECT_RECENT_CHANGES = \ select * from ( \ select top ? * from ( \ select top ? * from jam_recent_change \ where virtual_wiki_name = ? \ order by edit_date desc \ ) a \ order by edit_date \ ) b \ order by edit_date desc STATEMENT_SELECT_RECENT_CHANGES_TOPIC = \ select * from ( \ select top ? * from ( \ select top ? * from jam_recent_change \ where topic_id = ? \ order by edit_date desc \ ) a \ order by edit_date \ ) b \ order by edit_date desc STATEMENT_SELECT_TOPIC_BY_TYPE = \ select * from ( \ select top ? * from ( \ select top ? topic_name \ from jam_topic \ where virtual_wiki_id = ? \ and topic_type = ? \ and delete_date is null \ order by topic_name \ ) a \ order by topic_name desc \ ) b \ order by topic_name STATEMENT_SELECT_WIKI_USER_CHANGES_ANONYMOUS = \ select * from ( \ select top ? * from ( \ select top ? \ jam_topic_version.topic_version_id, jam_topic_version.topic_id, \ jam_topic_version.previous_topic_version_id, jam_topic.topic_name, \ jam_topic_version.edit_date, jam_topic_version.edit_comment, \ jam_topic_version.wiki_user_id, jam_topic_version.edit_type, \ jam_topic_version.wiki_user_ip_address as display_name, \ jam_topic.virtual_wiki_id, jam_virtual_wiki.virtual_wiki_name \ from jam_topic, jam_virtual_wiki, jam_topic_version \ where jam_virtual_wiki.virtual_wiki_id = jam_topic.virtual_wiki_id \ and jam_topic.topic_id = jam_topic_version.topic_id \ and jam_virtual_wiki.virtual_wiki_name = ? \ and jam_topic_version.wiki_user_ip_address = ? \ and jam_topic_version.wiki_user_id is null \ and (jam_topic.delete_date is null or jam_topic_version.edit_type = 5) \ order by edit_date desc \ ) a \ order by edit_date \ ) b \ order by edit_date desc STATEMENT_SELECT_WIKI_USER_CHANGES_LOGIN = \ select * from ( \ select top ? * from ( \ select top ? \ jam_topic_version.topic_version_id, jam_topic_version.topic_id, \ jam_topic_version.previous_topic_version_id, jam_topic.topic_name, \ jam_topic_version.edit_date, jam_topic_version.edit_comment, \ jam_topic_version.wiki_user_id, jam_topic_version.edit_type, \ jam_wiki_user.login as display_name, jam_topic.virtual_wiki_id, \ jam_virtual_wiki.virtual_wiki_name \ from jam_topic, jam_virtual_wiki, jam_topic_version, jam_wiki_user \ where jam_virtual_wiki.virtual_wiki_id = jam_topic.virtual_wiki_id \ and jam_wiki_user.wiki_user_id = jam_topic_version.wiki_user_id \ and jam_topic.topic_id = jam_topic_version.topic_id \ and jam_virtual_wiki.virtual_wiki_name = ? \ and jam_wiki_user.login = ? \ and (jam_topic.delete_date is null or jam_topic_version.edit_type = 5) \ order by edit_date desc \ ) a \ order by edit_date \ ) b \ order by edit_date desc