View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001920 | SAS.Планета | Хотелка / Feature request | 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, версионный кэш, тайлохранилище | ||||
| related to | 0001919 | resolved | zed | SAS.Планета | Новый тип кэша на основе SQLite3 (в формате MBtiles) |
| related to | 0001376 | closed | vasketsov | SACS.Планета | Новый тип кэша на основе SQLite3 (в формате MBtiles и не в формате MBtiles) |
| related to | 0003078 | resolved | zed | SAS.Планета | Кэш SQLite3: функции Delete и SaveTile могут возвращать неопределённый результат |
|
|
Портировал реализацию из SACS (детали см. в 0001376). Работает просто замечательно :) По сравнению с SACS нету: - поддержки формата MBTiles и всего с ним связанного; - сжатия тайлов на лету Всё остальное идентично, так что если в SACS не использовалось сжатие, то кэши будут совместимы. Тестируйте ночнушку, ищите баги. |
|
|
Меня пока что смущает, что в БД используется кодировка UTF-16. Я склоняюсь к тому, чтобы сделать UTF-8. |
|
|
А расскажите, в чём преимущества/недостатки по сравнению с Беркли? Он будет устойчивее к сбоям? Например, при зависании/вырубании компа открытый кэш не будет портиться? Переносить кэш на др. комп легко (просто копированием папки)? Read only версия кэша есть? |
|
|
Ну, работает. Радует, что нет непонятной папки env. Почему sqlite viewer не открывает файл кэша? Файл меток открывает. http://totalcmd.net/plugring/sqliteviewer.html Чем можно посмотреть, что там внутри? И чем чинить, если покорраптится? |
|
|
Конверсия кэша Беркли -> sqlite прошла якобы успешно, файлы сгенерились, но ничего не открывается. Создался sqlite.log (кстати, в UTF-16, но без хедера, так что гляделкой открывается как binary), в нём много таких строк: 2016-06-17 08:51:16.445 (replace) no such column: image ( error code: 1) P.S. Пардон, всё работает, просто указал не то расширение файла (на фиг оно вообще нужно, когда кэш в БД?!) Лог ошибок теперь не создался. |
|
|
Карта заполнения строится мгновенно (по сравнению с Беркли). |
|
|
Работает быстрее, переносить на другой комп проще. Что такое SQLite знает любой школьник, а вот про BerkeleyDB мало кто слышал. Со сбоями должно быть не хуже (а то и лучше), чем в Беркли. Файл БД теоретически можно открыть только для чтения, но сейчас это у нас не реализовано. В то же время, через настройки карты всегда можно запретить запись в кэш. Структура файла простая, посмотреть можно практически любой гляделкой (например, SQLiteStudio). Плагину от тотала не нравится расширение файла. |
|
|
А нет, с WAL журналом режим только для чтения не совместим: Write-Ahead Logging and Read-Only mode compatible in SQLite3? |
|
|
Всё круто, только надо провести крэш-тесты: запустить на скачку и поубивать процессы. И добавить тулзы для поиска и коррекции ошибок. |
|
|
Утилиты есть на сайте производителя: http://www.sqlite.org/2016/sqlite-tools-win32-x86-3130000.zip Принцип восстановления описан, например, вот тут: https://habrahabr.ru/post/160629/ Убиванием процесса базу повредить скорее всего не удастся. Тут надо выдёргивать штепсель из розетки. |
|
|
а то что при пустой версии становится доступна версия "0" - это здесь писать или другой тикет делать? |
|
|
Так задумано. |
|
|
А хотя, надо пофиксить. Только тогда нельзя будет руками задать версию 0. Это будет зарезервированная версия для обозначения "нет версии". |
|
|
а "" вместо нуля можно? или банально не отображать версию "0" в списке версий при таком типе кэша... з.ы. я пока ни разу не попадал на версию "0" |
|
|
Если пользователь не указал версию, т.е. версия - пустая строка, то в БД записывается 0 (как число), поскольку в БД поле версии обязательно и по нему индекс строится. А вот то, что при чтении версии из БД, этот 0 не преобразуется обратно в пустую строку, а воспринимается как настоящая версия, надо исправить. |
|
|
Исправил кодировку и отображение нулевой версии. |
| 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 | 42xxxx => 160707 |
| 16-06-2016 06:59 | zed | Summary | Новый тип кэша на основе SQLite3 (не в формате MBtiles) => Новый тип кэша на основе SQLite3 |
| 16-06-2016 06:59 | zed | Description Updated | |
| 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 | |
| 17-06-2016 05:45 | Tolik | Note Added: 0017385 | |
| 17-06-2016 05:49 | Tolik | Note Edited: 0017385 | |
| 17-06-2016 05:56 | Tolik | Note Added: 0017386 | |
| 17-06-2016 05:57 | Tolik | Note Edited: 0017386 | |
| 17-06-2016 06:02 | Tolik | Note Edited: 0017386 | |
| 17-06-2016 06:03 | Tolik | Note Added: 0017387 | |
| 17-06-2016 06:04 | Tolik | Note Edited: 0017386 | |
| 17-06-2016 06:06 | Tolik | Note Edited: 0017387 | |
| 17-06-2016 06:09 | Tolik | Note Edited: 0017387 | |
| 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 | |
| 20-06-2016 15:21 | zed | Relationship added | related to 0003078 |
| 08-08-2025 13:24 | zed | Category | Хотелка => Хотелка / Feature request |