|
20 | 20 | import static java.util.stream.Collectors.toSet;
|
21 | 21 |
|
22 | 22 | import io.delta.kernel.exceptions.KernelException;
|
23 |
| -import io.delta.kernel.internal.DeltaErrors; |
24 | 23 | import io.delta.kernel.internal.TableConfig;
|
25 | 24 | import io.delta.kernel.internal.actions.Metadata;
|
26 | 25 | import io.delta.kernel.internal.actions.Protocol;
|
27 | 26 | import io.delta.kernel.internal.tablefeatures.TableFeature;
|
28 |
| -import io.delta.kernel.internal.util.ColumnMapping; |
29 |
| -import io.delta.kernel.internal.util.SchemaIterable; |
30 | 27 | import io.delta.kernel.types.*;
|
31 | 28 | import java.util.*;
|
32 | 29 | import java.util.stream.Stream;
|
@@ -151,41 +148,6 @@ public static Optional<Metadata> validateAndUpdateIcebergWriterCompatV1Metadata(
|
151 | 148 | TYPE_WIDENING_RW_PREVIEW_FEATURE)
|
152 | 149 | .collect(toSet());
|
153 | 150 |
|
154 |
| - /** |
155 |
| - * Checks that in the schema column mapping is set up such that the physicalName is equal to |
156 |
| - * "col-[fieldId]". This check assumes column mapping is enabled (and so should be performed after |
157 |
| - * that check). |
158 |
| - */ |
159 |
| - private static final IcebergCompatCheck PHYSICAL_NAMES_MATCH_FIELD_IDS_CHECK = |
160 |
| - (inputContext) -> { |
161 |
| - List<String> invalidFields = |
162 |
| - new SchemaIterable(inputContext.newMetadata.getSchema()) |
163 |
| - .stream() |
164 |
| - // ID info is only on struct fields. |
165 |
| - .filter(SchemaIterable.SchemaElement::isStructField) |
166 |
| - .filter( |
167 |
| - element -> { |
168 |
| - StructField field = element.getField(); |
169 |
| - String physicalName = ColumnMapping.getPhysicalName(field); |
170 |
| - long columnId = ColumnMapping.getColumnId(field); |
171 |
| - return !physicalName.equals(String.format("col-%s", columnId)); |
172 |
| - }) |
173 |
| - .map( |
174 |
| - element -> { |
175 |
| - StructField field = element.getField(); |
176 |
| - return String.format( |
177 |
| - "%s(physicalName='%s', columnId=%s)", |
178 |
| - element.getNamePath(), |
179 |
| - ColumnMapping.getPhysicalName(field), |
180 |
| - ColumnMapping.getColumnId(field)); |
181 |
| - }) |
182 |
| - .collect(toList()); |
183 |
| - |
184 |
| - if (!invalidFields.isEmpty()) { |
185 |
| - throw DeltaErrors.icebergWriterCompatInvalidPhysicalName(invalidFields); |
186 |
| - } |
187 |
| - }; |
188 |
| - |
189 | 151 | @Override
|
190 | 152 | String compatFeatureName() {
|
191 | 153 | return "icebergWriterCompatV1";
|
|
0 commit comments