|
20 | 20 | package io.milvus.v2.service.collection.request; |
21 | 21 |
|
22 | 22 | import io.milvus.common.clientenum.FunctionType; |
23 | | -import io.milvus.param.ParamUtils; |
24 | 23 | import io.milvus.v2.common.ConsistencyLevel; |
25 | 24 | import io.milvus.v2.common.DataType; |
26 | 25 | import io.milvus.v2.common.IndexParam; |
27 | 26 | import io.milvus.v2.exception.ErrorCode; |
28 | 27 | import io.milvus.v2.exception.MilvusClientException; |
| 28 | +import io.milvus.v2.utils.SchemaUtils; |
29 | 29 | import lombok.Builder; |
30 | 30 | import lombok.Data; |
31 | 31 | import lombok.NonNull; |
@@ -136,44 +136,7 @@ public static class CollectionSchema { |
136 | 136 | private List<CreateCollectionReq.Function> functionList = new ArrayList<>(); |
137 | 137 |
|
138 | 138 | public CollectionSchema addField(AddFieldReq addFieldReq) { |
139 | | - // check the input here to pop error messages earlier |
140 | | - if (addFieldReq.isEnableDefaultValue() && addFieldReq.getDefaultValue() == null |
141 | | - && addFieldReq.getIsNullable() == Boolean.FALSE) { |
142 | | - String msg = String.format("Default value cannot be null for field '%s' that is defined as nullable == false.", addFieldReq.getFieldName()); |
143 | | - throw new MilvusClientException(ErrorCode.INVALID_PARAMS, msg); |
144 | | - } |
145 | | - |
146 | | - CreateCollectionReq.FieldSchema fieldSchema = FieldSchema.builder() |
147 | | - .name(addFieldReq.getFieldName()) |
148 | | - .dataType(addFieldReq.getDataType()) |
149 | | - .description(addFieldReq.getDescription()) |
150 | | - .isPrimaryKey(addFieldReq.getIsPrimaryKey()) |
151 | | - .isPartitionKey(addFieldReq.getIsPartitionKey()) |
152 | | - .isClusteringKey(addFieldReq.getIsClusteringKey()) |
153 | | - .autoID(addFieldReq.getAutoID()) |
154 | | - .isNullable(addFieldReq.getIsNullable()) |
155 | | - .defaultValue(addFieldReq.getDefaultValue()) |
156 | | - .enableAnalyzer(addFieldReq.getEnableAnalyzer()) |
157 | | - .enableMatch(addFieldReq.getEnableMatch()) |
158 | | - .analyzerParams(addFieldReq.getAnalyzerParams()) |
159 | | - .typeParams(addFieldReq.getTypeParams()) |
160 | | - .multiAnalyzerParams(addFieldReq.getMultiAnalyzerParams()) |
161 | | - .build(); |
162 | | - if (addFieldReq.getDataType().equals(DataType.Array)) { |
163 | | - if (addFieldReq.getElementType() == null) { |
164 | | - throw new MilvusClientException(ErrorCode.INVALID_PARAMS, "Element type, maxCapacity are required for array field"); |
165 | | - } |
166 | | - fieldSchema.setElementType(addFieldReq.getElementType()); |
167 | | - fieldSchema.setMaxCapacity(addFieldReq.getMaxCapacity()); |
168 | | - } else if (addFieldReq.getDataType().equals(DataType.VarChar)) { |
169 | | - fieldSchema.setMaxLength(addFieldReq.getMaxLength()); |
170 | | - } else if (ParamUtils.isDenseVectorDataType(io.milvus.grpc.DataType.valueOf(addFieldReq.getDataType().name()))) { |
171 | | - if (addFieldReq.getDimension() == null) { |
172 | | - throw new MilvusClientException(ErrorCode.INVALID_PARAMS, "Dimension is required for vector field"); |
173 | | - } |
174 | | - fieldSchema.setDimension(addFieldReq.getDimension()); |
175 | | - } |
176 | | - fieldSchemaList.add(fieldSchema); |
| 139 | + fieldSchemaList.add(SchemaUtils.convertFieldReqToFieldSchema(addFieldReq)); |
177 | 140 | return this; |
178 | 141 | } |
179 | 142 |
|
|
0 commit comments