表示变更所指示的操作类型。
typedef enum
{
SSA_CREATE,
SSA_UPDATE_VERSION_ONLY,
SSA_UPDATE_VERSION_AND_DATA,
SSA_UPDATE_VERSION_AND_MERGE_DATA,
SSA_DELETE_AND_STORE_TOMBSTONE,
SSA_DELETE_AND_REMOVE_TOMBSTONE,
SSA_RENAME_SOURCE_AND_UPDATE_VERSION_AND_DATA,
SSA_RENAME_DESTINATION_AND_UPDATE_VERSION_AND_DATA,
SSA_DELETE_CONFLICTING_AND_SAVE_SOURCE_ITEM,
SSA_STORE_MERGE_TOMBSTONE,
SSA_CHANGE_ID_UPDATE_VERSION_AND_MERGE_DATA,
SSA_CHANGE_ID_UPDATE_VERSION_AND_SAVE_DATA,
SSA_CHANGE_ID_UPDATE_VERSION_AND_DELETE_AND_STORE_TOMBSTONE,
SSA_CHANGE_ID_UPDATE_VERSION_ONLY,
SSA_CREATE_GHOST,
SSA_GHOST_ITEM,
SSA_UNGHOST_ITEM,
SSA_UPDATE_GHOST,
SSA_DELETE_GHOST_AND_STORE_TOMBSTONE,
SSA_DELETE_GHOST_WITHOUT_TOMBSTONE
} SYNC_SAVE_ACTION;
成员
- SSA_CREATE
在目标项存储区中新建该项。
- SSA_UPDATE_VERSION_ONLY
在目标项存储区中不变更项数据。在目标元数据中覆盖版本。当选择目标提供程序中的项作为冲突的入选方时,也会发生此操作。
- SSA_UPDATE_VERSION_AND_DATA
将项数据应用于目标项存储区。现有数据被覆盖。提供的版本将覆盖目标元数据中的现有版本。此操作与源副本中的项创建、项更新或变更单位更新对应。当选择源提供程序中的项作为冲突的入选方时,也会发生此操作。
- SSA_UPDATE_VERSION_AND_MERGE_DATA
将项数据应用于目标项存储区。使用某种提供程序特定的方法将现有项数据与更新的项数据合并。版本会覆盖目标元数据中的现有版本。如果冲突解决操作为 SRA_MERGE,则会发生此操作。
- SSA_DELETE_AND_STORE_TOMBSTONE
从目标项存储区中删除该项。将逻辑删除保存到目标元数据中。此操作相当于将项从源副本中删除。
- SSA_DELETE_AND_REMOVE_TOMBSTONE
从目标项存储区中删除该项。逻辑删除不保留在目标元数据中。如果目标元数据中存在项的逻辑删除,则必须将其删除。此操作在遗忘知识恢复期间调用,与项删除对应,其中源副本已清除了逻辑删除。
- SSA_RENAME_SOURCE_AND_UPDATE_VERSION_AND_DATA
对从源提供程序发送的变更进行重命名,以使其不再与目标副本上的冲突项发生冲突,并且将源变更应用到目标副本。
- SSA_RENAME_DESTINATION_AND_UPDATE_VERSION_AND_DATA
对目标副本上的冲突项进行重命名,以使其不再与从源提供程序发送的变更发生冲突,并将源变更应用到目标副本。
- SSA_DELETE_CONFLICTING_AND_SAVE_SOURCE_ITEM
将源变更应用到目标副本并从目标副本中删除冲突的目标项。
SSA_STORE_MERGE_TOMBSTONE
将合并逻辑删除保存到目标元数据中。考虑一个合并操作,它将 id1 指定为落选项 ID,将 id2 指定为入选项 ID。合并逻辑删除将 id1 包含为落选项 ID,将 id2 包含为入选项 ID。如果目标副本中已存在将 id1 包含为落选项 ID,将另一个项 ID id3 包含为入选项 ID 的合并逻辑删除,则执行以下步骤:如果 id2 小于 id3,则创建并存储两个合并逻辑删除。一个合并逻辑删除将 id1 包含为落选项 ID,将 id2 包含为入选项 ID。另一个合并逻辑删除将 id2 包含为落选项 ID,将 id3 包含为入选项 ID。第二个合并逻辑删除可能已存在,在这种情况下无需再处理它。以这种方式即可创建按项 ID 排序的合并逻辑删除链。
如果 id3 小于 id2,则返回错误。
- SSA_CHANGE_ID_UPDATE_VERSION_AND_MERGE_DATA
源项中的数据与目标项合并。按照 SSA_STORE_MERGE_TOMBSTONE 中所述的步骤,存储落选项 ID 的合并逻辑删除。
- SSA_CHANGE_ID_UPDATE_VERSION_AND_SAVE_DATA
按照 SSA_STORE_MERGE_TOMBSTONE 中所述的步骤,存储落选项 ID 的合并逻辑删除。
- SSA_CHANGE_ID_UPDATE_VERSION_AND_DELETE_AND_STORE_TOMBSTONE
按照 SSA_STORE_MERGE_TOMBSTONE 中所述的步骤,存储落选项 ID 的合并逻辑删除。删除入选项 ID 所标识的项,并存储它的逻辑删除。
- SSA_CHANGE_ID_UPDATE_VERSION_ONLY
按照 SSA_STORE_MERGE_TOMBSTONE 中所述的步骤,存储落选项 ID 的合并逻辑删除。仅应用入选项变更的元数据。
- SSA_CREATE_GHOST
为项创建虚影。虚影是一个项,它包含一个指示该项最近是否包含在筛选器中的值,以及一个“移出版本”**。移出版本指示将项从筛选器中移出的变更的版本。
- SSA_GHOST_ITEM
将活动项更改为虚影。为此,存储一个指示该项最近曾包含在筛选器中的值,将此变更的版本存储为该项的移出版本,并从项存储区中删除该项的数据。
- SSA_UNGHOST_ITEM
激活虚影项。为此,从元数据中删除移出版本,并将项数据存储在项存储区中。
- SSA_UPDATE_GHOST
更新虚影项的版本。这是对该项的当前版本而非移出版本的更新。
- SSA_DELETE_GHOST_AND_STORE_TOMBSTONE
将虚影项更改为逻辑删除。这指示该项已被删除。为此,存储一个指示该项已被删除的值。
- SSA_DELETE_GHOST_WITHOUT_TOMBSTONE
从元数据存储区中删除虚影项并且不存储该项的逻辑删除。
备注
如果提供程序不将事务用于整个变更批,则该提供程序必须从 ISaveChangeContext 对象检索更新过的知识,并在应用变更的同时保存此知识。
要求
**头文件:**Synchronization.h
请参阅
参考
ISaveChangeWithChangeUnitsContext 接口
ISynchronousNotifyingChangeApplierTarget 接口
IAsynchronousNotifyingChangeApplierTarget 接口
IFeedBuilder 接口