Anonymous | Login | Signup for a new account | 24-11-24 03:18 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0001920 | SAS.Планета | [All Projects] Хотелка | public | 07-05-2013 07:09 | 20-06-2016 15:21 | ||||
Reporter | vdemidov | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | feature | Reproducibility | N/A | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | 121010 | ||||||||
Target Version | 160707 | Fixed in Version | 160707 | ||||||
Summary | 0001920: Новый тип кэша на основе SQLite3 | ||||||||
Description | Кэш тайлов на основе набора баз SQLite3 по тем же принципам что и кэш на BerkeleyDB. | ||||||||
Tags | SQLite, версионный кэш, тайлохранилище | ||||||||
Attached Files | |||||||||
Relationships | |||||||||||||||||||
|
Notes | |
(0017378) zed (manager) 16-06-2016 13:04 edited on: 20-06-2016 15:21 |
Портировал реализацию из SACS (детали см. в 0001376). Работает просто замечательно :) По сравнению с SACS нету: - поддержки формата MBTiles и всего с ним связанного; - сжатия тайлов на лету Всё остальное идентично, так что если в SACS не использовалось сжатие, то кэши будут совместимы. Тестируйте ночнушку, ищите баги. |
(0017379) zed (manager) 16-06-2016 14:57 |
Меня пока что смущает, что в БД используется кодировка UTF-16. Я склоняюсь к тому, чтобы сделать UTF-8. |
(0017384) Tolik (manager) 17-06-2016 05:35 edited on: 17-06-2016 05:36 |
А расскажите, в чём преимущества/недостатки по сравнению с Беркли? Он будет устойчивее к сбоям? Например, при зависании/вырубании компа открытый кэш не будет портиться? Переносить кэш на др. комп легко (просто копированием папки)? Read only версия кэша есть? |
(0017385) Tolik (manager) 17-06-2016 05:45 edited on: 17-06-2016 05:49 |
Ну, работает. Радует, что нет непонятной папки env. Почему sqlite viewer не открывает файл кэша? Файл меток открывает. http://totalcmd.net/plugring/sqliteviewer.html Чем можно посмотреть, что там внутри? И чем чинить, если покорраптится? |
(0017386) Tolik (manager) 17-06-2016 05:56 edited on: 17-06-2016 06:04 |
Конверсия кэша Беркли -> sqlite прошла якобы успешно, файлы сгенерились, но ничего не открывается. Создался sqlite.log (кстати, в UTF-16, но без хедера, так что гляделкой открывается как binary), в нём много таких строк: 2016-06-17 08:51:16.445 (replace) no such column: image ( error code: 1) P.S. Пардон, всё работает, просто указал не то расширение файла (на фиг оно вообще нужно, когда кэш в БД?!) Лог ошибок теперь не создался. |
(0017387) Tolik (manager) 17-06-2016 06:03 edited on: 17-06-2016 06:09 |
Карта заполнения строится мгновенно (по сравнению с Беркли). |
(0017388) zed (manager) 17-06-2016 06:51 |
Работает быстрее, переносить на другой комп проще. Что такое SQLite знает любой школьник, а вот про BerkeleyDB мало кто слышал. Со сбоями должно быть не хуже (а то и лучше), чем в Беркли. Файл БД теоретически можно открыть только для чтения, но сейчас это у нас не реализовано. В то же время, через настройки карты всегда можно запретить запись в кэш. Структура файла простая, посмотреть можно практически любой гляделкой (например, SQLiteStudio). Плагину от тотала не нравится расширение файла. |
(0017392) zed (manager) 17-06-2016 07:41 |
А нет, с WAL журналом режим только для чтения не совместим: Write-Ahead Logging and Read-Only mode compatible in SQLite3? |
(0017402) Tolik (manager) 17-06-2016 18:14 |
Всё круто, только надо провести крэш-тесты: запустить на скачку и поубивать процессы. И добавить тулзы для поиска и коррекции ошибок. |
(0017403) zed (manager) 17-06-2016 18:32 |
Утилиты есть на сайте производителя: http://www.sqlite.org/2016/sqlite-tools-win32-x86-3130000.zip Принцип восстановления описан, например, вот тут: https://habrahabr.ru/post/160629/ Убиванием процесса базу повредить скорее всего не удастся. Тут надо выдёргивать штепсель из розетки. |
(0017404) Garl (manager) 17-06-2016 19:19 |
а то что при пустой версии становится доступна версия "0" - это здесь писать или другой тикет делать? |
(0017405) zed (manager) 17-06-2016 19:45 |
Так задумано. |
(0017406) zed (manager) 18-06-2016 06:45 |
А хотя, надо пофиксить. Только тогда нельзя будет руками задать версию 0. Это будет зарезервированная версия для обозначения "нет версии". |
(0017409) Garl (manager) 18-06-2016 10:34 |
а "" вместо нуля можно? или банально не отображать версию "0" в списке версий при таком типе кэша... з.ы. я пока ни разу не попадал на версию "0" |
(0017410) zed (manager) 18-06-2016 10:41 |
Если пользователь не указал версию, т.е. версия - пустая строка, то в БД записывается 0 (как число), поскольку в БД поле версии обязательно и по нему индекс строится. А вот то, что при чтении версии из БД, этот 0 не преобразуется обратно в пустую строку, а воспринимается как настоящая версия, надо исправить. |
(0017411) zed (manager) 18-06-2016 21:26 |
Исправил кодировку и отображение нулевой версии. |
Users who viewed this issue | |
User List | Anonymous (4624x), proba999 (1x), anf (2x), Garl (11x), Parasite (1x), VMatveev (1x), vdemidov (18x), gma (3x), aflexus (1x), StarvinMarvin (1x), zed (33x), Tolik (20x), DJ VK (1x), Papazol (2x), bk99 (2x) |
Total Views | 4721 |
Last View | 24-11-2024 03:18 |
Issue History | |||
Date Modified | Username | Field | Change |
07-05-2013 07:09 | vdemidov | New Issue | |
07-05-2013 07:09 | vdemidov | Issue generated from: 0001919 | |
07-05-2013 07:09 | vdemidov | Relationship added | related to 0001919 |
07-05-2013 07:09 | vdemidov | Status | new => confirmed |
09-10-2015 13:24 | vdemidov | Tag Attached: тайлохранилище | |
16-06-2016 06:58 | zed | Assigned To | => zed |
16-06-2016 06:58 | zed | Status | confirmed => assigned |
16-06-2016 06:59 | zed | Target Version | 26xxxx => 160707 |
16-06-2016 06:59 | zed | Summary | Новый тип кэша на основе SQLite3 (не в формате MBtiles) => Новый тип кэша на основе SQLite3 |
16-06-2016 06:59 | zed | Description Updated | View Revisions |
16-06-2016 07:00 | zed | Tag Attached: SQLite | |
16-06-2016 07:00 | zed | Tag Attached: версионный кэш | |
16-06-2016 07:01 | zed | Relationship added | related to 0001376 |
16-06-2016 13:04 | zed | Note Added: 0017378 | |
16-06-2016 14:57 | zed | Note Added: 0017379 | |
17-06-2016 05:35 | Tolik | Note Added: 0017384 | |
17-06-2016 05:36 | Tolik | Note Edited: 0017384 | View Revisions |
17-06-2016 05:45 | Tolik | Note Added: 0017385 | |
17-06-2016 05:49 | Tolik | Note Edited: 0017385 | View Revisions |
17-06-2016 05:56 | Tolik | Note Added: 0017386 | |
17-06-2016 05:57 | Tolik | Note Edited: 0017386 | View Revisions |
17-06-2016 06:02 | Tolik | Note Edited: 0017386 | View Revisions |
17-06-2016 06:03 | Tolik | Note Added: 0017387 | |
17-06-2016 06:04 | Tolik | Note Edited: 0017386 | View Revisions |
17-06-2016 06:06 | Tolik | Note Edited: 0017387 | View Revisions |
17-06-2016 06:09 | Tolik | Note Edited: 0017387 | View Revisions |
17-06-2016 06:51 | zed | Note Added: 0017388 | |
17-06-2016 07:41 | zed | Note Added: 0017392 | |
17-06-2016 18:14 | Tolik | Note Added: 0017402 | |
17-06-2016 18:32 | zed | Note Added: 0017403 | |
17-06-2016 19:19 | Garl | Note Added: 0017404 | |
17-06-2016 19:45 | zed | Note Added: 0017405 | |
18-06-2016 06:45 | zed | Note Added: 0017406 | |
18-06-2016 10:34 | Garl | Note Added: 0017409 | |
18-06-2016 10:41 | zed | Note Added: 0017410 | |
18-06-2016 21:26 | zed | Note Added: 0017411 | |
20-06-2016 15:20 | zed | Status | assigned => resolved |
20-06-2016 15:20 | zed | Fixed in Version | => 160707 |
20-06-2016 15:20 | zed | Resolution | open => fixed |
20-06-2016 15:21 | zed | Note Edited: 0017378 | View Revisions |
20-06-2016 15:21 | zed | Relationship added | related to 0003078 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |