Using readpast

The readpast option applies only to data-only-locked tables. readpast is ignored if it is specified for an allpages-locked table.

  • The readpast option is incompatible with the holdlock option. If both are specified in the same select command, an error is generated and the command terminates.

  • If the session-wide isolation level is 3, the readpast option is ignored.

  • If the transaction isolation level for a session is 0, update commands using readpast do not issue warning messages. For datapages-locked tables, these commands modify all rows on all pages that are not locked with incompatible locks. For datarows-locked tables, they affect all rows that are not locked with incompatible locks.

  • If an update command with readpast applies to two or more text columns, and the first text column checked has an incompatible lock on it, readpast locking skips the row. If the column does not have an incompatible lock, the command acquires a lock and modifies the column. Then, if any subsequent text column in the row has an incompatible lock on it, the command blocks until it can obtain a lock and modify the column.

  • See the Performance and Tuning Guide for more on readpast.