Получение определения первичного ключа таблицы
int sqlite3changeset_pk( sqlite3_changeset_iter *pIter, /* Iterator object */ unsigned char **pabPK, /* OUT: Array of boolean - true for PK cols */ int *pnCol /* OUT: Number of entries in output array */ );
Для каждой изменённой таблицы набор изменений включает следующее:
- Количество столбцов в таблице, и
- Какие из этих столбцов составляют первичный ключ таблицы.
Эта функция используется для поиска столбцов, составляющих первичный ключ таблицы, изменённой изменением, на которое в данный момент указывает итератор pIter. При успешном выполнении *pabPK устанавливается в указатель на массив из nCol элементов, где nCol — количество столбцов в таблице. Элементы *pabPK устанавливаются в 0x01, если соответствующий столбец является частью первичного ключа таблицы, или в 0x00, если он им не является.
Если аргумент pnCol не равен NULL, то *pnCol устанавливается в количество столбцов в таблице.
Если эта функция вызывается, когда итератор не указывает на допустимую запись, возвращается SQLITE_MISUSE, и переменные вывода обнуляются. В противном случае возвращается SQLITE_OK, и переменные вывода заполняются, как описано выше.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/session/sqlite3changeset_pk.html