Общая база данных SQlite в памяти - PullRequest
0 голосов
/ 24 июня 2018

Я пытался создать общую базу данных в памяти для своего многопоточного приложения, но, похоже, оно не работает.Я использовал:

sqlite3_open("file:memdb1?mode=memory&cache=shared", &self->readdb)

Как это описано здесь: https://www.sqlite.org/inmemorydb.html Однако он просто создал обычный файл с именем file:memdb1?mode=memory&cache=shared, который выглядит как обычный файл:

lapsio@linux-tiph > stat file:memdb1\?mode=memory\&cache=shared 
  File: 'file:memdb1?mode=memory&cache=shared'
  Size: 9216            Blocks: 24         IO Block: 4096   regular file
Device: 2fh/47d Inode: 109010      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  lapsio)   Gid: (  100/   users)
Access: 2018-06-24 13:46:48.435300970 +0200
Modify: 2018-06-24 13:47:07.139406989 +0200
Change: 2018-06-24 13:47:07.139406989 +0200
 Birth: -

Моя версия SQlite

sqlite3 --version
3.8.10.2 2015-05-20 18:17:19 2ef4f3a5b1d1d0c4338f8243d40a2452cc1f7fe4

1 Ответ

0 голосов
/ 24 июня 2018

Требуется, чтобы URI файла был явно включен sqlite3_config(SQLITE_CONFIG_URI,1), как указано здесь: https://www.sqlite.org/uri.html

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