SNAPSHOT_VERSIONING Option

Applies to RLV-enabled tables only (as opposed to all base tables in the database). Controls whether RLV-enabled tables are accessed using single-writer table-level versioning, or multiple writer row-level versioning. This option does not apply to the IQ catalog store.

Allowed Values

Value

Action

row-level

Enables concurrent writer access and row-level versioning for RLV-enabled tables.

The first transaction to modify a table row establishes a row write lock that persists until the end of the transaction.

Subsequent transactions attempting to modify a locked row either fail with a lock/future version error, or block until the lock is released based on the value of the BLOCKING option.

table-level

Enables single-writer access and table-level versioning.

The first transaction to access the table establishes a table write lock which persists until the end of the transaction.

Subsequent transactions attempting to write to a locked table either fail with a lock/future version error, or block until the lock is released based on the value of the BLOCKING option.

Default

table-level

Scope

Option can be set at the database (PUBLIC) or user level. When set at the database level, the value becomes the default for any new user, but has no impact on existing users. When set at the user level, overrides the PUBLIC value for that user only. No system privilege is required to set option for self. System privilege is required to set at database level or at user level for any user other than self.

Requires the SET ANY PUBLIC OPTION system privilege to set this option. Takes effect immediately.