Внешние ключи Sqlite

Я пытаюсь включить внешние ключи с помощью библиотеки haskell HDBC-sqlite3. Эта библиотека использует небольшую вспомогательную c - функцию

int sqlite3_open2(const char *filename, finalizeonce **ppo)

, которая, в свою очередь, вызывает sqlite3_open one. В документации 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);  

  ...

Результатом стал мой сюрприз: Внешние ключи: ON / OFF: 0 ERR: 1 .

Может ли кто-нибудь подсказать мне, что я делаю не так или как правильно включить внешние ключи?

6
задан bartoszw 6 December 2011 в 22:06
поделиться