Dynamically Typed Value Object
Dynamically Typed Value Object
typedef struct sqlite3_value sqlite3_value;
SQLite uses the sqlite3_value object to represent all values that can be stored in a database table. SQLite uses dynamic typing for the values it stores. Values stored in sqlite3_value objects can be integers, floating point values, strings, BLOBs, or NULL.
An sqlite3_value object may be either "protected" or "unprotected". Some interfaces require a protected sqlite3_value. Other interfaces will accept either a protected or an unprotected sqlite3_value. Every interface that accepts sqlite3_value arguments specifies whether or not it requires a protected sqlite3_value. The sqlite3_value_dup() interface can be used to construct a new protected sqlite3_value from an unprotected sqlite3_value.
The terms "protected" and "unprotected" refer to whether or not a mutex is held. An internal mutex