A value stored in a SQLite database.
Content can be stored as integers, real numbers, text, binary large
objects ("blob") or be a "null" value. SQLite uses dynamic typing and
allows ito insert a string into a database column of type integer.
From SQLite FAQ: "This is a feature, not a bug. SQLite uses dynamic
typing. It does not enforce data type constraints. Any data can be
inserted into any column. You can put arbitrary length strings into
integer columns, floating point numbers in boolean columns, or dates in
character columns. The datatype you assign to a column in the CREATE
TABLE command does not restrict what data can be put into that column.
Every column is able to hold an arbitrary length string. (There is one
exception: Columns of type INTEGER PRIMARY KEY may only hold a 64-bit
signed integer. An error will result if you try to put anything other
than an integer into an INTEGER PRIMARY KEY column.)""But SQLite does use the declared type of a column as a hint that you
prefer values in that format. So, for example, if a column is of type
INTEGER and you try to insert a string into that column, SQLite will
attempt to convert the string into an integer. If it can, it inserts the
integer instead. If not, it inserts the string. This feature is called
type affinity. "
Destructors constants
Constats used to inform SQLIte on the life cycle of the memory buffers passed to routines like sqlite3_result_blob (and s passed in as the final argument to routines like
sqlite3_result_blob(). If the destructor argument is SQLITE_STATIC, it means that the content pointer is constant and
will never change. It does not need to be destroyed. The SQLITE_TRANSIENT value means that the content will likely change
in the near future and that SQLite should make its own private copy of the content before returning.
The typedef is necessary to work around problems in certain C++ compilers.
This exception occurs when Void is passed as the expression
to inspect ("inspect on STRING only).
This exception also occurs when the inspected value selects no branch (when the keyword "else"
not used, one "when" branch _must_ be selected). Some value which is not one of the inspect
constants, if there is no Else_part