private void ShowUniqueConstraints(DbStructureVisitor visitor, KernelTransaction ktx, TokenNameLookup nameLookup) { IEnumerator <ConstraintDescriptor> constraints = ktx.SchemaRead().constraintsGetAll(); while (constraints.MoveNext()) { ConstraintDescriptor constraint = constraints.Current; string userDescription = constraint.PrettyPrint(nameLookup); if (constraint is UniquenessConstraintDescriptor) { visitor.VisitUniqueConstraint(( UniquenessConstraintDescriptor )constraint, userDescription); } else if (constraint is NodeExistenceConstraintDescriptor) { NodeExistenceConstraintDescriptor existenceConstraint = ( NodeExistenceConstraintDescriptor )constraint; visitor.VisitNodePropertyExistenceConstraint(existenceConstraint, userDescription); } else if (constraint is RelExistenceConstraintDescriptor) { RelExistenceConstraintDescriptor existenceConstraint = ( RelExistenceConstraintDescriptor )constraint; visitor.VisitRelationshipPropertyExistenceConstraint(existenceConstraint, userDescription); } else if (constraint is NodeKeyConstraintDescriptor) { NodeKeyConstraintDescriptor nodeKeyConstraint = ( NodeKeyConstraintDescriptor )constraint; visitor.VisitNodeKeyConstraint(nodeKeyConstraint, userDescription); } else { throw new System.ArgumentException("Unknown constraint type: " + constraint.GetType() + ", " + "constraint: " + constraint); } } }
public override void VisitNodePropertyExistenceConstraint(NodeExistenceConstraintDescriptor constraint, string userDescription) { if (!_nodePropertyExistenceConstraints.Add(constraint)) { throw new System.ArgumentException(format("Duplicated node property existence constraint %s for %s", constraint, userDescription)); } }