summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/sqlite3_value.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man3/sqlite3_value.3')
-rw-r--r--static/netbsd/man3/sqlite3_value.372
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