Changeset 39


Ignore:
Timestamp:
05/27/08 20:22:56 (4 years ago)
Author:
antonbatenev.ya.ru
Message:

"вытянуть всю базу" - исправление ошибки, добавление скрипта для дампа базы.

Location:
trunk
Files:
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/_dump_data.sh

    r13 r39  
    99 
    1010### 
    11 # скрипт дампа базы 
     11# скрипт дампа базы с данными 
    1212### 
    1313 
    14 mysqldump --user=root --add-drop-database --add-drop-table --databases --routines --triggers --create-options --no-data --quick --add-locks --result-file=avalon.sql avalon 
     14mysqldump --user root --add-drop-database --add-drop-table --databases --routines --triggers --create-options --complete-insert --order-by-primary --quick --add-locks --result-file=avalon_data.sql avalon 
  • trunk/form_main.cpp

    r38 r39  
    221221        // необходимо повторить операцию N раз, т.к. могут быть, например, оборваные ветки 
    222222 
    223         int count = -1; 
    224         int from  = 0; 
    225  
    226         const int count_per_request = 1000; 
    227  
    228         while (count != 0) 
     223        int from = 0; 
     224 
     225        int count_per_request = 1000; 
     226 
     227        while (from < 2966468) 
    229228        { 
    230229                // формирование списка загрузки 
     
    248247 
    249248                                if (idx != -1) 
     249                                        exists.removeAt(idx); 
     250                                else 
    250251                                { 
    251                                         exists.removeAt(idx); 
    252                                         continue; 
     252                                        ids.append(i); 
     253 
     254                                        if (ids.count() >= count_per_request) 
     255                                                break; 
    253256                                } 
    254  
    255                                 ids.append(i); 
    256  
    257                                 if (ids.count() == count_per_request) 
    258                                         break; 
    259                         } 
    260  
    261                         if (ids.count() > 0) 
     257                        } 
     258 
     259                        if (ids.count() > 0 && from < ids[ids.count() - 1] + 1) 
    262260                                from = ids[ids.count() - 1] + 1; 
    263261                        else 
    264262                                from += count_per_request; 
     263 
     264                        StatusBar->showMessage(QString::fromUtf8("обработано ") + QString::number(from) + QString::fromUtf8(" сообщений")); 
     265                        QCoreApplication::processEvents(); 
    265266                } 
    266267 
     
    295296                        } 
    296297 
    297                         count = list.Message.count() + list.Rating.count() + list.Moderate.count(); 
     298                        StatusBar->showMessage(""); 
    298299                } 
    299300                else 
    300                         return; 
     301                { 
     302                        StatusBar->showMessage(""); 
     303                        return; 
     304                } 
    301305        } 
    302306} 
  • trunk/storage/mysql_storage.cpp

    r37 r39  
    22712271        sql += "WHERE\n"; 
    22722272        sql += "        `id` >= " + QString::number(from_id) + " AND\n"; 
    2273         sql += "        `id` <  " + QString::number(to_id); 
     2273        sql += "        `id` <  " + QString::number(to_id) + "\n"; 
     2274        sql += "ORDER BY\n"; 
     2275        sql += "        `id`"; 
    22742276 
    22752277        std::auto_ptr<AQuery> query_select(CreateQuery(sql, false)); 
Note: See TracChangeset for help on using the changeset viewer.