JetRollback Function

Applies to: Windows | Windows Server

JetRollback Function

The JetRollback function undoes the changes made to the state of the database and returns to the last save point. JetRollback will also close any cursors opened during the save point. If the outermost save point is undone, the session will exit the transaction.

    JET_ERR JET_API JetRollback(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

Parameters

sesid

The session to use for this call.

grbit

A group of bits that contain the options to be used for this call, which include zero or more of the following:

Value

Meaning

JET_bitRollbackAll

This option requests that all changes made to the state of the database during all save points be undone. As a result, the session will exit the transaction.

Return Value

This function returns the JET_ERR datatype with one of the following return codes. For more information about the possible ESE errors, see Extensible Storage Engine Errors and Error Handling Parameters.

Return code

Description

JET_errSuccess

The operation completed successfully.

JET_errClientRequestToStopJetService

It is not possible to complete the operation because all activity on the instance associated with the session has ceased as a result of a call to JetStopService.

JET_errInstanceUnavailable

It is not possible to complete the operation because the instance associated with the session has encountered a fatal error that requires that access to all data be revoked to protect the integrity of that data. This error will only be returned by Windows XP and later releases.

JET_errNotInitialized

It is not possible to complete the operation because the instance associated with the session has not been initialized yet.

JET_errNotInTransaction

The operation failed because the given session is not in a transaction.

JET_errRestoreInProgress

It is not possible to complete the operation because a restore operation is in progress on the instance associated with the session.

JET_errRollbackError

It was not possible to rollback the changes due to a fatal error.

JET_errSessionSharingViolation

The same session cannot be used for more than one thread at the same time. This error will only be returned by Windows XP and later releases.

JET_errTermInProgress

It is not possible to complete the operation because the instance associated with the session is being shut down.

On success, any changes made to the database during the current save point for the given session will be undone and that save point will be ended. If the last save point for the session was ended then the session will exit the transaction.

On failure, the transactional state of the session will remain unchanged. No change to the database state will occur. A failure during rollback is considered to be a catastrophic database error.

Remarks

There must be one call to JetCommitTransaction or JetRollback to match every call to JetBeginTransaction for a given session.

If any cursors were opened (using JetOpenTable, for example) during a save point that is being rolled back then that cursor will be closed.

Requirements

Requirement Value

Client

Requires Windows Vista, Windows XP, or Windows 2000 Professional.

Server

Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.

Header

Declared in Esent.h.

Library

Use ESENT.lib.

DLL

Requires ESENT.dll.

See Also

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction