IRepositoryTransaction Interface

Meta Data Services Programming

Meta Data Services Programming

IRepositoryTransaction Interface

The repository engine supports transactional processing. Repository engine methods that are reading data from a repository database may be executed outside of a transaction, but methods that write data must be bracketed within a transaction. Only one transaction can be active at a time for each opened repository instance. Nesting of Begin or Commit method invocations is permitted, but no actual nesting of transactions occurs.

When to Use

Use the IRepositoryTransaction interface to begin, commit, or cancel a repository transaction. You can also use this interface to retrieve the information about the transactional state of an open repository instance, and to set transaction options.

Methods
IUnknown method Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IDispatch method Description
GetIDsOfNames Maps a single member and a set of argument names to a corresponding set of dispatch identifiers.
GetTypeInfo Retrieves a type information object, which can be used to get the type information for an interface.
GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1).
Invoke Provides access to properties and methods exposed by an Automation object.

IRepositoryTransaction method Description
Abort Cancels a currently active transaction.
Begin Begins a new transaction.
Commit Commits an active transaction.
Flush Flushes uncommitted changes to the repository database.
GetOption Retrieves a transaction option.
get_Status Indicates whether there is a currently active transaction.
SetOption Sets a transaction option.

See Also

Managing Transactions and Threads

Repository Class