SASGIS

Веб-картография и навигация


View Revisions: Issue #3078 Back to Issue ]
Summary 0003078: Кэш SQLite3: функции Delete и SaveTile могут возвращать неопределённый результат
Revision 19-06-2016 13:28 by zed
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), либо, при выполнении таких запросов в рамках одного соединения, добавить блокировку.

 
Revision 19-06-2016 13:36 by zed
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), либо, при выполнении таких запросов в рамках одного соединения, добавить блокировку.



Copyright © 2007 - 2024 SAS.Planet Team