1c1d8dc74SAndreas GohrCREATE TABLE `access` 2c1d8dc74SAndreas Gohr( 3c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 4*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 5c1d8dc74SAndreas Gohr `page` TEXT NOT NULL, 6c1d8dc74SAndreas Gohr `ip` TEXT NOT NULL, 7c1d8dc74SAndreas Gohr `ua` TEXT NOT NULL, 8c1d8dc74SAndreas Gohr `ua_info` TEXT NOT NULL, 9c1d8dc74SAndreas Gohr `ua_type` TEXT NOT NULL, 10c1d8dc74SAndreas Gohr `ua_ver` TEXT NOT NULL, 11c1d8dc74SAndreas Gohr `os` TEXT NOT NULL, 12c1d8dc74SAndreas Gohr `ref_md5` TEXT NOT NULL, 13c1d8dc74SAndreas Gohr `ref_type` TEXT NOT NULL, 14c1d8dc74SAndreas Gohr `ref` TEXT NOT NULL, 15c1d8dc74SAndreas Gohr `screen_x` INTEGER NOT NULL, 16c1d8dc74SAndreas Gohr `screen_y` INTEGER NOT NULL, 17c1d8dc74SAndreas Gohr `view_x` INTEGER NOT NULL, 18c1d8dc74SAndreas Gohr `view_y` INTEGER NOT NULL, 19c1d8dc74SAndreas Gohr `user` TEXT NOT NULL, 20c1d8dc74SAndreas Gohr `session` TEXT NOT NULL, 21c1d8dc74SAndreas Gohr `js` INTEGER NOT NULL DEFAULT 1, 22c1d8dc74SAndreas Gohr `uid` TEXT NOT NULL DEFAULT '' 23c1d8dc74SAndreas Gohr); 24c1d8dc74SAndreas GohrCREATE INDEX `idx_access_ref_type` ON `access` (`ref_type`); 25c1d8dc74SAndreas GohrCREATE INDEX `idx_access_page` ON `access` (`page`); 26c1d8dc74SAndreas GohrCREATE INDEX `idx_access_ref_md5` ON `access` (`ref_md5`); 27c1d8dc74SAndreas GohrCREATE INDEX `idx_access_dt` ON `access` (`dt`); 28c1d8dc74SAndreas GohrCREATE INDEX `idx_access_ua_type` ON `access` (`ua_type`); 29c1d8dc74SAndreas Gohr 30c1d8dc74SAndreas Gohr 31c1d8dc74SAndreas GohrCREATE TABLE `iplocation` 32c1d8dc74SAndreas Gohr( 33c1d8dc74SAndreas Gohr `ip` TEXT PRIMARY KEY, 34c1d8dc74SAndreas Gohr `code` TEXT NOT NULL, 35c1d8dc74SAndreas Gohr `country` TEXT NOT NULL, 36c1d8dc74SAndreas Gohr `city` TEXT NOT NULL, 37c1d8dc74SAndreas Gohr `host` TEXT NOT NULL, 38*d5ef99ddSAndreas Gohr `lastupd` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP 39c1d8dc74SAndreas Gohr); 40c1d8dc74SAndreas GohrCREATE INDEX `idx_iplocation_code` ON `iplocation` (`code`); 41c1d8dc74SAndreas Gohr 42c1d8dc74SAndreas GohrCREATE TABLE `outlinks` 43c1d8dc74SAndreas Gohr( 44c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 45*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 46c1d8dc74SAndreas Gohr `session` TEXT NOT NULL, 47c1d8dc74SAndreas Gohr `link_md5` TEXT NOT NULL, 48c1d8dc74SAndreas Gohr `link` TEXT NOT NULL, 49c1d8dc74SAndreas Gohr `page` TEXT NOT NULL DEFAULT '' 50c1d8dc74SAndreas Gohr); 51c1d8dc74SAndreas GohrCREATE INDEX `idx_outlinks_link_md5` ON `outlinks` (`link_md5`); 52c1d8dc74SAndreas GohrCREATE INDEX `idx_outlinks_dt` ON `outlinks` (`dt`); 53c1d8dc74SAndreas Gohr 54c1d8dc74SAndreas Gohr 55c1d8dc74SAndreas GohrCREATE TABLE `search` 56c1d8dc74SAndreas Gohr( 57c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 58*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 59c1d8dc74SAndreas Gohr `page` TEXT NOT NULL, 60c1d8dc74SAndreas Gohr `query` TEXT NOT NULL, 61c1d8dc74SAndreas Gohr `engine` TEXT NOT NULL 62c1d8dc74SAndreas Gohr); 63c1d8dc74SAndreas GohrCREATE INDEX `idx_search_engine` ON `search` (`engine`); 64c1d8dc74SAndreas GohrCREATE INDEX `idx_search_dt` ON `search` (`dt`); 65c1d8dc74SAndreas Gohr 66c1d8dc74SAndreas GohrCREATE TABLE `searchwords` 67c1d8dc74SAndreas Gohr( 68c1d8dc74SAndreas Gohr `sid` INTEGER NOT NULL, 69c1d8dc74SAndreas Gohr `word` TEXT NOT NULL, 70c1d8dc74SAndreas Gohr PRIMARY KEY (`sid`, `word`) 71c1d8dc74SAndreas Gohr); 72c1d8dc74SAndreas Gohr 73c1d8dc74SAndreas GohrCREATE TABLE `refseen` 74c1d8dc74SAndreas Gohr( 75c1d8dc74SAndreas Gohr `ref_md5` TEXT PRIMARY KEY, 76*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP 77c1d8dc74SAndreas Gohr); 78c1d8dc74SAndreas GohrCREATE INDEX `idx_refseen_dt` ON `refseen` (`dt`); 79c1d8dc74SAndreas Gohr 80c1d8dc74SAndreas GohrCREATE TABLE `edits` 81c1d8dc74SAndreas Gohr( 82c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 83*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 84c1d8dc74SAndreas Gohr `ip` TEXT NOT NULL, 85c1d8dc74SAndreas Gohr `user` TEXT NOT NULL, 86c1d8dc74SAndreas Gohr `session` TEXT NOT NULL, 87c1d8dc74SAndreas Gohr `uid` TEXT NOT NULL, 88c1d8dc74SAndreas Gohr `page` TEXT NOT NULL, 89c1d8dc74SAndreas Gohr `type` TEXT NOT NULL 90c1d8dc74SAndreas Gohr); 91c1d8dc74SAndreas GohrCREATE INDEX `idx_edits_dt` ON `edits` (`dt`); 92c1d8dc74SAndreas GohrCREATE INDEX `idx_edits_type` ON `edits` (`type`); 93c1d8dc74SAndreas Gohr 94c1d8dc74SAndreas Gohr 95c1d8dc74SAndreas GohrCREATE TABLE `session` 96c1d8dc74SAndreas Gohr( 97c1d8dc74SAndreas Gohr `session` TEXT PRIMARY KEY, 98*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 99c1d8dc74SAndreas Gohr `end` TEXT NOT NULL, 100c1d8dc74SAndreas Gohr `views` INTEGER NOT NULL, 101c1d8dc74SAndreas Gohr `uid` TEXT NOT NULL 102c1d8dc74SAndreas Gohr); 103c1d8dc74SAndreas GohrCREATE INDEX `idx_session_dt` ON `session` (`dt`); 104c1d8dc74SAndreas GohrCREATE INDEX `idx_session_views` ON `session` (`views`); 105c1d8dc74SAndreas GohrCREATE INDEX `idx_session_uid` ON `session` (`uid`); 106c1d8dc74SAndreas Gohr 107c1d8dc74SAndreas Gohr 108c1d8dc74SAndreas GohrCREATE TABLE `logins` 109c1d8dc74SAndreas Gohr( 110c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 111*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 112c1d8dc74SAndreas Gohr `ip` TEXT NOT NULL, 113c1d8dc74SAndreas Gohr `user` TEXT NOT NULL, 114c1d8dc74SAndreas Gohr `session` TEXT NOT NULL, 115c1d8dc74SAndreas Gohr `uid` TEXT NOT NULL, 116c1d8dc74SAndreas Gohr `type` TEXT NOT NULL 117c1d8dc74SAndreas Gohr); 118c1d8dc74SAndreas GohrCREATE INDEX `idx_logins_dt` ON `logins` (`dt`); 119c1d8dc74SAndreas GohrCREATE INDEX `idx_logins_type` ON `logins` (`type`); 120c1d8dc74SAndreas Gohr 121c1d8dc74SAndreas Gohr 122c1d8dc74SAndreas GohrCREATE TABLE `lastseen` 123c1d8dc74SAndreas Gohr( 124c1d8dc74SAndreas Gohr `user` TEXT PRIMARY KEY, 125*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP 126c1d8dc74SAndreas Gohr); 127c1d8dc74SAndreas Gohr 128c1d8dc74SAndreas GohrCREATE TABLE `media` 129c1d8dc74SAndreas Gohr( 130c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 131*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 132c1d8dc74SAndreas Gohr `media` TEXT NOT NULL, 133c1d8dc74SAndreas Gohr `ip` TEXT, 134c1d8dc74SAndreas Gohr `ua` TEXT NOT NULL, 135c1d8dc74SAndreas Gohr `ua_info` TEXT NOT NULL, 136c1d8dc74SAndreas Gohr `ua_type` TEXT NOT NULL, 137c1d8dc74SAndreas Gohr `ua_ver` TEXT NOT NULL, 138c1d8dc74SAndreas Gohr `os` TEXT NOT NULL, 139c1d8dc74SAndreas Gohr `user` TEXT NOT NULL, 140c1d8dc74SAndreas Gohr `session` TEXT NOT NULL, 141c1d8dc74SAndreas Gohr `uid` TEXT NOT NULL, 142c1d8dc74SAndreas Gohr `size` INTEGER NOT NULL, 143c1d8dc74SAndreas Gohr `mime1` TEXT NOT NULL, 144c1d8dc74SAndreas Gohr `mime2` TEXT NOT NULL, 145c1d8dc74SAndreas Gohr `inline` INTEGER NOT NULL 146c1d8dc74SAndreas Gohr); 147c1d8dc74SAndreas GohrCREATE INDEX `idx_media_media` ON `media` (`media`); 148c1d8dc74SAndreas GohrCREATE INDEX `idx_media_dt` ON `media` (`dt`); 149c1d8dc74SAndreas GohrCREATE INDEX `idx_media_ua_type` ON `media` (`ua_type`); 150c1d8dc74SAndreas GohrCREATE INDEX `idx_media_mime1` ON `media` (`mime1`); 151c1d8dc74SAndreas Gohr 152c1d8dc74SAndreas Gohr 153c1d8dc74SAndreas GohrCREATE TABLE `history` 154c1d8dc74SAndreas Gohr( 155c1d8dc74SAndreas Gohr `info` TEXT NOT NULL, 156*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 157c1d8dc74SAndreas Gohr `value` INTEGER NOT NULL, 158c1d8dc74SAndreas Gohr PRIMARY KEY (`info`, `dt`) 159c1d8dc74SAndreas Gohr); 160c1d8dc74SAndreas Gohr 161c1d8dc74SAndreas GohrCREATE TABLE `groups` 162c1d8dc74SAndreas Gohr( 163c1d8dc74SAndreas Gohr `id` INTEGER PRIMARY KEY, 164*d5ef99ddSAndreas Gohr `dt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 165c1d8dc74SAndreas Gohr `group` TEXT NOT NULL, 166c1d8dc74SAndreas Gohr `type` TEXT NOT NULL 167c1d8dc74SAndreas Gohr); 168c1d8dc74SAndreas GohrCREATE INDEX `idx_groups_dt` ON `groups` (`dt`); 169c1d8dc74SAndreas GohrCREATE INDEX `idx_groups_type` ON `groups` (`type`); 170c1d8dc74SAndreas Gohr 171c1d8dc74SAndreas Gohr 172c1d8dc74SAndreas Gohr 173c1d8dc74SAndreas Gohr 174c1d8dc74SAndreas Gohr 175c1d8dc74SAndreas Gohr 176c1d8dc74SAndreas Gohr 177c1d8dc74SAndreas Gohr 178c1d8dc74SAndreas Gohr 179