Skip to end of metadata
Go to start of metadata



When a change transaction is in progress, if the session is forcibly disconnected or the transaction is aborted by a session timeout setting, the transaction is rolled back.

Here's how to check which queries are being rolled back.



Altibase version 5.1.5 or later


How to check

Method that can be used in ALTIBASE HDB 5.1.5 or higher

If the values of the CURRENT_UNDO_NEXT_LSN_FILENO column and CURRENT_UNDO_NEXT_LSN_OFFSET column are gradually decreasing in the query execution result below, it appears that the transaction is being rolled back.

The rollback operation performs an undo operation that cancels the operation performed by the change transaction.

The column starting with CURRENT_UNDO_NEXT_LSN means the value indicating the next log (logfile) to undo while this undo operation is in progress.

If the change transaction performed before the rollback was recorded from logfile 1 to logilfe 10, the value of the column starting with CURRENT_UNDO_NEXT_LSN decreases because undo proceeds from logfile 10 when rolling back.

  • The time the query was executed is FIRST_UPDATE_TIME
  • Rollback start time is FIRST_UPDATE_TIME + TOTAL


Method changed starting from ALTIBASE HDB version

From ALTIBASE HDB version, it is now possible to easily check the statement being rolled back with the status column of v$transaction.

select query from v$statement where session_id in (select session_id from v$transaction where status=4);

The status column of v$transaction is a value that indicates the transaction status and can have a value of 0 to 6, and the meaning of the value is as follows.

  • 0: BEGIN: transaction started

  • 1: PRECOMMIT: do not use

  • 2: COMMIT_IN_MEMORY: don not use

  • 3: COMMIT: Transaction is committed

  • 4: ABORT: Rolled back and aborted

  • 5: BLOCKED: Wait for lock or other transaction

  • 6: END: Free status after using all transactions



  • No labels