View Issue Details

IDProjectCategoryView StatusLast Update
0002541SAS.ПланетаБаг / Bugpublic28-11-2014 19:19
ReporterRGF Assigned Tozed  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3
Product Version141111 
Target Version141212Fixed in Version141212 
Summary0002541: Переход 140505 -> 141111 и дальнейшие ночные сборки, перестали показываться метки
DescriptionПосле перехода на 141111 с предыдущей, 140505, путем перезаписи поверх файлов в папке, перестали показываться метки и категории меток.

В панели управления метками в правом нижнем углу надпись красным "только для чтения".
Попытка поставить метку не увенчивается успехом.

При удалении файлов и создании новых путем простановки меток файлы marks.sml Categorymarks.sml создаются и по структуре ничем не отличны от старых.
Steps To Reproduceзагрузить мои файлы меток в папку
http://rghost.ru/59056440
TagsNo tags attached.

Activities

RGF

14-11-2014 08:07

reporter   ~0014884

Last edited: 14-11-2014 09:01

файл не прошел по размеру, прилагаю ссылку на внешний источник:
http://rghost.ru/59056401
(http://turbobit.net/0b10syghtllb.html)

vdemidov

14-11-2014 08:52

manager   ~0014886

Как интересно. Ошибок похоже аж две. Сначала ловим експшен при загрузке меток из файла. В одной из строчек:

              FCdsMarks.LoadFromStream(FStream);
              UpgradeXmlSchema;
              FCdsMarks.MergeChangeLog;
              FCdsMarks.LogChanges := False;

Где точно неизвестно, потому что при обработке ошибок ловим второй эксепшен. уже внутри InitEmptyDS. На строчках
  with FCdsMarks.IndexDefs.AddIndexDef do begin
    Name := 'MarkIDIdx';

В общем, нужно сначала лечить проблему в InitEmptyDS, а уже потом проблему загрузки конкретного файла.

zed

14-11-2014 08:57

manager   ~0014887

Похоже, тут проблема с одинаковыми id у меток. Из-за чего и вылетает "EDBClient 'Key violation'", а уже дальше оно падает из-за того, что не может создать индекс по этому полю.

RGF

14-11-2014 09:03

reporter   ~0014889

перезалил
http://rghost.ru/59056440

vdemidov

14-11-2014 09:24

manager   ~0014890

>уже дальше оно падает из-за того, что не может создать индекс по этому полю.
Ну вот это и нужно в первую очередь лечить.

zed

14-11-2014 09:28

manager   ~0014891

Можно полечить, но для решения тикета это никак не поможет.

vdemidov

14-11-2014 09:29

manager   ~0014892

Не спорю. Но исправлять обработку ошибок нужно в первую очередь.

zed

14-11-2014 09:43

manager   ~0014893

Ну исправил.

zed

14-11-2014 09:55

manager   ~0014894

Мне тут видится только workaround: при открытии БД для импорта, не создавать индексы и игнорировать дублирующиеся id. Тогда можно будет открыть эти метки и импортировать их в пустую базу, но уже с новыми уникальными id. Ну или придумать какой-то метод Repair, который должен попытаться восстановить метки при обнаружении такого рода проблем.

Garl

14-11-2014 09:58

manager   ~0014895

Категории показывает, а метки нет

zed

14-11-2014 10:09

manager   ~0014896

В метках конфликт id и эксепшен.

Garl

14-11-2014 10:10

manager   ~0014897

может сделать вывод сообщения как при дублировании GUID ?

vdemidov

14-11-2014 10:17

manager   ~0014898

А почему оно раньше работало?

zed

14-11-2014 10:19

manager   ~0014899

Потому что раньше не использовался индекс в датасете. Поиск работал перебором но и датасет не сильно возражал против дублирующихся id.

vdemidov

14-11-2014 10:29

manager   ~0014900

Ну, ИМХО вариант более толерантного к ошибкам импорта мне кажется вполне нормальным.

zed

14-11-2014 14:32

manager   ~0014901

> может сделать вывод сообщения
Да, какое-то сообщение нужно выводить.

> вариант более толерантного к ошибкам импорта мне кажется вполне нормальным.
Сделал.

RGF, а каким способом вы создаёте метки? Просто утверждение "При удалении файлов и создании новых путем простановки меток файлы marks.sml Categorymarks.sml создаются и по структуре ничем не отличны от старых" в корне не верно. Содержимое должно отличаться, потому что у старых меток были разнабойные id (в старую базу метки добавлялись/удалялись), а при создании новой базы и импорта/добавления туда меток, id будут увеличиваться строго последовательно.

RGF

14-11-2014 18:21

reporter   ~0014902

Метки создаю стандартными инструментами + экспорт путей из *.plt, *.kml.
Про структуру я имел ввиду xml: теги, заголовки, версию.
Метки и удалялись и добавлялись, конечно.

zed

15-11-2014 05:17

manager   ~0014903

В общем, если хотите юзать новую версию программы, то берите ночнушку и импортируйте свои метки из sml.

RGF

15-11-2014 07:11

reporter   ~0014904

Last edited: 15-11-2014 07:24

Импортировать через импорт?
 Не просто подложив файлы?

 Я вроде смотрел, задвоений id нет?

Garl

15-11-2014 07:24

manager   ~0014905

задвоение одно есть что щас не помнию но чтото типа id=3026

zed

15-11-2014 10:40

manager   ~0014906

> Импортировать через импорт?
Да, именно через импорт.

RGF

17-11-2014 08:10

reporter   ~0014914

спасибо!
руками удалил дубли, все заработало.

zed

17-11-2014 08:58

manager   ~0014918

> руками удалил дубли
А чего не через импорт? Руками найти дубликаты было наверное весьма трудоёмко.

RGF

17-11-2014 09:18

reporter   ~0014923

На php скриптик написал по разбору xml'я и поиску дублей.
Импортов побаиваюсь иррационально :)

Issue History

Date Modified Username Field Change
14-11-2014 08:04 RGF New Issue
14-11-2014 08:07 RGF Note Added: 0014884
14-11-2014 08:48 vdemidov Target Version => 150915
14-11-2014 08:52 vdemidov Note Added: 0014886
14-11-2014 08:52 vdemidov Status new => acknowledged
14-11-2014 08:57 zed Note Added: 0014887
14-11-2014 09:01 Garl Note Edited: 0014884
14-11-2014 09:03 RGF Note Added: 0014889
14-11-2014 09:22 vdemidov Status acknowledged => confirmed
14-11-2014 09:23 vdemidov Steps to Reproduce Updated
14-11-2014 09:23 vdemidov Additional Information Updated
14-11-2014 09:24 vdemidov Note Added: 0014890
14-11-2014 09:28 zed Note Added: 0014891
14-11-2014 09:29 vdemidov Note Added: 0014892
14-11-2014 09:43 zed Note Added: 0014893
14-11-2014 09:55 zed Note Added: 0014894
14-11-2014 09:58 Garl Note Added: 0014895
14-11-2014 10:09 zed Note Added: 0014896
14-11-2014 10:10 Garl Note Added: 0014897
14-11-2014 10:17 vdemidov Note Added: 0014898
14-11-2014 10:19 zed Note Added: 0014899
14-11-2014 10:29 vdemidov Note Added: 0014900
14-11-2014 14:32 zed Note Added: 0014901
14-11-2014 18:21 RGF Note Added: 0014902
15-11-2014 05:17 zed Note Added: 0014903
15-11-2014 07:11 RGF Note Added: 0014904
15-11-2014 07:23 Garl Note Edited: 0014904
15-11-2014 07:24 Garl Note Edited: 0014904
15-11-2014 07:24 Garl Note Added: 0014905
15-11-2014 10:40 zed Note Added: 0014906
17-11-2014 08:10 RGF Note Added: 0014914
17-11-2014 08:58 zed Note Added: 0014918
17-11-2014 09:18 RGF Note Added: 0014923
17-11-2014 09:34 zed Status confirmed => resolved
17-11-2014 09:34 zed Fixed in Version => 150915
17-11-2014 09:34 zed Resolution open => fixed
17-11-2014 09:34 zed Assigned To => zed
28-11-2014 19:19 vdemidov Target Version 150915 => 141212
28-11-2014 19:19 vdemidov Fixed in Version 150915 => 141212
08-08-2025 13:22 zed Category Баг => Баг / Bug