41 lines
1.3 KiB
Groff
41 lines
1.3 KiB
Groff
.Dd March 11, 2017
|
|
.Dt SQLITE3SESSION_INDIRECT 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm sqlite3session_indirect
|
|
.Nd Set Or Clear the Indirect Change Flag
|
|
.Sh SYNOPSIS
|
|
.Ft int
|
|
.Fo sqlite3session_indirect
|
|
.Fa "sqlite3_session *pSession"
|
|
.Fa "int bIndirect"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
Each change recorded by a session object is marked as either direct
|
|
or indirect.
|
|
A change is marked as indirect if either:
|
|
.Bl -bullet
|
|
.It
|
|
The session object "indirect" flag is set when the change is made,
|
|
or
|
|
.It
|
|
The change is made by an SQL trigger or foreign key action instead
|
|
of directly as a result of a users SQL statement.
|
|
.El
|
|
.Pp
|
|
If a single row is affected by more than one operation within a session,
|
|
then the change is considered indirect if all operations meet the criteria
|
|
for an indirect change above, or direct otherwise.
|
|
.Pp
|
|
This function is used to set, clear or query the session object indirect
|
|
flag.
|
|
If the second argument passed to this function is zero, then the indirect
|
|
flag is cleared.
|
|
If it is greater than zero, the indirect flag is set.
|
|
Passing a value less than zero does not modify the current value of
|
|
the indirect flag, and may be used to query the current state of the
|
|
indirect flag for the specified session object.
|
|
.Pp
|
|
The return value indicates the final state of the indirect flag: 0
|
|
if it is clear, or 1 if it is set.
|