# OSGeo::FDO::Commands::LongTransaction::ICommitLongTransaction Interface Reference
[OSGeo::FDO::Commands::LongTransaction]

Inheritance diagram for OSGeo::FDO::Commands::LongTransaction::ICommitLongTransaction:

[legend]

## Detailed Description

The ICommitLongTransaction interface defines the CommitLongTransaction command, which allows a user to execute commit operations on a long transaction. Two different commit operations are distinguished: full and partial.

()

Full. A full commit operation is executed on all data within a long transaction. The data is committed to the parent long transaction and the long transaction itself is removed.

Partial. A partial commit operation is executed on a subset of the data within a long transaction (this could be all data). The data is committed to the parent long transaction. However, the long transaction, itself, is not removed. The subset of the data to be committed is defined by a class name and a set of filter criteria.

To perform a commit operation the user requires the access and commit privileges for the long transaction to be committed (in case of a full commit the user also requires the remove privilege for the long transaction) and the access privilege for the parent long transaction. In addition, a full commit can be performed on a leaf long transaction only. A long transaction is a leaf long transaction if it does not have descendent versions.