View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003298SAS.Планета[All Projects] Багpublic18-11-2017 18:3720-11-2017 18:23
Reporterrass 
Assigned Tozed 
PrioritynormalSeveritytweakReproducibilityalways
StatusresolvedResolutionfixed 
PlatformWindowsOS7OS VersionProfessional
Product Version.Nightly 
Target Version181221Fixed in Version181221 
Summary0003298: Зависание при поиске Метки
DescriptionНачиная с версии SAS.Planet.Nightly.171008.9712
При поиске через панель Поиск некоторой метки происходит зависание программы.
При том, что в предыдущей версии SAS.Planet.Nightly.170930.9710
эта метка находится. Но также замечаю, что в панели отображения поиска не все метки отображаются в соответствии с критерием поиска.

Метки хранятся в базе db3.

Предполагаю, но могу ошибаться, так как не знаю как устроен поиск, что
в программах до версии 171008.9712 не все метки отображались в панели поиска
из-за большого количества меток у меня (их более 70 тыс). А поиск в по БД идет в пределах, скажем так, 30 тыс строк.

ну а версиях программы начиная с 171008.9712 идет просто зависание.

Не знаю как даже это все описать словами.



TagsNo tags attached.
Attached Filesjpg file icon 19-11-2017 21-39-41.jpg [^] (456,881 bytes) 19-11-2017 19:47
jpg file icon 20-11-2017 15-21-49.jpg [^] (33,299 bytes) 20-11-2017 13:23

- Relationships

-  Notes
(0018193)
zed (manager)
19-11-2017 19:30

Как раз 2017-10-08 обновлялся компонент, через который у нас сделана работа с метками (mORMot) и библиотека SQLite. В самом SAS ничего в плане меток не менялось уже очень давно. Видимо, какой-то баг вылез или в компоненте или в библиотеке. Обновил и то и то до актуального состояния, тестируйте следующую ночнушку. Если проблема не уйдёт, будем копать глубже.

И да, у нас на результаты поиска стоит ограничение в 100 штук. Сам поиск у меня выполняется чуть ли не мгновенно, а вот вывод результатов в гуй сильно тормозит. К моменту, когда на экране появляется боковая панель, поиск уже закончен, а бегущие несколько секунд строчки в той панели, ни что иное, как не оптимизированный вывод результатов на экран.
(0018194)
rass (reporter)
19-11-2017 19:47
edited on: 19-11-2017 19:51

Все же решил, что грех на моей стороне, и он выплыл в версии 2017-10-08, после обновления компонента работы с БД.
Перелопатил всю БД, поудалял ненужные строки в таблицах в соответствии с вновь созданной db3 в Sas как образец.
Импортировал переработанную БД уже в версию SAS.Planet.Nightly.171117.9729.
Вроде бы поиск работает и программа не зависает.
И хотелось бы узнать структуру БД.
Какие таблицы за что отвечают (см. приложенный рис.)?

(0018195)
zed (manager)
19-11-2017 20:01

Названия вроде "говорящие". Вот тут есть комментарии (каждый класс - таблица в БД): u_MarkSystemORMModel.pas. Для RTree и FTS, SQLite создаёт ещё несколько служебных таблиц (все, что с нижним подчёркиванием в названии).

Ночная версия собралась, протестируйте уже и её.
(0018197)
rass (reporter)
20-11-2017 10:31
edited on: 20-11-2017 10:33

Спасибо за описание компонентов таблиц БД. Кое-какие моменты стали ясные.
Какая последняя ночная сборка? 2017-11-17? Да, я как раз в предыдущем сообщении писал, что тестировал свою БД на ней. Переработанная БД меток работает как надо. А исходная БД работала до версии 2017-10-08, но в тоже время не отражала все метки отвечающая поисковой строке, но и не подвисала программу при поиске их.

Вероятно, в исходной БД Меток, где-то была нарушена структура, или, еще более вероятнее, были какие-то символы в названии или описании меток, которые при прежней sqlite3.dll просто прерывали дальнейший поиск, что приводило к не отображению всех искомых меток, а в новой sqlite3.dll - приводит к зависанию.

БД формировалась многие годы, разными способами - импортами разных kml и других источников меток, перемещение и слияние категорий меток и другие действия. Поэтому и накопился бардак в структуре самой БД.

Инцидент можно закрыть.

(0018198)
zed (manager)
20-11-2017 10:40
edited on: 20-11-2017 10:41

Текущая ночнушка: 171119.9729. Крайнюю версию всегда можно посмотреть здесь. Там же можно и подписаться на e-mail уведомления о выходе новой сборки (требуется регистрация на том сайте).

Я так понимаю, у вас бэкапа неработающей БД не сохранилось?

(0018199)
rass (reporter)
20-11-2017 13:32
edited on: 20-11-2017 13:52

Отчего же, все сохранилось.
Вырезка исходной БД(кривой) https://yadi.sk/d/UqATOEQA3Prv9z
Для примера Рис.2 (исходные координаты рисунка N55.710442° E37.760010°)
поиск по этой БД в версии 171117.9729:
метку 12115 - находит
6569 - находит эту метку и еще одну в другом месте
3816 - изображенные на рисунке две метки не находит, находит третью, где-то в далеке
2059 и 3235 - зависает

(0018200)
zed (manager)
20-11-2017 13:40

Т.е. и 171119.9729 на ней зависает? Тогда, если пришлёте мне эту БД, могу попробовать выяснить, что там так глючит. Залейте её куда-нибудь на обменник, а мне ссылку на [email protected] пришлите.

БД внешними инструментами никак не изменяли? Всё только через SAS?
(0018201)
rass (reporter)
20-11-2017 13:52

ссылку на БД дал выше.
проверил в версии 171119, результат такой же, как описано выше.
БД в каких либо SQL редакторах ранее не правил.
все делал средствами SAS: либо вносил, либо экспортировал доступными к экспорту форматами.
(0018202)
zed (manager)
20-11-2017 13:57

Скачал БД и на 2059 удалось воспроизвести зависание. Буду смотреть.
(0018203)
rass (reporter)
20-11-2017 14:13

Спасибо.
Как я понимаю дело не в самой метке 2059, а пути перебора по БД к этой метке.
(0018204)
zed (manager)
20-11-2017 15:25
edited on: 20-11-2017 15:26

Да, дело не в метках и даже не в БД. Нашёл 2 бага в коде. Один в коде mORMot, который приводил к зависанию. Второй, в моём коде, который приводил к тому, что некоторые метки не находились, хотя в БД они были.

Подождём, когда в mORMot пофиксят баг (сегодня-завтра) и проблему можно будет считать решённой.

(0018205)
rass (reporter)
20-11-2017 15:41

Супер! Спасибо!

- Users who viewed this issue
User List Anonymous (1525x), rass (51x), onuff (2x), ygorigor (2x), vdemidov (9x), bk99 (1x), zed (23x), ingener (1x), eduard_m (1x)
Total Views 1615
Last View 04-08-2020 02:56

- Issue History
Date Modified Username Field Change
18-11-2017 18:37 rass New Issue
19-11-2017 19:30 zed Note Added: 0018193
19-11-2017 19:47 rass Note Added: 0018194
19-11-2017 19:47 rass File Added: 19-11-2017 21-39-41.jpg
19-11-2017 19:48 rass Note Edited: 0018194 View Revisions
19-11-2017 19:49 rass Note Edited: 0018194 View Revisions
19-11-2017 19:50 rass Note Edited: 0018194 View Revisions
19-11-2017 19:51 rass Note Edited: 0018194 View Revisions
19-11-2017 20:01 zed Note Added: 0018195
20-11-2017 07:49 vdemidov Status new => feedback
20-11-2017 10:31 rass Note Added: 0018197
20-11-2017 10:31 rass Status feedback => new
20-11-2017 10:32 rass Note Edited: 0018197 View Revisions
20-11-2017 10:33 rass Note Edited: 0018197 View Revisions
20-11-2017 10:33 rass Note Edited: 0018197 View Revisions
20-11-2017 10:40 zed Note Added: 0018198
20-11-2017 10:41 zed Note Edited: 0018198 View Revisions
20-11-2017 10:43 vdemidov Status new => feedback
20-11-2017 13:23 rass File Added: 20-11-2017 15-21-49.jpg
20-11-2017 13:32 rass Note Added: 0018199
20-11-2017 13:32 rass Status feedback => new
20-11-2017 13:34 rass Note Edited: 0018199 View Revisions
20-11-2017 13:40 zed Note Added: 0018200
20-11-2017 13:46 rass Note Edited: 0018199 View Revisions
20-11-2017 13:52 rass Note Added: 0018201
20-11-2017 13:52 rass Note Edited: 0018199 View Revisions
20-11-2017 13:57 zed Note Added: 0018202
20-11-2017 14:13 rass Note Added: 0018203
20-11-2017 15:25 zed Note Added: 0018204
20-11-2017 15:26 zed Assigned To => zed
20-11-2017 15:26 zed Status new => assigned
20-11-2017 15:26 zed Target Version => 181221
20-11-2017 15:26 zed Note Edited: 0018204 View Revisions
20-11-2017 15:41 rass Note Added: 0018205
20-11-2017 18:23 zed Status assigned => resolved
20-11-2017 18:23 zed Fixed in Version => 181221
20-11-2017 18:23 zed Resolution open => fixed



Copyright © 2007 - 2020 SAS.Planet Team