![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
sqlite3_file_control()
делает прямой вызов метода xFileControl для объекта
sqlite3_io_methods, связанного с конкретной
базой данных, определенной вторым аргументом. Название базы данных "main"
для главной базы данных или "temp" для базы данных TEMP или имени, которое
появляется после ключевого слова AS для баз данных, которые добавляются,
используя команду SQL ATTACH.
Указатель NULL может использоваться вместо "main", чтобы относиться к
главному файлу базы данных. Третьи и четвертые параметры
передаются непосредственно к вторым и третьим параметрам метода xFileControl.
Возвращаемое значение метода xFileControl становится возвращаемым
значением этой функции. Несколько кодов операции для
sqlite3_file_control() обработаны непосредственно ядром SQLite и
никогда не вызывают sqlite3_io_methods.xFileControl.
Значение SQLITE_FCNTL_FILE_POINTER
для параметра op заставляет указатель на основной объект
sqlite3_file
быть написанным в буфер, на который указывает 4-й параметр.
SQLITE_FCNTL_JOURNAL_POINTER
работает так же за исключением того, что он возвращает объект
sqlite3_file, связанный с файлом журнала вместо
главной базы данных. Код операции
SQLITE_FCNTL_VFS_POINTER вернет
указатель на основной объект sqlite3_vfs
для файла. SQLITE_FCNTL_DATA_VERSION
возвращает счетчик версии данных из страниц. Если второй параметр (zDbName) не соответствует названию никакого
открытого файла базы данных, то SQLITE_ERROR возвращен. Этот код ошибки не
запоминается и не восстанавливается
sqlite3_errcode() или
sqlite3_errmsg().
Основной метод xFileControl мог бы также возвратить SQLITE_ERROR.
Нет никакого режима различать неправильный zDbName и возвращение SQLITE_ERROR
из основного метода xFileControl.
Choose any three.
SQLite C Interface
Контроль низкого уровня файлов базы данных
int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);