Compartilhar via


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

Consulte também

Conceitos

Componentes principais do Sync Framework