View Issue Details

IDProjectCategoryView StatusLast Update
0003078SAS.ПланетаБаг / Bugpublic20-06-2016 15:21
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityrandom
Status resolvedResolutionfixed 
Product Version.Nightly 
Target Version160707Fixed in Version160707 
Summary0003078: Кэш SQLite3: функции Delete и SaveTile могут возвращать неопределённый результат
DescriptionДля получения результата выполнения операций в указанных функциях используется функция sqlite3_changes, вот только она не предназначена для использования в многопоточном режиме, поскольку возвращает указанное число для соединения, а не для стейтмента:

If a separate thread makes changes on the same database connection while sqlite3_changes() is running then the value returned is unpredictable and not meaningful.

Поэтому нужно либо использовать различные соединения для каждого модифицирующего запроса (INSERT/UPDATE/DELETE), либо, при выполнении таких запросов в рамках одного соединения, добавить блокировку.
TagsNo tags attached.

Relationships

related to 0001920 resolvedzed Новый тип кэша на основе SQLite3 

Activities

zed

19-06-2016 13:35

manager   ~0017412

Пошёл по лёгкому пути и добавил блокировку.

Issue History

Date Modified Username Field Change
19-06-2016 13:28 zed New Issue
19-06-2016 13:28 zed Status new => assigned
19-06-2016 13:28 zed Assigned To => zed
19-06-2016 13:35 zed Status assigned => resolved
19-06-2016 13:35 zed Fixed in Version => 160707
19-06-2016 13:35 zed Resolution open => fixed
19-06-2016 13:35 zed Note Added: 0017412
19-06-2016 13:36 zed Description Updated
20-06-2016 15:21 zed Relationship added related to 0001920
08-08-2025 13:22 zed Category Баг => Баг / Bug