summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/sqlite3_uri_parameter.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man3/sqlite3_uri_parameter.3')
-rw-r--r--static/netbsd/man3/sqlite3_uri_parameter.3118
1 files changed, 118 insertions, 0 deletions
diff --git a/static/netbsd/man3/sqlite3_uri_parameter.3 b/static/netbsd/man3/sqlite3_uri_parameter.3
new file mode 100644
index 00000000..91078bbd
--- /dev/null
+++ b/static/netbsd/man3/sqlite3_uri_parameter.3
@@ -0,0 +1,118 @@
+.Dd January 24, 2024
+.Dt SQLITE3_URI_PARAMETER 3
+.Os
+.Sh NAME
+.Nm sqlite3_uri_parameter ,
+.Nm sqlite3_uri_boolean ,
+.Nm sqlite3_uri_int64 ,
+.Nm sqlite3_uri_key
+.Nd obtain values for URI parameters
+.Sh SYNOPSIS
+.In sqlite3.h
+.Ft const char *
+.Fo sqlite3_uri_parameter
+.Fa "sqlite3_filename z"
+.Fa "const char *zParam"
+.Fc
+.Ft int
+.Fo sqlite3_uri_boolean
+.Fa "sqlite3_filename z"
+.Fa "const char *zParam"
+.Fa "int bDefault"
+.Fc
+.Ft sqlite3_int64
+.Fo sqlite3_uri_int64
+.Fa "sqlite3_filename"
+.Fa "const char*"
+.Fa "sqlite3_int64"
+.Fc
+.Ft const char *
+.Fo sqlite3_uri_key
+.Fa "sqlite3_filename z"
+.Fa "int N"
+.Fc
+.Sh DESCRIPTION
+These are utility routines, useful to custom VFS implementations,
+that check if a database file was a URI that contained a specific query
+parameter, and if so obtains the value of that query parameter.
+.Pp
+The first parameter to these interfaces (hereafter referred to as F)
+must be one of:
+.Bl -bullet
+.It
+A database filename pointer created by the SQLite core and passed into
+the xOpen() method of a VFS implementation, or
+.It
+A filename obtained from
+.Fn sqlite3_db_filename ,
+or
+.It
+A new filename constructed using
+.Fn sqlite3_create_filename .
+.El
+.Pp
+If the F parameter is not one of the above, then the behavior is undefined
+and probably undesirable.
+Older versions of SQLite were more tolerant of invalid F parameters
+than newer versions.
+.Pp
+If F is a suitable filename (as described in the previous paragraph)
+and if P is the name of the query parameter, then sqlite3_uri_parameter(F,P)
+returns the value of the P parameter if it exists or a NULL pointer
+if P does not appear as a query parameter on F.
+If P is a query parameter of F and it has no explicit value, then sqlite3_uri_parameter(F,P)
+returns a pointer to an empty string.
+.Pp
+The sqlite3_uri_boolean(F,P,B) routine assumes that P is a boolean
+parameter and returns true (1) or false (0) according to the value
+of P.
+The sqlite3_uri_boolean(F,P,B) routine returns true (1) if the value
+of query parameter P is one of "yes", "true", or "on" in any case or
+if the value begins with a non-zero number.
+The sqlite3_uri_boolean(F,P,B) routines returns false (0) if the value
+of query parameter P is one of "no", "false", or "off" in any case
+or if the value begins with a numeric zero.
+If P is not a query parameter on F or if the value of P does not match
+any of the above, then sqlite3_uri_boolean(F,P,B) returns (B!=0).
+.Pp
+The sqlite3_uri_int64(F,P,D) routine converts the value of P into a
+64-bit signed integer and returns that integer, or D if P does not
+exist.
+If the value of P is something other than an integer, then zero is
+returned.
+.Pp
+The sqlite3_uri_key(F,N) returns a pointer to the name (not the value)
+of the N-th query parameter for filename F, or a NULL pointer if N
+is less than zero or greater than the number of query parameters minus
+1.
+The N value is zero-based so N should be 0 to obtain the name of the
+first query parameter, 1 for the second parameter, and so forth.
+.Pp
+If F is a NULL pointer, then sqlite3_uri_parameter(F,P) returns NULL
+and sqlite3_uri_boolean(F,P,B) returns B.
+If F is not a NULL pointer and is not a database file pathname pointer
+that the SQLite core passed into the xOpen VFS method, then the behavior
+of this routine is undefined and probably undesirable.
+.Pp
+Beginning with SQLite version 3.31.0 (dateof:3.31.0)
+the input F parameter can also be the name of a rollback journal file
+or WAL file in addition to the main database file.
+Prior to version 3.31.0, these routines would only work if F was the
+name of the main database file.
+When the F parameter is the name of the rollback journal or WAL file,
+it has access to all the same query parameters as were found on the
+main database file.
+.Pp
+See the URI filename documentation for additional information.
+.Sh IMPLEMENTATION NOTES
+These declarations were extracted from the
+interface documentation at line 3755.
+.Bd -literal
+SQLITE_API const char *sqlite3_uri_parameter(sqlite3_filename z, const char *zParam);
+SQLITE_API int sqlite3_uri_boolean(sqlite3_filename z, const char *zParam, int bDefault);
+SQLITE_API sqlite3_int64 sqlite3_uri_int64(sqlite3_filename, const char*, sqlite3_int64);
+SQLITE_API const char *sqlite3_uri_key(sqlite3_filename z, int N);
+.Ed
+.Sh SEE ALSO
+.Xr sqlite3_create_filename 3 ,
+.Xr sqlite3_db_filename 3