SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002809SAS.Планета[All Projects] Багpublic06-09-2015 16:1808-09-2015 15:26
ReporterTolik 
Assigned Tozed 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformWindowsOS7OS VersionUltimate
Product Version.Nightly 
Target Version150915Fixed in Version150915 
Summary0002809: Метки в SQLite3: не сохраняется выбор категорий при выходе
DescriptionSAS.Planet.Nightly.150905.9015.7z
Метки в SQLite3.
После перезапуска САС всегда выбрана куча разных категорий, одна и та же куча, непонятно, почему именно эта.
Steps To ReproduceСм. скриншоты.
1. Использую метки в SML (26 МБ), выбираю одну категорию, делаю экспорт всей базы в файл test1.db3
2. Добавляю эту базу
3. Переключаюсь на неё - выбраны все метки
4. Выбираю одну категорию
5. После выхода и входа выбрано много категорий.
Additional InformationЕсли переключиться в SML и обратно в SQLite3 - выбраны те же самые категории, как на 5-м скриншоте.
TagsNo tags attached.
Attached Filespng file icon 2015-09-06_190740.png [^] (17,465 bytes) 06-09-2015 16:19


png file icon 2015-09-06_190827.png [^] (7,861 bytes) 06-09-2015 16:20


png file icon 2015-09-06_190846.png [^] (14,904 bytes) 06-09-2015 16:20


png file icon 2015-09-06_190857.png [^] (17,315 bytes) 06-09-2015 16:20


png file icon 2015-09-06_190938.png [^] (14,924 bytes) 06-09-2015 16:21

- Relationships

-  Notes
(0016416)
Papazol (reporter)
06-09-2015 16:54

Подтверждаю. Выбор отображаемых меток программа делает сама по непонятному алгоритму.
(0016417)
zed (manager)
06-09-2015 18:00

Только при экспорте? Если базу создавать и заполнять вручную, проблем нет?
(0016418)
Tolik (manager)
06-09-2015 19:07
edited on: 06-09-2015 19:12

Ну, если добавить пару категорий, то нормально.
Если добавить пару десятков - не знаю.
Наверно, баг в экспорте.

(0016419)
zed (manager)
07-09-2015 06:50

Предлагаю сразу после экспорта, заглянуть в БД при помощи какой-нибудь внешней утилиты. Смотреть надо в таблицу CategoryView - там в колонке cvVisible будут булевые значения 0 - категория не видна, 1 - видна. Если категория в таблице отсутствует, то она видна по-умолчанию, т.е. пользователь ешё ни разу не изменял видимость этой категории вручную.

Соответственно, после импорта, эта таблица должна быть пустой. После отключения видимости у всех категорий, таблица заполнится категориями и в колонке cvVisible будет 0. Если какую-то категорию сделать видимой, там станет 1.

Если в БД всё именно так, значит проблема где-то в кэшировании на стороне SAS.

P.S. Таблицу CategoryView или её содержимое можно смело удалять вручную - она будет создана автоматически при новом запуске SAS.
(0016420)
zed (manager)
07-09-2015 06:57

Я выполняю все шаги описанные в "Шаги по воспроизведению" и у меня не воспроизводится. Может быть есть какая-то зависимость от количества категорий в корневой категории?
(0016421)
Papazol (reporter)
07-09-2015 07:37

Для ускорения процесса хорошо бы ссылку на внешнюю утилиту.
(0016422)
zed (manager)
07-09-2015 07:44

SQLiteStudio
(0016423)
Papazol (reporter)
07-09-2015 08:17
edited on: 07-09-2015 08:23

Ну в общем, так. Открыв БД сразу после экспорта, видим у всех категорий cvVisible=1. Потом в SASPlanet'е убираем/ставим галки на нужных категориях (я оставил видимыми две). Закрываем SASPlanet'у. Studio показывает, что у всех категорий cvVisible=0, а у двух (они в таблице последние) - 1. К сожалению, непонятно, какие именно категории имеют 1. Затем открываем SASPlanet'у. Вылезают кучи меток, которые не были отмечены галками. Если бы программа считывала видимость меток из БД, то показывала бы те две, у которых 1.

Непонятно, почему в таблице Category содержится (в моём случае) 35 категорий (они полностью соответствуют исходному списку из sml), а в таблице CategoryView только 20.

(0016424)
zed (manager)
07-09-2015 08:21

>Открыв БД сразу после экспорта, видим у всех категорий cvVisible=1
Странно, у меня таблица сразу после экспорта пустая.

>К сожалению, непонятно, какие именно категории имеют 1.
В колонке cvCategory записаны id категорий, по которым их можно найти в таблице Category.

>Если бы программа считывала видимость меток из БД, то показывала бы те две, у которых 1.
Ок, надо смотреть. Плохо, что оно ещё и не всегда воспроизводится.
(0016425)
Papazol (reporter)
07-09-2015 08:24

Количество категорий в двух таблицах разное...
(0016426)
zed (manager)
07-09-2015 08:30

В CategoryView содержатся записи только для тех категорий, которым вручную была изменена видимость. Как я уже писал, если категории в этой таблице нету, то она видима по дефолту. И теперь становится вдвойне непонятно: выходит что при экспорте некоторые категории таки попадают в эту таблицу, хотя не должны.

После экспорта все категории должны быть видимы, поскольку видимость категории (и метки) завязана на конкретного пользователя. А при импорте из sml никакой информации о юзере не передаётся, потому и устанавлявается видимость всех меток/категорий вне зависимости от того в каком они были состоянии в исходном sml.
(0016427)
Papazol (reporter)
07-09-2015 08:42

> выходит что при экспорте некоторые категории таки попадают в эту таблицу, хотя не должны

Это не так, потому что при экспорте я выбирал "Экспорт всех меток и категорий". Все они и экспортировались.
Разве установка/снятие галки "Все" не приводит к изменению видимости вручную? Изначально видимы действительно все, но если пару раз ткнуть "Все", галки со всех снимаются, следовательно, происходит изменение состояния для всех, и это должно записываться в БД.
(0016431)
zed (manager)
07-09-2015 13:13

>Это не так
Что-то я не понял. Вы же написали: "Открыв БД сразу после экспорта, видим у всех категорий cvVisible=1".
(0016432)
zed (manager)
07-09-2015 14:20
edited on: 07-09-2015 14:29

Ок, Tolik, Papazol воспроизведите баг на своей стороне вот на этом exe: https://yadi.sk/d/dwwQyaxsivVVB и пришлите мне все логи (появятся текстовые файлы в корне с программой).

(0016433)
Papazol (reporter)
07-09-2015 17:07

У меня получилось два лога. Они в архиве.

Насчёт "Это не так". Действительно, если при экспорте выбрать все метки (независимо от видимости), то не должно быть таких, которые экспортировались, хотя не должны были. Все были должны. И, если исходить из обозначенной логики процесса, в данном случае всё происходит правильно. Неправильно начинает быть потом, когда мы вручную пытаемся установить видимость нужных нам меток.

PS Два лога - это не всё. Получил ещё третий. Первый - сразу после экспорта БД. Программу закрыл, затем снова открыл. Подключил БД SQLite. Все метки отмечены как видимые (это правильно). Убрал галки со всех и установил на две, которые нужны. Программу закрыл. Появился второй лог. Снова открыл программу. В списке меток отмечено не две, а значительно больше (но не все). Закрыл программу. Появился третий лог. Логи в архиве Логи.zip.
(0016434)
zed (manager)
07-09-2015 20:43

Да, логи помогли - нашёл баг в методе TMarkCategoryDbImplORMHelper.SetAllCategoriesVisibleSQL. Завтра исправлю.
(0016435)
zed (manager)
08-09-2015 15:04

Тестируйте: https://yadi.sk/d/a6nRjIlhiww6p
(0016436)
Tolik (manager)
08-09-2015 15:22

Проблема решена, спасибо.
(0016437)
Tolik (manager)
08-09-2015 15:24

Также ушла проблема, что после перезапуска нет ни одной базы.
(0016438)
zed (manager)
08-09-2015 15:25

>Также ушла проблема, что после перезапуска нет ни одной базы.
Не трогал, так что она скорее всего спряталась, а не ушла :)

- Users who viewed this issue
User List Anonymous (3919x), Alezy80 (1x), anf (1x), zed (37x), zarius (1x), Alexander (1x), bk99 (3x), Tolik (23x), vdemidov (20x), Papazol (17x), Garl (1x)
Total Views 4024
Last View 29-03-2024 13:19

- Issue History
Date Modified Username Field Change
06-09-2015 16:18 Tolik New Issue
06-09-2015 16:19 Tolik File Added: 2015-09-06_190740.png
06-09-2015 16:20 Tolik File Added: 2015-09-06_190827.png
06-09-2015 16:20 Tolik File Added: 2015-09-06_190846.png
06-09-2015 16:20 Tolik File Added: 2015-09-06_190857.png
06-09-2015 16:21 Tolik File Added: 2015-09-06_190938.png
06-09-2015 16:23 Tolik Additional Information Updated View Revisions
06-09-2015 16:26 Tolik Steps to Reproduce Updated View Revisions
06-09-2015 16:28 Tolik Summary Метки в mysql: не сохраняется выбор категорий при выходе => Метки в SQLite3: не сохраняется выбор категорий при выходе
06-09-2015 16:28 Tolik Description Updated View Revisions
06-09-2015 16:28 Tolik Additional Information Updated View Revisions
06-09-2015 16:54 Papazol Note Added: 0016416
06-09-2015 18:00 zed Note Added: 0016417
06-09-2015 19:07 Tolik Note Added: 0016418
06-09-2015 19:08 Tolik Note Edited: 0016418 View Revisions
06-09-2015 19:12 Tolik Note Edited: 0016418 View Revisions
07-09-2015 06:50 zed Note Added: 0016419
07-09-2015 06:57 zed Note Added: 0016420
07-09-2015 07:37 Papazol Note Added: 0016421
07-09-2015 07:44 zed Note Added: 0016422
07-09-2015 08:17 Papazol Note Added: 0016423
07-09-2015 08:21 zed Note Added: 0016424
07-09-2015 08:23 Papazol Note Edited: 0016423 View Revisions
07-09-2015 08:24 Papazol Note Added: 0016425
07-09-2015 08:30 zed Note Added: 0016426
07-09-2015 08:42 Papazol Note Added: 0016427
07-09-2015 13:13 zed Note Added: 0016431
07-09-2015 14:20 zed Note Added: 0016432
07-09-2015 14:29 zed Note Edited: 0016432 View Revisions
07-09-2015 15:02 vdemidov Target Version => 150915
07-09-2015 15:07 vdemidov Status new => feedback
07-09-2015 16:56 Papazol File Added: SASPlanet.zip
07-09-2015 17:07 Papazol Note Added: 0016433
07-09-2015 17:08 Papazol File Added: Логи.zip
07-09-2015 20:43 zed Note Added: 0016434
07-09-2015 20:43 zed Assigned To => zed
07-09-2015 20:43 zed Status feedback => assigned
08-09-2015 15:04 zed Note Added: 0016435
08-09-2015 15:04 zed Status assigned => feedback
08-09-2015 15:22 Tolik Note Added: 0016436
08-09-2015 15:22 Tolik Status feedback => assigned
08-09-2015 15:24 Tolik Note Added: 0016437
08-09-2015 15:25 zed Note Added: 0016438
08-09-2015 15:25 zed File Deleted: SASPlanet.zip
08-09-2015 15:25 zed File Deleted: Логи.zip
08-09-2015 15:26 zed Status assigned => resolved
08-09-2015 15:26 zed Fixed in Version => 150915
08-09-2015 15:26 zed Resolution open => fixed



Copyright © 2007 - 2024 SAS.Planet Team