|
19 | 19 | import static com.netflix.hollow.core.HollowConstants.ORDINAL_NONE;
|
20 | 20 | import static com.netflix.hollow.tools.util.SearchUtils.MULTI_FIELD_KEY_DELIMITER;
|
21 | 21 |
|
22 |
| -import com.netflix.hollow.Hollow; |
23 | 22 | import com.netflix.hollow.core.HollowDataset;
|
24 | 23 | import com.netflix.hollow.core.index.key.PrimaryKey;
|
25 | 24 | import com.netflix.hollow.core.memory.encoding.HashCodes;
|
@@ -97,18 +96,20 @@ public void initializeKeySchema(HollowObjectTypeReadState initialTypeState) {
|
97 | 96 | if (isInitialized) return;
|
98 | 97 | HollowObjectSchema schema = initialTypeState.getSchema();
|
99 | 98 |
|
100 |
| - for (String[] keyFieldPart : keyFieldNames) addSchemaField(schema, keyFieldPart, 0); |
| 99 | + for (int i= 0; i < keyFieldNames.length; i ++) { |
| 100 | + String[] keyFieldPart = keyFieldNames[i]; |
| 101 | + fieldTypes[i] = addSchemaField(schema, keyFieldPart, 0); |
| 102 | + } |
101 | 103 | isInitialized = true;
|
102 | 104 | }
|
103 | 105 |
|
104 |
| - private void addSchemaField(HollowObjectSchema schema, String[] keyFieldNames, int keyFieldPartPosition) { |
| 106 | + private FieldType addSchemaField(HollowObjectSchema schema, String[] keyFieldNames, int keyFieldPartPosition) { |
105 | 107 | int schemaPosition = schema.getPosition(keyFieldNames[keyFieldPartPosition]);
|
106 | 108 | if (keyFieldPartPosition < keyFieldNames.length - 1) {
|
107 | 109 | HollowObjectSchema nextPartSchema = (HollowObjectSchema) schema.getReferencedTypeState(schemaPosition).getSchema();
|
108 |
| - addSchemaField(nextPartSchema, keyFieldNames, keyFieldPartPosition + 1); |
109 |
| - } else { |
110 |
| - fieldTypes[keyFieldPartPosition] = schema.getFieldType(schemaPosition); |
| 110 | + return addSchemaField(nextPartSchema, keyFieldNames, keyFieldPartPosition + 1); |
111 | 111 | }
|
| 112 | + return schema.getFieldType(schemaPosition); |
112 | 113 | }
|
113 | 114 |
|
114 | 115 | private void initializeKeyParts(HollowDataset dataModel) {
|
|
0 commit comments