ALTER SESSION RESET
Resets the session state of the current connection to its initial values
ALTER SESSION RESET
Resetting the session can be useful for reusing the connection by a client application (for example, by a client-side connection pool).When this statement is executed, all user context variables are cleared, contents of global temporary tables are cleared, and all session-level settings are reset to their initial values.
It is possible to execute ALTER SESSION RESET
without a transaction.
Execution of ALTER SESSION RESET
performs the following steps:
Error isc_ses_reset_err (335545206
) is raised if any transaction is active in the current session other than the current transaction (the one executing ALTER SESSION RESET
) and two-phase transactions in the prepared state.
System variable RESETTING
is set to TRUE.
ON DISCONNECT
database triggers are fired, if present and if database triggers are not disabled for the current connection.
The current transaction (the one executing ALTER SESSION RESET
), if present, is rolled back.A warning is reported if this transaction modified data before resetting the session.
Session configuration is reset to their initial values.This includes, but is not limited to:
DECFLOAT
parameters (TRAP
and ROUND
) are reset to the initial values defined using the DPB at connect time, or otherwise the system default.
Session and statement timeouts are reset to zero.
The current role is restored to the initial value defined using DPB at connect time, and — if the role changed — the security classes cache is cleared.
The session time zone is reset to the initial value defined using the DPB at connect time, or otherwise the system default.
The bind configuration is reset to the initial value defined using the DPB at connect time, or otherwise the database or system default.
In general, configuration values should revert to the values configured using the DPB at connect time, or otherwise the database or system default.
Context variables defined for the USER_SESSION
namespace are removed (USER_TRANSACTION
was cleared earlier by the transaction roll back).
Global temporary tables defined as ON COMMIT PRESERVE ROWS
are truncated (their contents is cleared).
ON CONNECT
database triggers are fired, if present and if database triggers are not disabled for the current connection.
A new transaction is implicitly started with the same parameters as the transaction that was rolled back (if there was a transaction)
System variable RESETTING
is set to FALSE.
Note
|
|
Any error raised by ON DISCONNECT
triggers aborts the session reset and leaves the session state unchanged.Such errors are reported using primary error code isc_session_reset_err (335545206
) and error text "Cannot reset user session".
Any error raised after ON DISCONNECT
triggers (including the ones raised by ON CONNECT
triggers) aborts both the session reset and the connection itself.Such errors are reported using primary error code isc_ses_reset_failed (335545272
) and error text "Reset of user session failed. Connection is shut down.".Subsequent operations on the connection (except detach) will fail with error isc_att_shutdown (335544856
).
SET DEBUG OPTION
Sets debug options
SET DEBUG OPTION option-name = value
Option name | Value Type | Description |
---|---|---|
|
|
Stores statement BLR for retrieval with |
SET DEBUG OPTION
configures debug information for the current connection.
Warning
|
Debug options are closely tied to engine internals and their usage is discouraged if you do not understand how these internals are subject to change between versions. |