Anonymous | Login | Signup for a new account | 03-12-24 17:48 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 | ||||
0003246 | SAS.Планета | [All Projects] Баг | public | 27-06-2017 10:57 | 29-08-2017 10:49 | ||||
Reporter | aflexus | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | 160707 | ||||||||
Target Version | 181221 | Fixed in Version | 181221 | ||||||
Summary | 0003246: Управление кешем. Сброс даты тайла при импорте в БД | ||||||||
Description | При импорте тайлов из обычного кеша в базу данных (проверено на sqlite и berkley), их дата в базе устанавливается как текущая. Понятно, что при получении тайла из интернета так и должно быть. Но не при работе через "Управление кешем". | ||||||||
Additional Information | Интересно, что при экспорте ИЗ бд в обычный кеш, дата создания тайлов устанавливается та, что есть в базе. А вот обратно - нет. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Notes | |
(0018028) zed (manager) 15-08-2017 14:31 |
У тайлов, которые хранятся на диске, есть 2 даты: дата создания и дата последнего изменения. И возможна ситуация, когда дата изменения меньше даты создания (т.е. первая "2014 год", а вторая "2017 год"). Такое происходит при копировании тайлов средствами Windows - дата создания всегда устанавливается равной текущей дате. Хотя в проводнике по прежнему отображается дата последнего изменения. Далее, при чтении даты тайла в SAS считываются обе эти даты и выбирается максимальная. Видимо, именно из-за этого и возникает такая ситуация. Код выбора даты писал vasketsov и почему он решил использовать максимальную, а не минимальную дату, мне не известно. Но выбор был явный, это не случайная описка. Соответственно, мне нужно от вас подтверждение, что вы наблюдаете именно такую ситуацию, где дата создания файла равна текущей дате и эта же дата попадает к БД при конвертировании. Или у вас другой случай и обе даты не равны текущей, но в БД всё равно записывается текущая. |
(0018034) aflexus (reporter) 19-08-2017 14:13 edited on: 19-08-2017 14:15 |
Вот тесты Импорт в бд тайлового кеша: Last write time - Creation time - BD time 01.06.2015 0:00:00 - 02.06.2016 0:00:00 - 02.06.2016 (0:00:00) 01.07.2017 0:00:00 - 02.06.2016 0:00:00 - 01.07.2017 (0:00:00) Экспорт из бд в дайловый кеш: BD time - Last write time - Creation time 02.06.2016 (0:00:00) - 01.06.2016 21:00:00 - текущее 01.07.2017 (0:00:00) - 30.06.2017 21:00:00 - текущее Время в скобочках в базе подразумевается, что именно такое (в саму базу не смотрел), ибо эти бд делал из файловых с предустановленным временем 0:00:00. |
(0018035) zed (manager) 19-08-2017 14:21 |
Т.е. в БД записывается максимальная дата тайла, а не текущая (как вы это описали в подробностях тикета). И вы хотите, чтобы записывалась минимальная? |
(0018036) aflexus (reporter) 19-08-2017 14:25 edited on: 19-08-2017 14:35 |
Да, при импорте в БД так и есть - записывается масимальная дата из даты создания и даты последней записи в файл (даты изменения). При экспорте дата изменения почти равна (минус три часа сдвига часового пояса пока не учитываем) дате тайла в бд, а вот дата создания устанавливается текущая. Что в целом, логично. И вот тут получается ерунда. По-сути, датой тайла является дата его изменения. И при экспорте именно она и устанавливаетя. Но почему же тогда при импорте берется большее из значений?! Выходит, просто скопировав тайловый кеш 2010 года на другой диск и после импортировав его в БД, он, вдруг, становится кешем 2017-ого? Хотя если посмотреть на работу этого же самого "скопированного" кеша в самой программе, то он работает корректно (т.е. именно 2010 год, если фильтровать по дате) Другими словами, при импорте в БД, более логично было бы брать не минимальную или максимальную, а именно дату ИЗМЕНЕНИЯ файла. Тогда даты тайлов при экспорте/импорте/копировании теряться не будут. А вот почему до этого бралось максимальное значение из двух надо уточнить у vasketsov. Быть может что-то я не понимаю. |
(0018037) zed (manager) 19-08-2017 14:40 |
Мне тоже кажется логичным ориентироваться на дату изменения тайла. На дату же создания смотреть только если вдруг дата изменения отсутствует (если такое возможно). И сравнение дат на максимальную или минимальную вообще убрать. Тогда не будет никаких глюков с датой при импорте/экспорте. Но надо подумать, будут ли какие нюансы в других режимах работы (например, при перезакачке/обновлении тайлов) и не сломается ли тогда что-нибудь другое. |
(0018044) zed (manager) 29-08-2017 10:48 |
Убрал сравнение дат. Теперь SAS будет вначале смотреть на дату последнего изменения тайла, если эта дата по каким-то причинам не доступна, то потом будет проверяться дата создания тайла. Т.е. выбираться будет только одна из них, а не максимальная. |
Users who viewed this issue | |
User List | Anonymous (2407x), MATPOC (1x), aflexus (24x), vdemidov (2x), zed (12x), dozhd (2x), Papazol (1x) |
Total Views | 2449 |
Last View | 03-12-2024 17:48 |
Issue History | |||
Date Modified | Username | Field | Change |
27-06-2017 10:57 | aflexus | New Issue | |
15-08-2017 14:31 | zed | Note Added: 0018028 | |
15-08-2017 14:31 | zed | Assigned To | => zed |
15-08-2017 14:31 | zed | Status | new => feedback |
19-08-2017 14:13 | aflexus | Note Added: 0018034 | |
19-08-2017 14:13 | aflexus | Status | feedback => assigned |
19-08-2017 14:14 | aflexus | Note Edited: 0018034 | View Revisions |
19-08-2017 14:15 | aflexus | Note Edited: 0018034 | View Revisions |
19-08-2017 14:21 | zed | Note Added: 0018035 | |
19-08-2017 14:25 | aflexus | Note Added: 0018036 | |
19-08-2017 14:33 | aflexus | Note Edited: 0018036 | View Revisions |
19-08-2017 14:35 | aflexus | Note Edited: 0018036 | View Revisions |
19-08-2017 14:40 | zed | Note Added: 0018037 | |
29-08-2017 10:48 | zed | Note Added: 0018044 | |
29-08-2017 10:49 | zed | Status | assigned => resolved |
29-08-2017 10:49 | zed | Fixed in Version | => 181221 |
29-08-2017 10:49 | zed | Resolution | open => fixed |
29-08-2017 10:49 | zed | Product Version | .Nightly => 160707 |
29-08-2017 10:49 | zed | Target Version | => 181221 |
29-08-2017 10:49 | zed | Summary | Управление кешем. Сброс даты тайла при импорте в бд. => Управление кешем. Сброс даты тайла при импорте в БД |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |