xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_SESSION_OBJCONFIG_SIZE.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE_SESSION_OBJCONFIG_SIZE 3
3.Os
4.Sh NAME
5.Nm SQLITE_SESSION_OBJCONFIG_SIZE ,
6.Nm SQLITE_SESSION_OBJCONFIG_ROWID
7.Nd options for sqlite3session_object_config
8.Sh SYNOPSIS
9.In sqlite3.h
10.Fd #define SQLITE_SESSION_OBJCONFIG_SIZE
11.Fd #define SQLITE_SESSION_OBJCONFIG_ROWID
12.Sh DESCRIPTION
13The following values may passed as the the 2nd parameter to sqlite3session_object_config().
14.It SQLITE_SESSION_OBJCONFIG_SIZE
15This option is used to set, clear or query the flag that enables the
16.Fn sqlite3session_changeset_size
17API.
18Because it imposes some computational overhead, this API is disabled
19by default.
20Argument pArg must point to a value of type (int).
21If the value is initially 0, then the sqlite3session_changeset_size()
22API is disabled.
23If it is greater than 0, then the same API is enabled.
24Or, if the initial value is less than zero, no change is made.
25In all cases the (int) variable is set to 1 if the sqlite3session_changeset_size()
26API is enabled following the current call, or 0 otherwise.
27.Pp
28It is an error (SQLITE_MISUSE) to attempt to modify this setting after
29the first table has been attached to the session object.
30.It SQLITE_SESSION_OBJCONFIG_ROWID
31This option is used to set, clear or query the flag that enables collection
32of data for tables with no explicit PRIMARY KEY.
33.Pp
34Normally, tables with no explicit PRIMARY KEY are simply ignored by
35the sessions module.
36However, if this flag is set, it behaves as if such tables have a column
37"_rowid_ INTEGER PRIMARY KEY" inserted as their leftmost columns.
38.Pp
39It is an error (SQLITE_MISUSE) to attempt to modify this setting after
40the first table has been attached to the session object.
41.Sh IMPLEMENTATION NOTES
42These declarations were extracted from the
43interface documentation at line 11016.
44.Bd -literal
45#define SQLITE_SESSION_OBJCONFIG_SIZE  1
46#define SQLITE_SESSION_OBJCONFIG_ROWID 2
47.Ed
48.Sh SEE ALSO
49.Xr sqlite3session_changeset_size 3
50