Anonymous | Login | Signup for a new account | 22-11-24 05:49 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 | ||||||||
0003661 | SAS.Планета | [All Projects] Хотелка | public | 19-04-2020 22:18 | 27-03-2023 07:45 | ||||||||
Reporter | k-dmitriy | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | Windows | OS | 8.1 | OS Version | x64 | ||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0003661: Добавить в "Управление кэшем" VACUUMизацию БД SQLite3 | ||||||||||||
Description | через программу оно както культурнее было бы а так приходится использовать или sqlite3.exe и элементарный батничек к нему: FOR /R %1 %%i IN (*.sqlitedb) DO %~dp0\sqlite3 "%%i" "VACUUM;" или через "Управление кэшем" перегнать из одного и того же формата в разные папки, но подобное копирование с места на место, както совсем уж нехорошо. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files | |||||||||||||
Relationships | ||||||
|
Notes | |
(0019779) zed (manager) 20-04-2020 07:08 edited on: 20-04-2020 07:43 |
> както совсем уж нехорошо Что именно "нехорошо"? С точки зрения дисковых операций, команда vacuum делает ровно то же самое: "The VACUUM command works by copying the contents of the database into a temporary database file and then overwriting the original with the contents of the temporary file. When overwriting the original, a rollback journal or write-ahead log WAL file is used just as it would be for any other database transaction. This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space." Кроме того, если в кэш будет параллельно идти активная запись, vacuum запущенный из программы может и упасть. Т.е. это надо предусматривать какой-то механизм отключения выбранной карты, потом запуск vacuum на ней, а потом включение её обратно. Как-то уж слишком сложно. Тем более, что всё то же самое делается батником в одну строчку. |
(0019785) k-dmitriy (reporter) 20-04-2020 15:45 |
> Что именно "нехорошо"? полный объем карты копируется, метод с вакуумом действует пофайлово и надо иметь мин. свободного места. но перегонку бд через "упр. кэшем" это я как альтернативу привел, смысла им пользоваться имея батник конечно нет. хотя такой способ он внутри программы, без всяких скачиваний доп. консольных программ батников, понять куда все это класть и как запускать. метод чайник френдли. > надо предусматривать какой-то механизм отключения выбранной карты тогда хотелка снимается, подразумевал, что там всего то поле с галочкой добавить, и вместо процедуры конвертирования вызывать vacuum на тот же список файлов. обойдусь батником, тем более ему в ручном режиме можно конкретный зум скормить или по дате недавно измененные бдшки. да и поиск выдал пару сообщений и багрепортов касающихся не изменении размера бд после удаления данных, багрепорты так вообще касались меток - значит оно если кому и надо, то единицам. > механизм отключения выбранной карты давеча не хватало такой возможности - принудительного закрытия бдшек, приходится пользоваться костылями в виде смены глобального или локального типа бд или папки кэша, чтоб сас закрыла все открытые бд, и файлы можно было бы перемещать/удалять. ну да это тоже мелочь редко нужная, пока об этом костыле не додумался, так вообще каждый раз закрывал сас, чтоб файлами манипулировать. |
(0019788) zed (manager) 22-04-2020 06:08 |
Кстати, я как-то упустил: а почему вообще вам нужен этот vacuum? Вы часто и много удаляете из кэша или что? |
(0019789) k-dmitriy (reporter) 22-04-2020 14:34 |
редко, но до 1/3 удалять-переносить случается. на планшете место не резиновое, кэш разросся, к примеру, под раздачу давеча попала имеющаяся область средней азии и была вынесена на внешней носитель. с ней правда вышел конфуз - запустил копирование области всех масштабов в кэше, за ночь задача так и не сформировалась, позавтракал, посерфил - все еще формировалась. терпение кончилось, отменил, скопировал папки кэшей и в ручном режиме пришлось удалять файлы ненужных квадратов для крупных масштабов, а те что шли по границе уже через грубую обводку и логику "слияния полигонов" сас и комп уже сдюжили быстро. благо, остающаяся область обновлялась с нуля, так что не пришлось делать это дважды. |
(0019790) k-dmitriy (reporter) 22-04-2020 21:40 |
кстати, а это тоже какаято сложность в цепочке процедур и есть нюанс, что если при удалении в выделенную область попадает файлбд квадрата тайлов целиком (ну или как я понимаю тайл -8 масштаба), то вместо поштучного удаления всех позиций в бд этого файла (по крайней мере так кажется прорисовкой последовательности исчезания сущ. тайлов), можно было бы просто одним махом удалить этот файл? |
(0019791) zed (manager) 23-04-2020 07:25 |
Удалялка универсальная и понятия не имеет про то, как хранятся тайлы на диске. Поэтому, действительно, есть определённая сложность, чтобы сделать так, как вы описываете. |
(0019792) vdemidov (manager) 23-04-2020 09:03 |
По поводу удаления целыми файлами. У меня уже очень давно была идея добавить в тайлохранилища поддержку групповых операций по прямоугольнику, а оперции с полигоном сводить к набору оперций с прямоугольниками. Собственно один из простейших алгоритмов получения такого набора прямоугольников, причем в потоке, я описывал, когда мы подсчет количества тайлов в полигоне обсуждали. А уже тайлохранилище, сможет зная структуру своих файлов заменять потайловые операции на групповые. Но это очень много работы. Очень много нетривиальных алгоритмов с возможностью допустить ошибку, но и ускорение операций должно быть очень значимым. |
Users who viewed this issue | |
User List | Anonymous (1260x), vdemidov (13x), netsky (1x), Bubo_chernobylianus (3x), RedRat (1x), k-dmitriy (8x), zed (12x), ingener (2x) |
Total Views | 1300 |
Last View | 22-11-2024 05:49 |
Issue History | |||
Date Modified | Username | Field | Change |
19-04-2020 22:18 | k-dmitriy | New Issue | |
20-04-2020 07:08 | zed | Note Added: 0019779 | |
20-04-2020 07:38 | zed | Project | Доработка карты (ZMP) => SAS.Планета |
20-04-2020 07:43 | zed | Note Edited: 0019779 | View Revisions |
20-04-2020 07:43 | zed | Note Edited: 0019779 | View Revisions |
20-04-2020 15:45 | k-dmitriy | Note Added: 0019785 | |
22-04-2020 06:08 | zed | Note Added: 0019788 | |
22-04-2020 14:34 | k-dmitriy | Note Added: 0019789 | |
22-04-2020 21:40 | k-dmitriy | Note Added: 0019790 | |
23-04-2020 07:25 | zed | Note Added: 0019791 | |
23-04-2020 09:03 | vdemidov | Note Added: 0019792 | |
27-03-2023 07:45 | zed | Relationship added | related to 0003851 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |