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

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Объект значения с динамическим контролем типов

typedef struct sqlite3_value sqlite3_value;

SQLite использует объект sqlite3_value, чтобы представлять все значения, которые могут быть сохранены в таблице базы данных. SQLite использует динамический контроль типов для значений, которые это хранит. Значения, сохраненные в объектах sqlite3_value, могут быть целыми числами, значениями с плавающей точкой, последовательностями, BLOB или NULL.

Объект sqlite3_value может быть "protected" или "unprotected". Некоторые интерфейсы требуют защищенного sqlite3_value. Другие интерфейсы примут защищенный или незащищенный sqlite3_value. Каждый интерфейс, который принимает аргументы sqlite3_value, определяет, требует ли он защищенного sqlite3_value. sqlite3_value_dup() может использоваться, чтобы построить новый защищенный sqlite3_value из незащищенного sqlite3_value.

Термины "protected" и "unprotected" относятся к тому, проводится ли mutex. Внутренний mutex проводится для защищенного объекта sqlite3_value, но никакой mutex не проводится для незащищенного объекта sqlite3_value. Если SQLite собран, чтобы быть однопоточным (с SQLITE_THREADSAFE=0, sqlite3_threadsafe() вернет 0) или если SQLite управляют в одном из уменьшенных mutex режимов SQLITE_CONFIG_SINGLETHREAD или SQLITE_CONFIG_MULTITHREAD, тогда нет никакого различия между защищенными и незащищенными объектами sqlite3_value, и они могут использоваться попеременно. Однако для максимальной переносимости кода рекомендуется, чтобы запросы все еще делали различие между защищенными и незащищенными объектами sqlite3_value, даже когда это не строго необходимо.

Объекты sqlite3_value, которые передаются как параметры во внедрение определяемых функций SQL, защищены. Объекты sqlite3_value, возвращенные sqlite3_vtab_rhs_value(), защищены. Объекты sqlite3_value, возвращенные sqlite3_column_value(), незащищены. Незащищенные объекты sqlite3_value могут использоваться только в качестве аргументов sqlite3_result_value(), sqlite3_bind_value() и sqlite3_value_dup(). sqlite3_value_type() требуют защищенных объектов sqlite3_value.

19 методов используют этот объект: