Enumeração CONSTRAINT_CONFLICT_REASON
Representa os motivos pelos quais pode ocorrer um conflito de restrição.
typedef enum
{
CCR_OTHER,
CCR_COLLISION,
CCR_NOPARENT,
CCR_IDENTITY
} CONSTRAINT_CONFLICT_REASON;
Membros
Termo |
Definição |
CCR_OTHER |
O item ou a unidade de alteração viola alguma outra restrição da réplica de destino. O provedor pode, opcionalmente, especificar a ID do item em conflito como a ID do item em conflito. |
CCR_COLLISION |
O item não pode ser salvo porque está em conflito com outro item no repositório. Por exemplo, um item com o mesmo nome de um item existente. O provedor deve especificar a ID do item de destino como a ID do item em conflito. |
CCR_NOPARENT |
O item não pode ser salvo no repositório de dados hierárquico porque requer um item pai que não existe no repositório. O provedor pode, opcionalmente, especificar a ID do pai ausente como a ID do item em conflito. |
CCR_IDENTITY |
A réplica de origem e a réplica de destino discordam sobre a identidade de um item. Por exemplo, a réplica X resolve um conflito de colisão entre itens com as IDs id1 e id2 mesclando os itens e atribuindo id1 ao item mesclado. A réplica Y resolve um conflito de colisão entre itens com as IDs id1 e id2 renomeando o item identificado por id1 e mantendo ambos os itens. A réplica X envia o item mesclado identificado por id1 e uma marca de exclusão de mesclagem que indica que id2 foi mesclado em id1. O conflito em id1 é detectado e resolvido como um conflito de simultaneidade. O conflito em id2 é detectado e relatado para o aplicativo de sincronização como um conflito de identidade, com a especificação do motivo de conflito como CCR_IDENTITY. O aplicativo determina se o conflito deve ser resolvido com a manutenção da alteração de origem ou da alteração de destino. |
Comentários
O provedor de destino usa um membro de CONSTRAINT_CONFLICT_REASON para especificar o motivo de um conflito de restrição ao relatar um conflito de restrição para o aplicador de alterações. Para obter mais informações sobre conflitos de restrição, consulte Detectando e solucionando conflitos de restrição.
Requisitos
Cabeçalho: Synchronization.h