Подтвердить, когда база данных занята - PullRequest
0 голосов
/ 10 июля 2019

У меня есть два сценария, один на Python и один на C ++, для чтения и записи из одной и той же таблицы в SQLite.

У меня два вопроса о том, как обрабатывать параллелизм:

  1. Во время записи, если таблица в данный момент занята (что-то еще записывается), sqlite_exec() в C ++ возвращает код ошибки (5).Похоже, что в python это недоступно, поэтому мне интересно: что происходит, когда python commit() в то время как другой скрипт пишет?В C ++ это просто продолжало бы работать.Есть ли способ узнать, что commit () не работал должным образом?

  2. Мой (действительно неэффективный) обходной путь в C ++ - продолжать проверять результаты sqlite_exec(), и если этовозвращает 5 (занято) я пишу снова.Есть ли более эффективный способ сделать это, чтобы избежать проверки результата в цикле, пока UPDATE не вернет правильный результат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...