RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Контроль низкого уровня файлов базы данных

int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);

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.