diff options
Diffstat (limited to 'static/netbsd/man3/sqlite3_value.3')
| -rw-r--r-- | static/netbsd/man3/sqlite3_value.3 | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/static/netbsd/man3/sqlite3_value.3 b/static/netbsd/man3/sqlite3_value.3 new file mode 100644 index 00000000..e05cb6f5 --- /dev/null +++ b/static/netbsd/man3/sqlite3_value.3 @@ -0,0 +1,72 @@ +.Dd January 24, 2024 +.Dt SQLITE3_VALUE 3 +.Os +.Sh NAME +.Nm sqlite3_value +.Nd dynamically typed value object +.Sh SYNOPSIS +.In sqlite3.h +.Vt typedef struct sqlite3_value sqlite3_value; +.Sh DESCRIPTION +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. +.Pp +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 +.Fn sqlite3_value_dup +interface can be used to construct a new protected sqlite3_value from +an unprotected sqlite3_value. +.Pp +The terms "protected" and "unprotected" refer to whether or not a mutex +is held. +An internal mutex is held for a protected sqlite3_value object but +no mutex is held for an unprotected sqlite3_value object. +If SQLite is compiled to be single-threaded (with SQLITE_THREADSAFE=0 +and with +.Fn sqlite3_threadsafe +returning 0) or if SQLite is run in one of reduced mutex modes SQLITE_CONFIG_SINGLETHREAD +or SQLITE_CONFIG_MULTITHREAD then there is +no distinction between protected and unprotected sqlite3_value objects +and they can be used interchangeably. +However, for maximum code portability it is recommended that applications +still make the distinction between protected and unprotected sqlite3_value +objects even when not strictly required. +.Pp +The sqlite3_value objects that are passed as parameters into the implementation +of application-defined SQL functions +are protected. +The sqlite3_value objects returned by +.Fn sqlite3_vtab_rhs_value +are protected. +The sqlite3_value object returned by +.Fn sqlite3_column_value +is unprotected. +Unprotected sqlite3_value objects may only be used as arguments to +.Fn sqlite3_result_value , +.Fn sqlite3_bind_value , +and +.Fn sqlite3_value_dup . +The sqlite3_value_type() family of interfaces require +protected sqlite3_value objects. +.Sh IMPLEMENTATION NOTES +These declarations were extracted from the +interface documentation at line 4485. +.Bd -literal +typedef struct sqlite3_value sqlite3_value; +.Ed +.Sh SEE ALSO +.Xr sqlite3_bind_blob 3 , +.Xr sqlite3_column_blob 3 , +.Xr sqlite3_result_blob 3 , +.Xr sqlite3_threadsafe 3 , +.Xr sqlite3_value_blob 3 , +.Xr sqlite3_value_dup 3 , +.Xr sqlite3_vtab_rhs_value 3 , +.Xr SQLITE_CONFIG_SINGLETHREAD 3 |
