Interface IMultiVersionOperations

All Known Subinterfaces:
IAsyncTransactionalMultiVersion, IMultiVersionActivePivot, IMultiVersionAggregateProvider, IMultiVersionAggregateProviderHolder, IMultiVersionAxisDimension, IMultiVersionAxisHierarchy, IMultiVersionConcreteReference, IMultiVersionCube, IMultiVersionDataActivePivot, IMultiVersionDimension<H>, IMultiVersionDistributedActivePivot, IMultiVersionDistributedAxisHierarchy, IMultiVersionDistributedDimension<H>, IMultiVersionDistributedHierarchy, IMultiVersionDistributedMeasureDimension, IMultiVersionDistributedMeasureHierarchy, IMultiVersionGlobalAggregateProvider, IMultiVersionHierarchy, IMultiVersionIndex, IMultiVersionIntegerArray, IMultiVersionLongArray, IMultiVersionMeasureDimension, IMultiVersionMeasureHierarchy, IMultiVersionRecordIndex, IMultiVersionRecordSet, IMultiVersionSecondaryRecordIndex, IMultiVersionStore, IMultiVersionStorePartition, IMultiVersionUniqueRecordIndex, ITransactionalMultiVersion
All Known Implementing Classes:
AAnalysisHierarchy, AAnalysisHierarchyV2, AAsyncTransactionalMultiVersion, ABucketHierarchy, AMultiVersionAggregateProvider, AMultiVersionAnalysisHierarchy, AMultiVersionAxisHierarchy, AMultiVersionConcreteReference, AMultiVersionGlobalAggregateProvider, AMultiVersionIndexedAggregateProvider, AMultiVersionPartitionedAggregateProvider, AMultiVersionPartitionedIndexedAggregateProvider, AMultiVersionSecondaryRecordIndex, AMultiVersionUniqueRecordIndex, ATransactionalMultiVersion, CalculatedMemberTrivialAnalysisHierarchy, DistributedAggregateProvider, DistributedMultiVersionAggregateProviderHolder, DummyAggregateProvider, MultiVersionActivePivot, MultiVersionAggregateProviderHolder, MultiVersionAxisDimension, MultiVersionAxisHierarchy, MultiVersionBitmapAggregateProvider, MultiVersionColumnarRecordSet, MultiVersionCompositeSecondaryRecordIndex, MultiVersionCompositeUniqueRecordIndex, MultiVersionCube, MultiVersionDataActivePivot, MultiVersionDimension, MultiVersionDistributedActivePivot, MultiVersionDistributedAxisDimension, MultiVersionDistributedAxisHierarchy, MultiVersionDistributedDimension, MultiVersionDistributedMeasureDimension, MultiVersionDistributedMeasureHierarchy, MultiVersionIntegerArray, MultiVersionLazyDeleteLinkedIndex, MultiVersionLeafAggregateProvider, MultiVersionLongArray, MultiVersionMeasureDimension, MultiVersionMeasureHierarchy, MultiVersionNoIndexConcreteReference, MultiVersionPartitionedBitmapAggregateProvider, MultiVersionPartitionedLeafAggregateProvider, MultiVersionSecondaryConcreteReference, MultiVersionSecondaryRecordIndex, MultiVersionStore, MultiVersionStorePartition, MultiVersionUniqueConcreteReference, MultiVersionUniqueRecordIndex, TimeBucketHierarchy

public interface IMultiVersionOperations
The commit and rollback operations.
Author:
ActiveViam
  • Method Summary

    Modifier and Type
    Method
    Description
    commit(IEpoch epoch)
    Commits the pending transient state at the specified epoch.
    void
    Rolls back the changes that have been written in the transient state.
  • Method Details

    • commit

      IVersion commit(IEpoch epoch)
      Commits the pending transient state at the specified epoch.

      This automatically creates a new transient, writable state.

      Thread-safety: unless specific otherwise by the implementing class, it is not thread-safe to call commit(IEpoch) and rollback() concurrently.

      Parameters:
      epoch - the epoch associated with this commit
      Returns:
      the version that prevails after this commit (possibly an untouched current version if the commit had absolutely no impact on the state)
    • rollback

      void rollback()
      Rolls back the changes that have been written in the transient state.

      Thread-safety: unless specific otherwise by the implementing class, it is not thread-safe to call commit(IEpoch) and rollback() concurrently.