SASGIS - SAS.Планета
View Issue Details
0003078SAS.Планета[All Projects] Багpublic19-06-2016 13:2820-06-2016 15:21
zed 
zed 
normalminorrandom
resolvedfixed 
.Nightly 
160707160707 
0003078: Кэш SQLite3: функции Delete и SaveTile могут возвращать неопределённый результат
Для получения результата выполнения операций в указанных функциях используется функция 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), либо, при выполнении таких запросов в рамках одного соединения, добавить блокировку.
No tags attached.
related to 0001920resolved zed Новый тип кэша на основе SQLite3 
Issue History
19-06-2016 13:28zedNew Issue
19-06-2016 13:28zedStatusnew => assigned
19-06-2016 13:28zedAssigned To => zed
19-06-2016 13:35zedStatusassigned => resolved
19-06-2016 13:35zedFixed in Version => 160707
19-06-2016 13:35zedResolutionopen => fixed
19-06-2016 13:35zedNote Added: 0017412
19-06-2016 13:36zedDescription Updatedbug_revision_view_page.php?rev_id=6990#r6990
20-06-2016 15:21zedRelationship addedrelated to 0001920

Notes
(0017412)
zed   
19-06-2016 13:35   
Пошёл по лёгкому пути и добавил блокировку.