Я пытаюсь включить внешние ключи, используя библиотеку HDBC-sqlite3 haskell. Эта библиотека использует маленький помощник c - функция
int sqlite3_open2(const char *filename, finalizeonce **ppo)
который в свою очередь вызывает sqlite3_open
один.
В документации sqlite я нашел замечательную функцию sqlite3_db_config
, которая должна включать внешние ключи. Чтобы проверить это, я быстро добавил 2 строки в sqlite3_open2
(две последние из списка):
int sqlite3_open2(const char *filename, finalizeonce **ppo) {
sqlite3 *ppDb;
finalizeonce *newobj;
int res, *resFK, resFK1;
fprintf(stderr, "DB pointer: %d\n", ppDb);
res = sqlite3_open(filename, &ppDb);
resFK1 = sqlite3_db_config(ppDb, 1002, 1, resFK);
fprintf(stderr, "\nForeign Keys: ON/OFF:%d ERR:%d\n", resFK, resFK1);
...
Мое удивление было результатом: Foreign Keys: ON/OFF:0 ERR:1
.
Может ли кто-нибудь подсказать мне, что я делаю неправильно или как правильно включить внешние ключи?