REPLCHANGEINFO (Compact 2013)
3/26/2014
This structure is used by the ReplFindNextChange and the ReplGetOidStatus functions to return information about one changed object in the object store or in a database volume.
Syntax
struct REPLCHANGEINFO {
WORD wVersion;
WORD wStatus;
WORD wObjType;
CEOID oidChanged;
CEOID oidDbase;
};
Members
- wVersion
Version of this structure. Set this value to 1.
wStatus
Status of the changed object. The following table shows possible values.Value
Description
REPLSTATUS_CONFLICT
The object has changed outside the synchronization period. The change will be reflected after a future checkpoint.
REPLSTATUS_DELETED
The object was deleted.
REPLSTATUS_MODIFIED
The object was modified in some way by another thread or application. Modifications include creation, a value change, or re-creation.
REPLSTATUS_UNCHANGED
The object has not changed since the previous checkpoint.
wObjType
Current type of the object. The following table shows possible values.Type
Description
OBJTYPE_DATABASE
The object is a database.
OBJTYPE_DIRECTORY
The object is a directory.
OBJTYPE_FILE
The object is a file.
OBJTYPE_INVALID
The object was deleted and no longer has a type.
OBJTYPE_RECORD
The object is a database record.
- oidChanged
Object identifier (OID) of the object that was changed.
- oidDbase
If the object is a record, the OID of the database. If the object is not a record or has been deleted, this member is set to zero.
Remarks
Changes to items can be any of the following:
- Newly created
- Modified
- Deleted
- Deleted and then recreated
A database record can be recreated in a different database. An object, such as a database, can be deleted, and then recreated as another type of object, such as a file.
The reported type may have changed from the previous time the object was read. A type change reflects the deletion of the first object and the reassignment of the object identifier to a newly created object. Similarly, if the object is a database record, the database that the record is in can have changed. Again, the database change reflects the deletion of the first record and reassignment of the object identifier to a new record in a different database.
REPLSTATUS_CONFLICT indicates that an object was changed outside the client's current synchronization period. Typically, an item with this status is not copied during synchronization. Because each checkpoint expands the range of items to be synchronized, after a future checkpoint the object's status reflects the change that was made to it. Synchronizing an object that has a conflict causes synchronizing it more than once.
Additional information about the changed object can be obtained from the CeOidGetInfoEx2 (CEDB) function. Even if the reported status is not REPLSTATUS_DELETED, calls to CeOidGetInfoEx2 and other functions can fail if the object is deleted by another application between the call to ReplFindNextChange or ReplGetOidStatus and the call to the unsuccessful function.
Requirements
Header |
pwindbas.h |
See Also
Reference
Database Replication Structures
CeOidGetInfoEx2 (CEDB)
GetOIDSearchID
ReplFindNextChange
ReplGetOidStatus
ReplOpenSync