You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Сейчас выборка идет последовательностью из 2-х SQL запросов
через вызов интерфейсных функций is_download_tth и is_known_file
В окне поиска
else if (CFlylinkDBManager::getInstance()->is_download_tth(sr->getTTH()))
columns[COLUMN_LOCAL_PATH] = TSTRING(I_DOWNLOADED_THIS_FILE);
else if (CFlylinkDBManager::getInstance()->is_known_file(sr->getTTH()))
columns[COLUMN_LOCAL_PATH] = TSTRING(THIS_FILE_WAS_IN_MY_SHARE);
В окне просмотра шары
if (CFlylinkDBManager::getInstance()->is_download_tth(f->getTTH()))
f->setFlag(DirectoryListing::FLAG_DOWNLOAD);
else if (CFlylinkDBManager::getInstance()->is_known_file(f->getTTH()))
f->setFlag(DirectoryListing::FLAG_OLD_TTH);
В результате в базу летит запрос вида
select count(*) from fly_tth where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
если ничего не нашли, то идет второй запрос
select id from fly_hash where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
TODO - переделать на посылку одного SQL запроса вида
select 1 from fly_tth where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
union all
select 2 from fly_hash where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
с анализом курсора и возвратом 2-х флажков.
изменение позволит сократить кол-вл транзакций к базе
и более оптимально получать результат в большинстве случаев
From Pavel.Pimenov@gmail.com on May 21, 2013 14:06:59
Сейчас выборка идет последовательностью из 2-х SQL запросов
через вызов интерфейсных функций is_download_tth и is_known_file
В окне поиска
else if (CFlylinkDBManager::getInstance()->is_download_tth(sr->getTTH()))
columns[COLUMN_LOCAL_PATH] = TSTRING(I_DOWNLOADED_THIS_FILE);
else if (CFlylinkDBManager::getInstance()->is_known_file(sr->getTTH()))
columns[COLUMN_LOCAL_PATH] = TSTRING(THIS_FILE_WAS_IN_MY_SHARE);
В окне просмотра шары
В результате в базу летит запрос вида
select count(*) from fly_tth where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
если ничего не нашли, то идет второй запрос
select id from fly_hash where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
TODO - переделать на посылку одного SQL запроса вида
select 1 from fly_tth where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
union all
select 2 from fly_hash where tth=x'27f929fe7ca5fe04e2a9931c29570234fc84bb437073f408'
с анализом курсора и возвратом 2-х флажков.
изменение позволит сократить кол-вл транзакций к базе
и более оптимально получать результат в большинстве случаев
Original issue: http://code.google.com/p/flylinkdc/issues/detail?id=1040
The text was updated successfully, but these errors were encountered: