Changeset 36


Ignore:
Timestamp:
05/27/08 16:34:42 (4 years ago)
Author:
antonbatenev.ya.ru
Message:
  • ускоренный поиск оборванных веток и сообщений;
  • обработка мусорки;
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/avalon.sql

    r33 r36  
    33-- Host: localhost    Database: avalon 
    44-- ------------------------------------------------------ 
    5 -- Server version       5.0.51a 
     5-- Server version       5.0.45 
    66 
    77/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 
     
    3131 
    3232DROP TABLE IF EXISTS `forum`; 
    33 SET @saved_cs_client     = @@character_set_client; 
    34 SET character_set_client = utf8; 
    3533CREATE TABLE `forum` ( 
    3634  `id` int(11) NOT NULL COMMENT 'id', 
     
    4341  PRIMARY KEY  (`id`) 
    4442) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='список форумов'; 
    45 SET character_set_client = @saved_cs_client; 
    4643 
    4744-- 
     
    5047 
    5148DROP TABLE IF EXISTS `group`; 
    52 SET @saved_cs_client     = @@character_set_client; 
    53 SET character_set_client = utf8; 
    5449CREATE TABLE `group` ( 
    5550  `id` int(11) NOT NULL COMMENT 'id', 
     
    5853  PRIMARY KEY  (`id`) 
    5954) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='список групп форумов'; 
    60 SET character_set_client = @saved_cs_client; 
    6155 
    6256-- 
     
    6559 
    6660DROP TABLE IF EXISTS `message`; 
    67 SET @saved_cs_client     = @@character_set_client; 
    68 SET character_set_client = utf8; 
    6961CREATE TABLE `message` ( 
    7062  `id` int(11) NOT NULL COMMENT 'id сообщения', 
     
    8779  PRIMARY KEY  (`id`), 
    8880  KEY `ix_parent` (`id_parent`), 
    89   KEY `ix_topic` (`id_topic`) 
     81  KEY `ix_topic` (`id_topic`), 
     82  KEY `ix_forum` (`id_forum`) 
    9083) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='сообщения'; 
    91 SET character_set_client = @saved_cs_client; 
    9284 
    9385-- 
     
    9688 
    9789DROP TABLE IF EXISTS `moderate`; 
    98 SET @saved_cs_client     = @@character_set_client; 
    99 SET character_set_client = utf8; 
    10090CREATE TABLE `moderate` ( 
    10191  `id_message` int(11) NOT NULL COMMENT 'id сообщения', 
     
    10595  PRIMARY KEY  USING BTREE (`id_message`,`id_user`) 
    10696) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='таблица бомбочек'; 
    107 SET character_set_client = @saved_cs_client; 
    10897 
    10998-- 
     
    112101 
    113102DROP TABLE IF EXISTS `rating`; 
    114 SET @saved_cs_client     = @@character_set_client; 
    115 SET character_set_client = utf8; 
    116103CREATE TABLE `rating` ( 
    117104  `id_message` int(11) NOT NULL COMMENT 'id сообщения', 
     
    123110  PRIMARY KEY  (`id_message`,`id_user`) 
    124111) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='таблица рейтинга'; 
    125 SET character_set_client = @saved_cs_client; 
    126112 
    127113-- 
     
    130116 
    131117DROP TABLE IF EXISTS `row_version`; 
    132 SET @saved_cs_client     = @@character_set_client; 
    133 SET character_set_client = utf8; 
    134118CREATE TABLE `row_version` ( 
    135119  `key` varchar(100) NOT NULL COMMENT 'ключ версии', 
     
    137121  PRIMARY KEY  (`key`) 
    138122) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='версии данных'; 
    139 SET character_set_client = @saved_cs_client; 
    140123 
    141124-- 
     
    144127 
    145128DROP TABLE IF EXISTS `subscribed`; 
    146 SET @saved_cs_client     = @@character_set_client; 
    147 SET character_set_client = utf8; 
    148129CREATE TABLE `subscribed` ( 
    149130  `id_forum` int(11) NOT NULL COMMENT 'id форума', 
     
    151132  PRIMARY KEY  (`id_forum`) 
    152133) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='список форумов, на которые подписан пользователь'; 
    153 SET character_set_client = @saved_cs_client; 
    154134 
    155135-- 
     
    158138 
    159139DROP TABLE IF EXISTS `unread`; 
    160 SET @saved_cs_client     = @@character_set_client; 
    161 SET character_set_client = utf8; 
    162140CREATE TABLE `unread` ( 
    163141  `id_message` int(11) NOT NULL COMMENT 'id непрочитанного сообщения', 
     
    167145  PRIMARY KEY  (`id_message`) 
    168146) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='список непрочитанных сообщений'; 
    169 SET character_set_client = @saved_cs_client; 
    170147 
    171148-- 
     
    174151 
    175152DROP TABLE IF EXISTS `user`; 
    176 SET @saved_cs_client     = @@character_set_client; 
    177 SET character_set_client = utf8; 
    178153CREATE TABLE `user` ( 
    179154  `id` int(11) NOT NULL COMMENT 'id пользователя', 
     
    188163  PRIMARY KEY  (`id`) 
    189164) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='список пользователей'; 
    190 SET character_set_client = @saved_cs_client; 
    191165 
    192166-- 
     
    205179/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; 
    206180 
    207 -- Dump completed on 2008-05-26 17:29:26 
     181-- Dump completed on 2008-05-27 12:31:33 
  • trunk/storage/mysql_storage.cpp

    r34 r36  
    781781                info.IsFirst = query_subscribed_select->value(1).toInt(); 
    782782 
    783                 query.Forum.append(info); 
    784         } 
     783                if (info.IDForum != 0) 
     784                        query.Forum.append(info); 
     785        } 
     786 
     787        // 
     788        // составление списка подписаных форумов 
     789        // 
     790 
     791        QString ids; 
     792 
     793        for (int i = 0; i < query.Forum.count(); i++) 
     794                ids += QString::number(query.Forum[i].IDForum) + ", "; 
     795 
     796        ids += "0"; 
    785797 
    786798        // 
     
    803815        sql += "                FROM\n"; 
    804816        sql += "                        `message`\n"; 
    805         sql += "        )\n"; 
     817        sql += "        ) AND\n"; 
     818        sql += "        `id_forum` IN (" + ids + ")\n"; 
    806819        sql += "GROUP BY\n"; 
    807820        sql += "        `id`"; 
     
    839852        sql += "                FROM\n"; 
    840853        sql += "                        `message`\n"; 
    841         sql += "        )\n"; 
     854        sql += "        ) AND\n"; 
     855        sql += "        `id_forum` IN (" + ids + ")\n"; 
    842856        sql += "GROUP BY\n"; 
    843857        sql += "        `id_topic`"; 
  • trunk/webservice.cpp

    r25 r36  
    164164                list.append(group_info); 
    165165        } 
     166 
     167        // 
     168        // добавление "мусорки" 
     169        // 
     170 
     171        /* 
     172        AForumGroupInfo trash_group; 
     173 
     174        trash_group.Group.ID        = 0; 
     175        trash_group.Group.Name      = QString::fromUtf8("Корзина"); 
     176        trash_group.Group.SortOrder = 10000; 
     177 
     178        AForumInfo trash_forum; 
     179 
     180        trash_forum.ID        = 0; 
     181        trash_forum.IDGroup   = 0; 
     182        trash_forum.ShortName = "trash"; 
     183        trash_forum.Name      = QString::fromUtf8("Удаленные"); 
     184        trash_forum.Rated     = true; 
     185        trash_forum.InTop     = true; 
     186        trash_forum.RateLimit = 0; 
     187 
     188        trash_group.Forums.append(trash_forum); 
     189 
     190        list.append(trash_group); 
     191        */ 
    166192} 
    167193//---------------------------------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.