Anonymous | Login | Signup for a new account | 21-11-24 09:54 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 | ||||
0003869 | SAS.Планета | [All Projects] Баг | public | 03-09-2023 07:18 | 09-09-2023 18:18 | ||||
Reporter | foydogumlu | ||||||||
Assigned To | zed | ||||||||
Priority | immediate | Severity | tweak | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | 220707 | ||||||||
Target Version | 230909 | Fixed in Version | 230909 | ||||||
Summary | 0003869: Неправильные права при открытии sqlite базы | ||||||||
Description | Не смотря на строчку IsReadOnly=1, база все равно открывается в режиме для записи | ||||||||
Steps To Reproduce | Сделать zmp-карту с флажком IsReadOnly=1 и желательно какой-то другой версией sqlite Открыть карту в программе и убедиться, что рядом появились временные файлы: *-shm *-wal Закрыть программу и убедиться, что эти файлы пропали. Если на файловой системе поставить флажок Read Only (аттрибут файла), то в файле sasplanet\cache_sqlite\<title>\sqlite.log появляется запись: 2023-09-03 10:55:35.657 (init) 3.39.4 at c:\sasplanet\sqlite3.dll 2023-09-03 10:55:35.657 (init) attempt to write a readonly database ( error code: 8) Временные файлы при этом не появляются, а сама карта не отображается. | ||||||||
Additional Information | sqlite надо сказать, что база не просто readonly, но и immutable Нужно это для того, чтобы выложить на торренты большой кеш, но чтобы пользователям не приходилось держать по 2 копии файлов (одна для использования, вторая для продолжения раздачи на торрентах). Если сделать md5sum файла для открытия и после, то будут изменены несколько байт. В моем случае это: 18 1 File format write version. 1 for legacy; 2 for WAL. 19 1 File format read version. 1 for legacy; 2 for WAL. 36 4 Total number of freelist pages. 92 4 The version-valid-for number. 96 4 SQLITE_VERSION_NUMBER Увы, но это не позволяет нормально мне оформить раздачу, так как файлы постоянно меняются, а гонять туда-сюда сотни гигабайт крайне затратно. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Notes | |
(0020420) foydogumlu (reporter) 03-09-2023 07:24 |
immutable: The immutable parameter is a boolean query parameter that indicates that the database file is stored on read-only media. When immutable is set, SQLite assumes that the database file cannot be changed, even by a process with higher privilege, and so the database is opened read-only and all locking and change detection is disabled. Caution: Setting the immutable property on a database file that does in fact change can result in incorrect query results and/or SQLITE_CORRUPT errors. See also: **SQLITE_IOCAP_IMMUTABLE**. *The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag indicates that a file cannot be deleted when open. The SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on read-only media and cannot be changed even by processes with elevated privileges.* |
(0020421) zed (manager) 03-09-2023 10:22 |
Протестируйте этот билд: https://cloud.mail.ru/public/HXEi/YSjwzPNeG Сделал RO режим вот таким образом:
нужно проверить, чтобы uri работал на путях со спец символами и пробелами. Вроде бы там никаких дополнительных экранирований делать не нужно, но я не уверен. |
(0020422) zed (manager) 03-09-2023 10:24 |
> Сделать zmp-карту с флажком IsReadOnly=1 и желательно какой-то другой версией sqlite Про версию sqlite не понял. Последний релиз поставлялся с 3.38.3 - с ней что-то не так? |
(0020423) foydogumlu (reporter) 03-09-2023 10:34 edited on: 03-09-2023 10:46 |
> Про версию sqlite не понял. Последний релиз поставлялся с 3.38.3 - с ней что-то не так? С ней все так, просто скорее всего в будущем версии будут меняться и следовательно новые версии будут патчить sqlitedb-файлы, что не есть хорошо. У меня это вылезло от того, что я вообще кеш делаю своим софтом и таким образом sqlitedb-файлы были незамедлительно пропатчены при первом открытии Sas.Планетой из-за несовпадающей версии библиотеки. |
(0020424) foydogumlu (reporter) 03-09-2023 10:44 |
> чтобы uri работал на путях со спец символами и пробелами Пробелы в пути - работает Кириллица в пути - работает (в zmp указана была в utf8, удивлен что сработало на win7) Символы + и % - работает |
(0020425) zed (manager) 03-09-2023 11:00 |
Ок, будем считать, что всё работает как надо. Изменения ушли в ночную сборку. |
Users who viewed this issue | |
User List | Anonymous (688x), foydogumlu (23x), zed (13x) |
Total Views | 724 |
Last View | 21-11-2024 09:54 |
Issue History | |||
Date Modified | Username | Field | Change |
03-09-2023 07:18 | foydogumlu | New Issue | |
03-09-2023 07:24 | foydogumlu | Note Added: 0020420 | |
03-09-2023 10:22 | zed | Note Added: 0020421 | |
03-09-2023 10:24 | zed | Note Added: 0020422 | |
03-09-2023 10:25 | zed | Product Version | .Nightly => 220707 |
03-09-2023 10:25 | zed | Assigned To | => zed |
03-09-2023 10:25 | zed | Status | new => feedback |
03-09-2023 10:25 | zed | Target Version | => 24xxxx |
03-09-2023 10:34 | foydogumlu | Note Added: 0020423 | |
03-09-2023 10:34 | foydogumlu | Status | feedback => assigned |
03-09-2023 10:44 | foydogumlu | Note Added: 0020424 | |
03-09-2023 10:46 | foydogumlu | Note Edited: 0020423 | View Revisions |
03-09-2023 11:00 | zed | Note Added: 0020425 | |
03-09-2023 11:00 | zed | Status | assigned => resolved |
03-09-2023 11:00 | zed | Fixed in Version | => 24xxxx |
03-09-2023 11:00 | zed | Resolution | open => fixed |
09-09-2023 18:14 | zed | Fixed in Version | 24xxxx => 230909 |
09-09-2023 18:18 | zed | Target Version | 24xxxx => 230909 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |