in fastmodel-transform/fastmodel-transform-api/src/main/java/com/aliyun/fastmodel/transform/api/extension/client/converter/ExtensionClientConverter.java [616:661]
protected List<BaseConstraint> toConstraint(List<Column> columns, List<Constraint> constraints) {
List<BaseConstraint> baseConstraints = super.toConstraint(columns, constraints);
if (constraints == null) {
return baseConstraints;
}
for (Constraint constraint : constraints) {
ConstraintType type = constraint.getType();
if (type == ExtensionClientConstraintType.DISTRIBUTE) {
DistributeNonKeyConstraint distributeConstraint = toDistributeConstraint(constraint);
if (distributeConstraint == null) {
continue;
}
baseConstraints.add(distributeConstraint);
}
if (type == ExtensionClientConstraintType.ORDER_BY) {
OrderByNonKeyConstraint orderByConstraint = toOrderByConstraint(constraint);
baseConstraints.add(orderByConstraint);
}
if (type == ExtensionClientConstraintType.DUPLICATE_KEY) {
DuplicateKeyConstraint duplicateKeyConstraint = toDuplicateKeyConstraint(constraint);
baseConstraints.add(duplicateKeyConstraint);
}
if (type == ExtensionClientConstraintType.AGGREGATE_KEY) {
AggregateKeyConstraint aggregateKeyConstraint = toAggregateKeyConstraint(constraint);
baseConstraints.add(aggregateKeyConstraint);
}
if (type == ExtensionClientConstraintType.CLUSTER_BY) {
ClusterNonKeyConstraint clusterKeyConstraint = toClusterNonKeyConstraint(constraint);
baseConstraints.add(clusterKeyConstraint);
}
if (type == ExtensionClientConstraintType.CLUSTERED_KEY) {
ClusteredKeyConstraint clusteredKeyConstraint = toClusteredKeyConstraint(constraint);
baseConstraints.add(clusteredKeyConstraint);
}
if (type == ExtensionClientConstraintType.FOREIGN_KEY) {
ForeignKeyClientConstraint foreignKeyClientConstraint = (ForeignKeyClientConstraint)constraint;
ForeignKeyConstraint foreignKeyConstraint = toForeignKeyConstraint(foreignKeyClientConstraint);
baseConstraints.add(foreignKeyConstraint);
}
}
return baseConstraints;
}