.Dd January 24, 2024
.Dt SQLITE3SESSION_CONFIG 3
.Os
.Sh NAME
.Nm sqlite3session_config
.Nd configure global parameters
.Sh SYNOPSIS
.In sqlite3.h
.Ft int
.Fo sqlite3session_config
.Fa "int op"
.Fa "void *pArg"
.Fc
.Sh DESCRIPTION
The sqlite3session_config() interface is used to make global configuration
changes to the sessions module in order to tune it to the specific
needs of the application.
.Pp
The sqlite3session_config() interface is not threadsafe.
If it is invoked while any other thread is inside any other sessions
method then the results are undefined.
Furthermore, if it is invoked after any sessions related objects have
been created, the results are also undefined.
.Pp
The first argument to the sqlite3session_config() function must be
one of the SQLITE_SESSION_CONFIG_XXX constants defined below.
The interpretation of the (void*) value passed as the second parameter
and the effect of calling this function depends on the value of the
first parameter.
.Bl -tag -width Ds
.It SQLITE_SESSION_CONFIG_STRMSIZE
By default, the sessions module streaming interfaces attempt to input
and output data in approximately 1 KiB chunks.
This operand may be used to set and query the value of this configuration
setting.
The pointer passed as the second argument must point to a value of
type (int).
If this value is greater than 0, it is used as the new streaming data
chunk size for both input and output.
Before returning, the (int) value pointed to by pArg is set to the
final value of the streaming interface chunk size.
.El
.Pp
This function returns SQLITE_OK if successful, or an SQLite error code
otherwise.
.Sh IMPLEMENTATION NOTES
These declarations were extracted from the
interface documentation at line 12680.
.Bd -literal
SQLITE_API int sqlite3session_config(int op, void *pArg);
.Ed