Small. Fast. Reliable.
Choose any three.

## Session Module C Interface

## Options for sqlite3session_object_config

>     #define SQLITE_SESSION_OBJCONFIG_SIZE  1
>     #define SQLITE_SESSION_OBJCONFIG_ROWID 2

The following values may passed as the the 2nd parameter to sqlite3session_object_config().

SQLITE_SESSION_OBJCONFIG_SIZE
  This option is used to set, clear or query the flag that enables the sqlite3session_changeset_size() API. Because it imposes some computational overhead, this API is disabled by default. Argument pArg must point to a value of type (int). If the value is initially 0, then the sqlite3session_changeset_size() API is disabled. If it is greater than 0, then the same API is enabled. Or, if the initial value is less than zero, no change is made. In all cases the (int) variable is set to 1 if the sqlite3session_changeset_size() API is enabled following the current call, or 0 otherwise.

  It is an error (SQLITE_MISUSE) to attempt to modify this setting after the first table has been attached to the session object.

SQLITE_SESSION_OBJCONFIG_ROWID
  This option is used to set, clear or query the flag that enables collection of data for tables with no explicit PRIMARY KEY.

  Normally, tables with no explicit PRIMARY KEY are simply ignored by the sessions module. However, if this flag is set, it behaves as if such tables have a column "_rowid_ INTEGER PRIMARY KEY" inserted as their leftmost columns.

  It is an error (SQLITE_MISUSE) to attempt to modify this setting after the first table has been attached to the session object.

  See also lists of Objects, Constants, and Functions.