summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/documentmodel/DataTypeCollection.java8
-rw-r--r--config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java8
-rw-r--r--config-model/src/main/java/com/yahoo/documentmodel/DocumentTypeRepo.java2
-rw-r--r--config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java5
-rw-r--r--config-model/src/main/java/com/yahoo/documentmodel/VespaDocumentType.java1
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java5
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/document/Attribute.java59
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/FieldOperation.java1
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java9
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java15
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java20
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java109
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java90
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java38
-rw-r--r--config-model/src/main/javacc/SDParser.jj3
-rw-r--r--config-model/src/test/cfg/application/validation/search_alltypes/searchdefinitions/simple.sd2
-rw-r--r--config-model/src/test/configmodel/types/documentmanager.cfg44
-rw-r--r--config-model/src/test/configmodel/types/documenttypes.cfg42
-rw-r--r--config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg7
-rw-r--r--config-model/src/test/derived/advanced/documentmanager.cfg22
-rw-r--r--config-model/src/test/derived/advanced/index-info.cfg28
-rwxr-xr-xconfig-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg5
-rwxr-xr-xconfig-model/src/test/derived/annotationsinheritance/documentmanager.cfg10
-rwxr-xr-xconfig-model/src/test/derived/annotationsinheritance2/documentmanager.cfg6
-rwxr-xr-xconfig-model/src/test/derived/annotationspolymorphy/documentmanager.cfg5
-rwxr-xr-xconfig-model/src/test/derived/annotationsreference/documentmanager.cfg8
-rwxr-xr-xconfig-model/src/test/derived/annotationssimple/documentmanager.cfg4
-rw-r--r--config-model/src/test/derived/annotationsstruct/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationsstructarray/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/arrays/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/arrays/index-info.cfg126
-rw-r--r--config-model/src/test/derived/attributeprefetch/documentmanager.cfg22
-rw-r--r--config-model/src/test/derived/complex/documentmanager.cfg29
-rw-r--r--config-model/src/test/derived/complex/rank-profiles.cfg2
-rw-r--r--config-model/src/test/derived/documentderiver/documentmanager.cfg75
-rw-r--r--config-model/src/test/derived/emptydefault/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/id/documentmanager.cfg5
-rw-r--r--config-model/src/test/derived/indexswitches/documentmanager.cfg8
-rw-r--r--config-model/src/test/derived/indexswitches/index-info.cfg60
-rw-r--r--config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/inheritfromparent/documentmanager.cfg8
-rw-r--r--config-model/src/test/derived/inheritfromparent/documenttypes.cfg6
-rw-r--r--config-model/src/test/derived/mail/onlydoc/documentmanager.cfg18
-rw-r--r--config-model/src/test/derived/prefixexactattribute/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/ranktypes/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/streamingstruct/documentmanager.cfg31
-rw-r--r--config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg26
-rwxr-xr-xconfig-model/src/test/derived/structanyorder/documentmanager.cfg13
-rw-r--r--config-model/src/test/derived/tensor/attributes.cfg4
-rw-r--r--config-model/src/test/derived/tensor/documenttypes.cfg6
-rw-r--r--config-model/src/test/derived/tensor/rank-profiles.cfg18
-rw-r--r--config-model/src/test/derived/tensor/tensor.sd8
-rw-r--r--config-model/src/test/derived/types/attributes.cfg2
-rw-r--r--config-model/src/test/derived/types/documentmanager.cfg41
-rw-r--r--config-model/src/test/derived/types/ilscripts.cfg2
-rw-r--r--config-model/src/test/derived/types/index-info.cfg2
-rw-r--r--config-model/src/test/derived/types/summary.cfg2
-rw-r--r--config-model/src/test/derived/types/summarymap.cfg2
-rw-r--r--config-model/src/test/examples/fieldoftypedocument.cfg10
-rwxr-xr-xconfig-model/src/test/examples/structresult.cfg10
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java5
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/NameFieldCheckTestCase.java12
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java8
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java14
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java8
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidatorTestCase.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java25
67 files changed, 326 insertions, 892 deletions
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/DataTypeCollection.java b/config-model/src/main/java/com/yahoo/documentmodel/DataTypeCollection.java
index ff1a582d7fa..9c507d7be05 100644
--- a/config-model/src/main/java/com/yahoo/documentmodel/DataTypeCollection.java
+++ b/config-model/src/main/java/com/yahoo/documentmodel/DataTypeCollection.java
@@ -9,9 +9,7 @@ import java.util.Collection;
* @author baldersheim
*/
public interface DataTypeCollection {
-
- DataType getDataType(String name);
- DataType getDataType(int id);
- Collection<DataType> getTypes();
-
+ public DataType getDataType(String name);
+ public DataType getDataType(int id);
+ public Collection<DataType> getTypes();
}
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java b/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java
index 2c527201ce4..73f8d7f91c5 100644
--- a/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java
+++ b/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java
@@ -11,7 +11,6 @@ import java.util.Map;
* @author baldersheim
*/
public class DataTypeRepo implements DataTypeCollection {
-
Map<Integer, DataType> typeById = new LinkedHashMap<>();
Map<String, DataType> typeByName = new LinkedHashMap<>();
@@ -26,9 +25,10 @@ public class DataTypeRepo implements DataTypeCollection {
public Collection<DataType> getTypes() { return typeById.values(); }
public DataTypeRepo add(DataType type) {
- if (typeByName.containsKey(type.getName()) || typeById.containsKey(type.getId())) {
- throw new IllegalStateException("Data type '" + type.getName() + "', id '" +
- type.getId() + "' is already registered.");
+ if (typeByName.containsKey(type.getName()) ||
+ typeById.containsKey(type.getId()))
+ {
+ throw new IllegalStateException("Data type '" + type.getName() + "', id '" + type.getId() + "' is already registered.");
}
typeByName.put(type.getName(), type);
typeById.put(type.getId(), type);
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/DocumentTypeRepo.java b/config-model/src/main/java/com/yahoo/documentmodel/DocumentTypeRepo.java
index 1abbf8b3ae1..b71a400666a 100644
--- a/config-model/src/main/java/com/yahoo/documentmodel/DocumentTypeRepo.java
+++ b/config-model/src/main/java/com/yahoo/documentmodel/DocumentTypeRepo.java
@@ -9,7 +9,6 @@ import java.util.Map;
* @author baldersheim
*/
public class DocumentTypeRepo implements DocumentTypeCollection {
-
final Map<Integer, NewDocumentType> typeById = new LinkedHashMap<>();
final Map<NewDocumentType.Name, NewDocumentType> typeByName = new LinkedHashMap<>();
@@ -37,5 +36,4 @@ public class DocumentTypeRepo implements DocumentTypeCollection {
typeById.put(type.getFullName().getId(), type);
return this;
}
-
}
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java b/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java
index 7c594a4e836..ccf9bdec302 100644
--- a/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java
+++ b/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java
@@ -13,10 +13,15 @@ import com.yahoo.searchdefinition.processing.BuiltInFieldSets;
import java.util.*;
/**
+ * TODO: What is this and why?
+ *
* @author baldersheim
*/
public final class NewDocumentType extends StructuredDataType implements DataTypeCollection {
+ /**
+ * TODO: What is this and why?
+ */
public static final class Name {
// TODO: privatize
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/VespaDocumentType.java b/config-model/src/main/java/com/yahoo/documentmodel/VespaDocumentType.java
index 09aa55f776b..793a5fcff6c 100644
--- a/config-model/src/main/java/com/yahoo/documentmodel/VespaDocumentType.java
+++ b/config-model/src/main/java/com/yahoo/documentmodel/VespaDocumentType.java
@@ -32,6 +32,7 @@ public class VespaDocumentType {
vespa.add(PositionDataType.INSTANCE);
vespa.add(DataType.URI);
vespa.add(DataType.PREDICATE);
+ vespa.add(DataType.TENSOR);
return vespa;
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java b/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java
index 2a723596255..7d8a87cee8c 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java
@@ -11,10 +11,9 @@ import java.util.*;
import java.util.logging.Level;
/**
- * @author Einar M R Rosenvinge
+ * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
*/
public class SDDocumentTypeOrderer {
-
private Map<DataTypeName, SDDocumentType> createdSDTypes = new LinkedHashMap<>();
private Set<Integer> seenTypes = new LinkedHashSet<>();
List<SDDocumentType> processingOrder = new LinkedList<>();
@@ -120,8 +119,6 @@ public class SDDocumentTypeOrderer {
//do nothing
} else if (type instanceof PrimitiveDataType) {
//do nothing
- } else if (type instanceof TensorDataType) {
- //do nothing
} else {
deployLogger.log(Level.WARNING, "Unknown type : " + type);
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/document/Attribute.java b/config-model/src/main/java/com/yahoo/searchdefinition/document/Attribute.java
index bc52aa27f4c..950ec791368 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/document/Attribute.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/document/Attribute.java
@@ -25,6 +25,10 @@ public final class Attribute implements Cloneable, Serializable {
private Type type;
private CollectionType collectionType;
+ /** True if only the enum information should be read from this attribute
+ * (i.e. the actual values are not relevant, only which documents have the
+ * same values) Used for collapsing and unique.
+ */
private boolean removeIfZero = false;
private boolean createIfNonExistent = false;
private boolean enableBitVectors = false;
@@ -37,8 +41,6 @@ public final class Attribute implements Cloneable, Serializable {
private long lowerBound = BooleanIndexDefinition.DEFAULT_LOWER_BOUND;
private long upperBound = BooleanIndexDefinition.DEFAULT_UPPER_BOUND;
private double densePostingListThreshold = BooleanIndexDefinition.DEFAULT_DENSE_POSTING_LIST_THRESHOLD;
-
- /** This is set if the type of this is TENSOR */
private Optional<TensorType> tensorType = Optional.empty();
private boolean isPosition = false;
@@ -102,21 +104,16 @@ public final class Attribute implements Cloneable, Serializable {
}
/** Creates an attribute with default settings */
- public Attribute(String name, DataType fieldType) {
- this(name, convertDataType(fieldType), convertCollectionType(fieldType), convertTensorType(fieldType));
+ public Attribute(String name,DataType fieldType) {
+ this(name,convertDataType(fieldType), convertCollectionType(fieldType));
setRemoveIfZero(fieldType instanceof WeightedSetDataType ? ((WeightedSetDataType)fieldType).removeIfZero() : false);
setCreateIfNonExistent(fieldType instanceof WeightedSetDataType ? ((WeightedSetDataType)fieldType).createIfNonExistent() : false);
}
- public Attribute(String name, Type type, CollectionType collectionType) {
- this(name, type, collectionType, Optional.empty());
- }
-
- public Attribute(String name, Type type, CollectionType collectionType, Optional<TensorType> tensorType) {
+ public Attribute(String name,Type type, CollectionType collectionType) {
this.name=name;
setType(type);
setCollectionType(collectionType);
- this.tensorType = tensorType;
}
/**
@@ -214,42 +211,44 @@ public final class Attribute implements Cloneable, Serializable {
}
/** Converts to the right attribute type from a field datatype */
- private static CollectionType convertCollectionType(DataType fieldType) {
+ public static CollectionType convertCollectionType(DataType fieldType) {
if (fieldType instanceof ArrayDataType) {
return CollectionType.ARRAY;
} else if (fieldType instanceof WeightedSetDataType) {
return CollectionType.WEIGHTEDSET;
- } else if (fieldType instanceof TensorDataType) {
- return CollectionType.SINGLE;
} else if (fieldType instanceof PrimitiveDataType) {
return CollectionType.SINGLE;
} else {
throw new IllegalArgumentException("Field " + fieldType + " not supported in convertCollectionType");
}
}
-
- private static Optional<TensorType> convertTensorType(DataType fieldType) {
- if ( ! ( fieldType instanceof TensorDataType)) return Optional.empty();
- return Optional.of(((TensorDataType)fieldType).getTensorType());
- }
/** Converts to the right field type from an attribute type */
- private DataType toDataType(Type attributeType) {
- switch (attributeType) {
- case STRING : return DataType.STRING;
- case INTEGER: return DataType.INT;
- case LONG: return DataType.LONG;
- case FLOAT: return DataType.FLOAT;
- case DOUBLE: return DataType.DOUBLE;
- case BYTE: return DataType.BYTE;
- case PREDICATE: return DataType.PREDICATE;
- case TENSOR: return DataType.getTensor(tensorType.orElseThrow(IllegalStateException::new));
- default: throw new IllegalArgumentException("Unknown attribute type " + attributeType);
+ public static DataType convertAttrType(Type attrType) {
+ if (attrType== Type.STRING) {
+ return DataType.STRING;
+ } else if (attrType== Type.INTEGER) {
+ return DataType.INT;
+ } else if (attrType== Type.LONG) {
+ return DataType.LONG;
+ } else if (attrType== Type.FLOAT) {
+ return DataType.FLOAT;
+ } else if (attrType== Type.DOUBLE) {
+ return DataType.DOUBLE;
+ } else if (attrType == Type.BYTE) {
+ return DataType.BYTE;
+ } else if (attrType == Type.PREDICATE) {
+ return DataType.PREDICATE;
+ } else if (attrType == Type.TENSOR) {
+ return DataType.TENSOR;
+ } else {
+ throw new IllegalArgumentException("Don't know which attribute type to " +
+ "convert " + attrType + " to");
}
}
public DataType getDataType() {
- DataType dataType = toDataType(type);
+ DataType dataType = Attribute.convertAttrType(type);
if (collectionType.equals(Attribute.CollectionType.ARRAY)) {
return DataType.getArray(dataType);
} else if (collectionType.equals(Attribute.CollectionType.WEIGHTEDSET)) {
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/FieldOperation.java b/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/FieldOperation.java
index 78f0d9a2997..3b28f380b2d 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/FieldOperation.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/FieldOperation.java
@@ -11,7 +11,6 @@ import com.yahoo.searchdefinition.document.SDField;
*/
public interface FieldOperation extends Comparable<FieldOperation> {
- /** Apply this operation on the given field */
void apply(SDField field);
@Override
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java
index d8b95391ecb..af04deb5347 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java
@@ -16,7 +16,7 @@ import java.util.HashSet;
import java.util.Set;
/**
- * @author Simon Thoresen
+ * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
*/
public class IndexingValidation extends Processor {
@@ -26,11 +26,11 @@ public class IndexingValidation extends Processor {
@Override
public void process() {
- VerificationContext context = new VerificationContext(new MyAdapter(search));
+ VerificationContext ctx = new VerificationContext(new MyAdapter(search));
for (SDField field : search.allFieldsList()) {
ScriptExpression script = field.getIndexingScript();
try {
- script.verify(context);
+ script.verify(ctx);
MyConverter converter = new MyConverter();
for (StatementExpression exp : script) {
converter.convert(exp); // TODO: stop doing this explicitly when visiting a script does not branch
@@ -123,7 +123,8 @@ public class IndexingValidation extends Processor {
throw new UnsupportedOperationException();
}
if (!fieldType.isAssignableFrom(valueType) &&
- !fieldType.isAssignableFrom(createCompatType(valueType))) {
+ !fieldType.isAssignableFrom(createCompatType(valueType)))
+ {
throw new VerificationException(exp, "Can not assign " + valueType.getName() + " to " + fieldDesc +
" '" + fieldName + "' which is " + fieldType.getName() + ".");
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
index 36cf302477e..ae16f6cfed8 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
@@ -2,9 +2,7 @@
package com.yahoo.searchdefinition.processing;
import com.yahoo.config.application.api.DeployLogger;
-import com.yahoo.document.CollectionDataType;
import com.yahoo.document.DataType;
-import com.yahoo.document.TensorDataType;
import com.yahoo.searchdefinition.RankProfileRegistry;
import com.yahoo.searchdefinition.Search;
import com.yahoo.searchdefinition.document.Attribute;
@@ -25,13 +23,12 @@ public class TensorFieldProcessor extends Processor {
@Override
public void process() {
for (SDField field : search.allFieldsList()) {
- if ( field.getDataType() instanceof TensorDataType ) {
+ if (field.getDataType() == DataType.TENSOR) {
warnUseOfTensorFieldAsAttribute(field);
validateIndexingScripsForTensorField(field);
validateAttributeSettingForTensorField(field);
- }
- else if (field.getDataType() instanceof CollectionDataType){
- validateDataTypeForCollectionField(field);
+ } else {
+ validateDataTypeForField(field);
}
}
}
@@ -58,9 +55,9 @@ public class TensorFieldProcessor extends Processor {
}
}
- private void validateDataTypeForCollectionField(SDField field) {
- if (((CollectionDataType)field.getDataType()).getNestedType() instanceof TensorDataType)
+ private void validateDataTypeForField(SDField field) {
+ if (field.getDataType().getPrimitiveType() == DataType.TENSOR) {
fail(search, field, "A field with collection type of tensor is not supported. Use simple type 'tensor' instead.");
+ }
}
-
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java
index 9ee5f48a906..1349abc3795 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java
@@ -2,7 +2,6 @@
package com.yahoo.searchdefinition.processing;
import com.yahoo.config.application.api.DeployLogger;
-import com.yahoo.document.TensorDataType;
import com.yahoo.searchdefinition.RankProfileRegistry;
import com.yahoo.searchdefinition.document.Attribute;
import com.yahoo.document.DataType;
@@ -50,25 +49,22 @@ public class ValidateFieldTypes extends Processor {
DataType seenType = seenFields.get(fieldName);
if (seenType == null) {
seenFields.put(fieldName, fieldType);
- } else if ( ! compatibleTypes(seenType, fieldType)) {
- throw newProcessException(searchName, fieldName, "Incompatible types. Expected " +
+ } else if ( ! equalTypes(seenType, fieldType)) {
+ throw newProcessException(searchName, fieldName, "Duplicate field name with different types. Expected " +
seenType.getName() + " for " + fieldDesc +
" '" + fieldName + "', got " + fieldType.getName() + ".");
}
}
- private boolean compatibleTypes(DataType seenType, DataType fieldType) {
+ private boolean equalTypes(DataType d1, DataType d2) {
// legacy tag field type compatibility; probably not needed any more (Oct 2016)
- if ("tag".equals(seenType.getName())) {
- return "tag".equals(fieldType.getName()) || "WeightedSet<string>".equals(fieldType.getName());
+ if ("tag".equals(d1.getName())) {
+ return "tag".equals(d2.getName()) || "WeightedSet<string>".equals(d2.getName());
}
- if ("tag".equals(fieldType.getName())) {
- return "tag".equals(seenType.getName()) || "WeightedSet<string>".equals(seenType.getName());
+ if ("tag".equals(d2.getName())) {
+ return "tag".equals(d1.getName()) || "WeightedSet<string>".equals(d1.getName());
}
- if (seenType instanceof TensorDataType && fieldType instanceof TensorDataType) {
- return fieldType.isAssignableFrom(seenType); // TODO: Just do this for all types
- }
- return seenType.equals(fieldType);
+ return d1.equals(d2);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
index 705ec4dc4a1..3cdcf55b34e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
+++ b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
@@ -17,39 +17,39 @@ import java.util.Set;
/**
* @author baldersheim
+ * @since 2010-02-19
*/
public class DocumentManager {
- public DocumentmanagerConfig.Builder produce(DocumentModel model,
- DocumentmanagerConfig.Builder documentConfigBuilder) {
- documentConfigBuilder.enablecompression(false);
+ public DocumentmanagerConfig.Builder produce(DocumentModel model, DocumentmanagerConfig.Builder docman) {
+ docman.enablecompression(false);
Set<DataType> handled = new HashSet<>();
for(NewDocumentType documentType : model.getDocumentManager().getTypes()) {
- buildConfig(documentType, documentConfigBuilder, handled);
- buildConfig(documentType.getAnnotations(), documentConfigBuilder);
+ handle(documentType, docman, handled);
+ handleAnnotations(documentType.getAnnotations(), docman);
if ( documentType != VespaDocumentType.INSTANCE) {
- DocumentmanagerConfig.Datatype.Builder dataTypeBuilder = new DocumentmanagerConfig.Datatype.Builder();
- documentConfigBuilder.datatype(dataTypeBuilder);
- buildConfig(documentType, dataTypeBuilder);
+ DocumentmanagerConfig.Datatype.Builder dt = new DocumentmanagerConfig.Datatype.Builder();
+ docman.datatype(dt);
+ handleDataType(documentType, dt);
}
}
- return documentConfigBuilder;
+ return docman;
}
- private void buildConfig(DataTypeCollection type, DocumentmanagerConfig.Builder documentConfigBuilder, Set<DataType> built) {
+ private void handle(DataTypeCollection type, DocumentmanagerConfig.Builder docman, Set<DataType> handled) {
for (DataType dataType : type.getTypes()) {
- if (built.contains(dataType)) continue;
- built.add(dataType);
+ if (handled.contains(dataType)) continue;
+ handled.add(dataType);
if (dataType instanceof TemporaryStructuredDataType) continue;
- if ((dataType.getId() < 0) || (dataType.getId()> DataType.lastPredefinedDataTypeId())) {
- Datatype.Builder dataTypeBuilder = new Datatype.Builder();
- documentConfigBuilder.datatype(dataTypeBuilder);
- buildConfig(dataType, dataTypeBuilder);
+ if ((dataType.getId() < 0) || (DataType.lastPredefinedDataTypeId() < dataType.getId())) {
+ Datatype.Builder dtc = new Datatype.Builder();
+ docman.datatype(dtc);
+ handleDataType(dataType, dtc);
}
}
}
- private void buildConfig(AnnotationType type, DocumentmanagerConfig.Annotationtype.Builder atb) {
+ private void handleAnnotation(AnnotationType type, DocumentmanagerConfig.Annotationtype.Builder atb) {
atb.
id(type.getId()).
name(type.getName());
@@ -62,34 +62,34 @@ public class DocumentManager {
}
}
}
- private void buildConfig(Collection<AnnotationType> types, DocumentmanagerConfig.Builder builder) {
+ private void handleAnnotations(Collection<AnnotationType> types, DocumentmanagerConfig.Builder builder) {
for (AnnotationType type : types) {
DocumentmanagerConfig.Annotationtype.Builder atb = new DocumentmanagerConfig.Annotationtype.Builder();
- buildConfig(type, atb);
+ handleAnnotation(type, atb);
builder.annotationtype(atb);
}
}
- private void buildConfig(DataType type, Datatype.Builder builder) {
- builder.id(type.getId());
+ private void handleDataType(DataType type, Datatype.Builder dtc) {
+ dtc.id(type.getId());
if (type instanceof ArrayDataType) {
CollectionDataType dt = (CollectionDataType) type;
- builder.arraytype(new Datatype.Arraytype.Builder().datatype(dt.getNestedType().getId()));
+ dtc.arraytype(new Datatype.Arraytype.Builder().datatype(dt.getNestedType().getId()));
} else if (type instanceof WeightedSetDataType) {
WeightedSetDataType dt = (WeightedSetDataType) type;
- builder.weightedsettype(new Datatype.Weightedsettype.Builder().
+ dtc.weightedsettype(new Datatype.Weightedsettype.Builder().
datatype(dt.getNestedType().getId()).
createifnonexistant(dt.createIfNonExistent()).
removeifzero(dt.removeIfZero()));
} else if (type instanceof MapDataType) {
MapDataType mtype = (MapDataType) type;
- builder.maptype(new Datatype.Maptype.Builder().
+ dtc.maptype(new Datatype.Maptype.Builder().
keytype(mtype.getKeyType().getId()).
valtype(mtype.getValueType().getId()));
} else if (type instanceof DocumentType) {
DocumentType dt = (DocumentType) type;
Datatype.Documenttype.Builder doc = new Datatype.Documenttype.Builder();
- builder.documenttype(doc);
+ dtc.documenttype(doc);
doc.
name(dt.getName()).
headerstruct(dt.getHeaderType().getId()).
@@ -100,7 +100,7 @@ public class DocumentManager {
} else if (type instanceof NewDocumentType) {
NewDocumentType dt = (NewDocumentType) type;
Datatype.Documenttype.Builder doc = new Datatype.Documenttype.Builder();
- builder.documenttype(doc);
+ dtc.documenttype(doc);
doc.
name(dt.getName()).
headerstruct(dt.getHeader().getId()).
@@ -108,56 +108,49 @@ public class DocumentManager {
for (NewDocumentType inherited : dt.getInherited()) {
doc.inherits(new Datatype.Documenttype.Inherits.Builder().name(inherited.getName()));
}
- buildConfig(dt.getFieldSets(), doc);
+ handleFieldSets(dt.getFieldSets(), doc);
} else if (type instanceof TemporaryStructuredDataType) {
//Ignored
} else if (type instanceof StructDataType) {
- StructDataType structType = (StructDataType) type;
- Datatype.Structtype.Builder structBuilder = new Datatype.Structtype.Builder();
- builder.structtype(structBuilder);
- structBuilder.name(structType.getName());
- if (structType.getCompressionConfig().type.getCode() != 0) {
- structBuilder.
- compresstype(Datatype.Structtype.Compresstype.Enum.valueOf(structType.getCompressionConfig().type.toString())).
- compresslevel(structType.getCompressionConfig().compressionLevel).
- compressthreshold((int)structType.getCompressionConfig().threshold).
- compressminsize((int)structType.getCompressionConfig().minsize);
+ StructDataType dt = (StructDataType) type;
+ Datatype.Structtype.Builder st = new Datatype.Structtype.Builder();
+ dtc.structtype(st);
+ st.name(dt.getName());
+ if (dt.getCompressionConfig().type.getCode() != 0) {
+ st.
+ compresstype(Datatype.Structtype.Compresstype.Enum.valueOf(dt.getCompressionConfig().type.toString())).
+ compresslevel(dt.getCompressionConfig().compressionLevel).
+ compressthreshold((int)dt.getCompressionConfig().threshold).
+ compressminsize((int)dt.getCompressionConfig().minsize);
}
- for (com.yahoo.document.Field field : structType.getFieldsThisTypeOnly()) {
- Datatype.Structtype.Field.Builder fieldBuilder = new Datatype.Structtype.Field.Builder();
- structBuilder.field(fieldBuilder);
- fieldBuilder.name(field.getName());
+ for (com.yahoo.document.Field field : dt.getFieldsThisTypeOnly()) {
+ Datatype.Structtype.Field.Builder fb = new Datatype.Structtype.Field.Builder();
+ st.field(fb);
+ fb.name(field.getName());
if (field.hasForcedId()) {
- fieldBuilder.id(new Datatype.Structtype.Field.Id.Builder().id(field.getId()));
+ fb.id(new Datatype.Structtype.Field.Id.Builder().id(field.getId()));
}
- fieldBuilder.datatype(field.getDataType().getId());
-
- if (field.getDataType() instanceof TensorDataType)
- fieldBuilder.detailedtype(((TensorDataType)field.getDataType()).getTensorType().toString());
+ fb.datatype(field.getDataType().getId());
}
- for (StructDataType inherited : structType.getInheritedTypes()) {
- structBuilder.inherits(new Datatype.Structtype.Inherits.Builder().name(inherited.getName()));
+ for (StructDataType inherited : dt.getInheritedTypes()) {
+ st.inherits(new Datatype.Structtype.Inherits.Builder().name(inherited.getName()));
}
} else if (type instanceof AnnotationReferenceDataType) {
AnnotationReferenceDataType annotationRef = (AnnotationReferenceDataType) type;
- builder.annotationreftype(new Datatype.Annotationreftype.Builder().annotation(annotationRef.getAnnotationType().getName()));
- } else if (type instanceof TensorDataType) {
- // Nothing to do; the type of the tensor is instead stored in each field as detailed type information
- // to provide better compatibility. A tensor field can have its tensorType changed (in compatible ways)
- // without changing the field type and thus requiring data refeed
+ dtc.annotationreftype(new Datatype.Annotationreftype.Builder().annotation(annotationRef.getAnnotationType().getName()));
} else {
- throw new IllegalArgumentException("Can not create config for data type '" + type.getName());
+ throw new IllegalArgumentException("Can not handle datatype '" + type.getName());
}
}
- private void buildConfig(Set<FieldSet> fieldSets, Datatype.Documenttype.Builder doc) {
+ private void handleFieldSets(Set<FieldSet> fieldSets, Datatype.Documenttype.Builder doc) {
+
for (FieldSet builtinFs : fieldSets) {
- buildConfig(builtinFs, doc);
+ handleFieldSet(builtinFs, doc);
}
}
- private void buildConfig(FieldSet fs, Datatype.Documenttype.Builder doc) {
+ private void handleFieldSet(FieldSet fs, Datatype.Documenttype.Builder doc) {
doc.fieldsets(fs.getName(), new Datatype.Documenttype.Fieldsets.Builder().fields(fs.getFieldNames()));
}
-
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java
index ebe18b36410..2ba34def464 100644
--- a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java
+++ b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java
@@ -2,11 +2,13 @@
package com.yahoo.vespa.configmodel.producers;
import com.yahoo.document.*;
+import com.yahoo.document.DocumenttypesConfig.Builder;
import com.yahoo.document.annotation.AnnotationReferenceDataType;
import com.yahoo.document.annotation.AnnotationType;
import com.yahoo.documentmodel.DataTypeCollection;
import com.yahoo.documentmodel.NewDocumentType;
import com.yahoo.documentmodel.VespaDocumentType;
+import com.yahoo.searchdefinition.FieldSets;
import com.yahoo.searchdefinition.document.FieldSet;
import com.yahoo.vespa.documentmodel.DocumentModel;
import java.util.*;
@@ -29,12 +31,12 @@ public class DocumentTypes {
for (NewDocumentType inherited : documentType.getInherited()) {
produceInheritOrder(inherited, builder, produced);
}
- buildConfig(documentType, builder);
+ handle(documentType, builder);
produced.put(documentType.getFullName(), documentType);
}
}
- private void buildConfig(NewDocumentType documentType, DocumenttypesConfig.Builder builder) {
+ private void handle(NewDocumentType documentType, DocumenttypesConfig.Builder builder) {
if (documentType == VespaDocumentType.INSTANCE) {
return;
}
@@ -44,40 +46,40 @@ public class DocumentTypes {
name(documentType.getName()).
headerstruct(documentType.getHeader().getId()).
bodystruct(documentType.getBody().getId());
- Set<Integer> built = new HashSet<>();
+ Set<Integer> handled = new HashSet<>();
for (NewDocumentType inherited : documentType.getInherited()) {
db.inherits(new DocumenttypesConfig.Documenttype.Inherits.Builder().id(inherited.getId()));
- markAsBuilt(built, inherited.getAllTypes());
+ markAsHandled(handled, inherited.getAllTypes());
}
for (DataType dt : documentType.getTypes()) {
- buildConfig(dt, db, built);
+ handle(dt, db, handled);
}
for(AnnotationType annotation : documentType.getAnnotations()) {
DocumenttypesConfig.Documenttype.Annotationtype.Builder atb = new DocumenttypesConfig.Documenttype.Annotationtype.Builder();
db.annotationtype(atb);
- buildConfig(annotation, atb);
+ handle(annotation, atb);
}
- buildConfig(documentType.getFieldSets(), db);
+ handleFieldSets(documentType.getFieldSets(), db);
builder.documenttype(db);
}
- private void buildConfig(Set<FieldSet> fieldSets, com.yahoo.document.DocumenttypesConfig.Documenttype.Builder db) {
+ private void handleFieldSets(Set<FieldSet> fieldSets, com.yahoo.document.DocumenttypesConfig.Documenttype.Builder db) {
for (FieldSet fs : fieldSets) {
- buildConfig(fs, db);
+ handleFieldSet(fs, db);
}
}
- private void buildConfig(FieldSet fs, DocumenttypesConfig.Documenttype.Builder db) {
+ private void handleFieldSet(FieldSet fs, DocumenttypesConfig.Documenttype.Builder db) {
db.fieldsets(fs.getName(), new DocumenttypesConfig.Documenttype.Fieldsets.Builder().fields(fs.getFieldNames()));
}
- private void markAsBuilt(Set<Integer> built, DataTypeCollection typeCollection) {
+ private void markAsHandled(Set<Integer> handled, DataTypeCollection typeCollection) {
for (DataType type : typeCollection.getTypes()) {
- built.add(type.getId());
+ handled.add(type.getId());
}
}
- private void buildConfig(AnnotationType annotation, DocumenttypesConfig.Documenttype.Annotationtype.Builder builder) {
+ private void handle(AnnotationType annotation, DocumenttypesConfig.Documenttype.Annotationtype.Builder builder) {
builder.
id(annotation.getId()).
name(annotation.getName());
@@ -90,77 +92,67 @@ public class DocumentTypes {
}
}
- private void buildConfig(DataType type, DocumenttypesConfig.Documenttype.Builder documentBuilder, Set<Integer> built) {
- if ((VespaDocumentType.INSTANCE.getDataType(type.getId()) == null) && ! built.contains(type.getId())) {
- built.add(type.getId());
- DocumenttypesConfig.Documenttype.Datatype.Builder dataTypeBuilder = new DocumenttypesConfig.Documenttype.Datatype.Builder();
- dataTypeBuilder.id(type.getId());
+ private void handle(DataType type, DocumenttypesConfig.Documenttype.Builder db, Set<Integer> handled) {
+ if ((VespaDocumentType.INSTANCE.getDataType(type.getId()) == null) && ! handled.contains(type.getId())) {
+ handled.add(type.getId());
+ DocumenttypesConfig.Documenttype.Datatype.Builder dtb = new DocumenttypesConfig.Documenttype.Datatype.Builder();
+ dtb.id(type.getId());
if (type instanceof StructDataType) {
- dataTypeBuilder.type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.STRUCT);
+ dtb.type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.valueOf("STRUCT"));
StructDataType dt = (StructDataType) type;
- DocumenttypesConfig.Documenttype.Datatype.Sstruct.Builder structBuilder = new DocumenttypesConfig.Documenttype.Datatype.Sstruct.Builder();
- dataTypeBuilder.sstruct(structBuilder);
- structBuilder.name(dt.getName());
+ DocumenttypesConfig.Documenttype.Datatype.Sstruct.Builder sb = new DocumenttypesConfig.Documenttype.Datatype.Sstruct.Builder();
+ dtb.sstruct(sb);
+ sb.name(dt.getName());
if (dt.getCompressionConfig().type.getCode() != 0) {
- structBuilder.compression(new DocumenttypesConfig.Documenttype.Datatype.Sstruct.Compression.Builder().
+ sb.compression(new DocumenttypesConfig.Documenttype.Datatype.Sstruct.Compression.Builder().
type(DocumenttypesConfig.Documenttype.Datatype.Sstruct.Compression.Type.Enum.valueOf(dt.getCompressionConfig().type.toString())).
level(dt.getCompressionConfig().compressionLevel).
threshold((int)dt.getCompressionConfig().threshold).
minsize((int)dt.getCompressionConfig().minsize));
}
for (com.yahoo.document.Field field : dt.getFields()) {
- DocumenttypesConfig.Documenttype.Datatype.Sstruct.Field.Builder builder =
- new DocumenttypesConfig.Documenttype.Datatype.Sstruct.Field.Builder();
- builder.name(field.getName()).
+ sb.field(new DocumenttypesConfig.Documenttype.Datatype.Sstruct.Field.Builder().
+ name(field.getName()).
id(field.getId()).
id_v6(field.getIdV6()).
- datatype(field.getDataType().getId());
- if (field.getDataType() instanceof TensorDataType)
- builder.detailedtype(((TensorDataType)field.getDataType()).getTensorType().toString());
- structBuilder.field(builder);
- buildConfig(field.getDataType(), documentBuilder, built);
+ datatype(field.getDataType().getId()));
+ handle(field.getDataType(), db, handled);
}
} else if (type instanceof ArrayDataType) {
- dataTypeBuilder.
- type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.ARRAY).
+ dtb.
+ type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.valueOf("ARRAY")).
array(new DocumenttypesConfig.Documenttype.Datatype.Array.Builder().
element(new DocumenttypesConfig.Documenttype.Datatype.Array.Element.Builder().id(((ArrayDataType)type).getNestedType().getId())));
- buildConfig(((ArrayDataType)type).getNestedType(), documentBuilder, built);
+ handle(((ArrayDataType)type).getNestedType(), db, handled);
} else if (type instanceof WeightedSetDataType) {
- dataTypeBuilder.type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.WSET).
+ dtb.type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.valueOf("WSET")).
wset(new DocumenttypesConfig.Documenttype.Datatype.Wset.Builder().
key(new DocumenttypesConfig.Documenttype.Datatype.Wset.Key.Builder().
id(((WeightedSetDataType)type).getNestedType().getId())).
createifnonexistent(((WeightedSetDataType)type).createIfNonExistent()).
removeifzero(((WeightedSetDataType)type).removeIfZero()));
- buildConfig(((WeightedSetDataType)type).getNestedType(), documentBuilder, built);
+ handle(((WeightedSetDataType)type).getNestedType(), db, handled);
} else if (type instanceof MapDataType) {
- dataTypeBuilder.
- type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.MAP).
+ dtb.
+ type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.valueOf("MAP")).
map(new DocumenttypesConfig.Documenttype.Datatype.Map.Builder().
key(new DocumenttypesConfig.Documenttype.Datatype.Map.Key.Builder().
id(((MapDataType)type).getKeyType().getId())).
value(new DocumenttypesConfig.Documenttype.Datatype.Map.Value.Builder().
id(((MapDataType)type).getValueType().getId())));
- buildConfig(((MapDataType)type).getKeyType(), documentBuilder, built);
- buildConfig(((MapDataType)type).getValueType(), documentBuilder, built);
+ handle(((MapDataType)type).getKeyType(), db, handled);
+ handle(((MapDataType)type).getValueType(), db, handled);
} else if (type instanceof AnnotationReferenceDataType) {
- dataTypeBuilder.
- type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.ANNOTATIONREF).
+ dtb.
+ type(DocumenttypesConfig.Documenttype.Datatype.Type.Enum.valueOf("ANNOTATIONREF")).
annotationref(new DocumenttypesConfig.Documenttype.Datatype.Annotationref.Builder().
annotation(new DocumenttypesConfig.Documenttype.Datatype.Annotationref.Annotation.Builder().
id(((AnnotationReferenceDataType)type).getAnnotationType().getId())));
- } else if (type instanceof TensorDataType) {
- // The type of the tensor is not stored here but instead in each field as detailed type information
- // to provide better compatibility. A tensor field can have its tensorType changed (in compatible ways)
- // without changing the field type and thus requiring data refeed
- return;
} else {
return;
}
- documentBuilder.datatype(dataTypeBuilder);
+ db.datatype(dtb);
}
}
-
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java
index 1d39d1e6928..c03fb0617b8 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java
@@ -43,7 +43,7 @@ public class SearchDataTypeValidator extends Validator {
for (Field field : doc.fieldSet()) {
DataType fieldType = field.getDataType();
disallowIndexingOfMaps(cluster, def, field);
- if ( ! isSupportedInSearchClusters(fieldType)) {
+ if (!validateDataType(fieldType)) {
throw new IllegalArgumentException("Field type '" + fieldType.getName() + "' is illegal for search " +
"clusters (field '" + field.getName() + "' in definition '" +
def.getName() + "' for cluster '" + cluster.getClusterName() + "').");
@@ -51,30 +51,28 @@ public class SearchDataTypeValidator extends Validator {
}
}
- private boolean isSupportedInSearchClusters(DataType dataType) {
- if (dataType instanceof ArrayDataType || dataType instanceof WeightedSetDataType) {
- return isSupportedInSearchClusters(((CollectionDataType)dataType).getNestedType());
+ private boolean validateDataType(DataType dataType) {
+ if (dataType instanceof ArrayDataType ||
+ dataType instanceof WeightedSetDataType)
+ {
+ return validateDataType(((CollectionDataType)dataType).getNestedType());
}
- else if (dataType instanceof StructDataType) {
+ if (dataType instanceof StructDataType) {
return true; // Struct will work for summary TODO maybe check individual fields
}
- else if (dataType instanceof MapDataType) {
+ if (dataType instanceof MapDataType) {
return true; // Maps will work for summary, see disallowIndexingOfMaps()
}
- else if (dataType instanceof TensorDataType) {
- return true;
- }
- else {
- return dataType.equals(DataType.INT) ||
- dataType.equals(DataType.FLOAT) ||
- dataType.equals(DataType.STRING) ||
- dataType.equals(DataType.RAW) ||
- dataType.equals(DataType.LONG) ||
- dataType.equals(DataType.DOUBLE) ||
- dataType.equals(DataType.URI) ||
- dataType.equals(DataType.BYTE) ||
- dataType.equals(DataType.PREDICATE);
- }
+ return dataType.equals(DataType.INT) ||
+ dataType.equals(DataType.FLOAT) ||
+ dataType.equals(DataType.STRING) ||
+ dataType.equals(DataType.RAW) ||
+ dataType.equals(DataType.LONG) ||
+ dataType.equals(DataType.DOUBLE) ||
+ dataType.equals(DataType.URI) ||
+ dataType.equals(DataType.BYTE) ||
+ dataType.equals(DataType.PREDICATE) ||
+ dataType.equals(DataType.TENSOR);
}
private void disallowIndexingOfMaps(AbstractSearchCluster cluster, SearchDefinition def, Field field) {
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj
index 3fc84f2860b..32be8906ffc 100644
--- a/config-model/src/main/javacc/SDParser.jj
+++ b/config-model/src/main/javacc/SDParser.jj
@@ -805,14 +805,13 @@ DataType dataType() :
DataType mapType=null;
DataType arrayType=null;
DataType wsetType=null;
- TensorType tensorType;
+
}
{
( LOOKAHEAD(<ARRAY> <LESSTHAN>) ( <ARRAY> <LESSTHAN> arrayType = dataType() <GREATERTHAN> { return DataType.getArray(arrayType); } )
| LOOKAHEAD(<WEIGHTEDSET> <LESSTHAN>) ( <WEIGHTEDSET> <LESSTHAN> wsetType = dataType() <GREATERTHAN> { return DataType.getWeightedSet(wsetType); } )
| LOOKAHEAD(<MAP> <LESSTHAN>) ( mapType = mapDataType() { return mapType; } )
| LOOKAHEAD(<ANNOTATIONREFERENCE> <LESSTHAN>) ( mapType = annotationRefDataType() { return mapType; } )
- | LOOKAHEAD(<TENSOR_TYPE>) ( tensorType = tensorType("Field type") { return DataType.getTensor(tensorType); } )
| ( typeName = identifier() ["[]" { isArrayOldStyle = true; }] )
)
{
diff --git a/config-model/src/test/cfg/application/validation/search_alltypes/searchdefinitions/simple.sd b/config-model/src/test/cfg/application/validation/search_alltypes/searchdefinitions/simple.sd
index a2b36416fd6..d2851816bc0 100644
--- a/config-model/src/test/cfg/application/validation/search_alltypes/searchdefinitions/simple.sd
+++ b/config-model/src/test/cfg/application/validation/search_alltypes/searchdefinitions/simple.sd
@@ -11,6 +11,6 @@ search simple {
field my_uri type uri { indexing: summary }
field my_byte type byte { indexing: summary }
field my_predicate type predicate { indexing: summary }
- field my_tensor type tensor(x{}) { indexing: summary }
+ field my_tensor type tensor { indexing: summary }
}
}
diff --git a/config-model/src/test/configmodel/types/documentmanager.cfg b/config-model/src/test/configmodel/types/documentmanager.cfg
index 6b01934307a..ac148209d6b 100644
--- a/config-model/src/test/configmodel/types/documentmanager.cfg
+++ b/config-model/src/test/configmodel/types/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -1865479609
datatype[1].maptype[0].keytype 2
datatype[1].maptype[0].valtype 4
@@ -24,16 +22,12 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "Version"
datatype[2].structtype[0].field[0].datatype 0
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "Name"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[2].structtype[0].field[2].name "FlagsCounter"
datatype[2].structtype[0].field[2].datatype -1865479609
-datatype[2].structtype[0].field[2].detailedtype ""
datatype[2].structtype[0].field[3].name "anotherfolder"
datatype[2].structtype[0].field[3].datatype 294108848
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[3].id 109267174
datatype[3].structtype[0].name "sct"
datatype[3].structtype[0].version 0
@@ -43,10 +37,8 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "s1"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "s2"
datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[4].id 49942803
datatype[4].arraytype[0].datatype 16
datatype[5].id 339965458
@@ -61,16 +53,12 @@ datatype[6].structtype[0].compressthreshold 95
datatype[6].structtype[0].compressminsize 800
datatype[6].structtype[0].field[0].name "bytearr"
datatype[6].structtype[0].field[0].datatype 49942803
-datatype[6].structtype[0].field[0].detailedtype ""
datatype[6].structtype[0].field[1].name "mymap"
datatype[6].structtype[0].field[1].datatype 339965458
-datatype[6].structtype[0].field[1].detailedtype ""
datatype[6].structtype[0].field[2].name "title"
datatype[6].structtype[0].field[2].datatype 2
-datatype[6].structtype[0].field[2].detailedtype ""
datatype[6].structtype[0].field[3].name "structfield"
datatype[6].structtype[0].field[3].datatype 2
-datatype[6].structtype[0].field[3].detailedtype ""
datatype[7].id -1245117006
datatype[7].arraytype[0].datatype 0
datatype[8].id 1328286588
@@ -127,91 +115,62 @@ datatype[24].structtype[0].compressthreshold 95
datatype[24].structtype[0].compressminsize 800
datatype[24].structtype[0].field[0].name "abyte"
datatype[24].structtype[0].field[0].datatype 16
-datatype[24].structtype[0].field[0].detailedtype ""
datatype[24].structtype[0].field[1].name "along"
datatype[24].structtype[0].field[1].datatype 4
-datatype[24].structtype[0].field[1].detailedtype ""
datatype[24].structtype[0].field[2].name "arrayfield"
datatype[24].structtype[0].field[2].datatype -1245117006
-datatype[24].structtype[0].field[2].detailedtype ""
datatype[24].structtype[0].field[3].name "setfield"
datatype[24].structtype[0].field[3].datatype 1328286588
-datatype[24].structtype[0].field[3].detailedtype ""
datatype[24].structtype[0].field[4].name "pos"
datatype[24].structtype[0].field[4].datatype 1381038251
-datatype[24].structtype[0].field[4].detailedtype ""
datatype[24].structtype[0].field[5].name "setfield2"
datatype[24].structtype[0].field[5].datatype 18
-datatype[24].structtype[0].field[5].detailedtype ""
datatype[24].structtype[0].field[6].name "setfield3"
datatype[24].structtype[0].field[6].datatype 2125328771
-datatype[24].structtype[0].field[6].detailedtype ""
datatype[24].structtype[0].field[7].name "setfield4"
datatype[24].structtype[0].field[7].datatype 2065577986
-datatype[24].structtype[0].field[7].detailedtype ""
datatype[24].structtype[0].field[8].name "tagfield"
datatype[24].structtype[0].field[8].datatype 18
-datatype[24].structtype[0].field[8].detailedtype ""
datatype[24].structtype[0].field[9].name "structfield"
datatype[24].structtype[0].field[9].datatype 109267174
-datatype[24].structtype[0].field[9].detailedtype ""
datatype[24].structtype[0].field[10].name "structarrayfield"
datatype[24].structtype[0].field[10].datatype -1244829667
-datatype[24].structtype[0].field[10].detailedtype ""
datatype[24].structtype[0].field[11].name "stringmapfield"
datatype[24].structtype[0].field[11].datatype 339965458
-datatype[24].structtype[0].field[11].detailedtype ""
datatype[24].structtype[0].field[12].name "intmapfield"
datatype[24].structtype[0].field[12].datatype -1584287606
-datatype[24].structtype[0].field[12].detailedtype ""
datatype[24].structtype[0].field[13].name "floatmapfield"
datatype[24].structtype[0].field[13].datatype 2125154557
-datatype[24].structtype[0].field[13].detailedtype ""
datatype[24].structtype[0].field[14].name "longmapfield"
datatype[24].structtype[0].field[14].datatype -1715531035
-datatype[24].structtype[0].field[14].detailedtype ""
datatype[24].structtype[0].field[15].name "doublemapfield"
datatype[24].structtype[0].field[15].datatype 2138385264
-datatype[24].structtype[0].field[15].detailedtype ""
datatype[24].structtype[0].field[16].name "arraymapfield"
datatype[24].structtype[0].field[16].datatype 435886609
-datatype[24].structtype[0].field[16].detailedtype ""
datatype[24].structtype[0].field[17].name "arrarr"
datatype[24].structtype[0].field[17].datatype -794985308
-datatype[24].structtype[0].field[17].detailedtype ""
datatype[24].structtype[0].field[18].name "maparr"
datatype[24].structtype[0].field[18].datatype 69621385
-datatype[24].structtype[0].field[18].detailedtype ""
datatype[24].structtype[0].field[19].name "mystructfield"
datatype[24].structtype[0].field[19].datatype -2092985853
-datatype[24].structtype[0].field[19].detailedtype ""
datatype[24].structtype[0].field[20].name "mystructmap"
datatype[24].structtype[0].field[20].datatype 1901258752
-datatype[24].structtype[0].field[20].detailedtype ""
datatype[24].structtype[0].field[21].name "mystructarr"
datatype[24].structtype[0].field[21].datatype 759956026
-datatype[24].structtype[0].field[21].detailedtype ""
datatype[24].structtype[0].field[22].name "Folders"
datatype[24].structtype[0].field[22].datatype -389833101
-datatype[24].structtype[0].field[22].detailedtype ""
datatype[24].structtype[0].field[23].name "juletre"
datatype[24].structtype[0].field[23].datatype 4
-datatype[24].structtype[0].field[23].detailedtype ""
datatype[24].structtype[0].field[24].name "album0"
datatype[24].structtype[0].field[24].datatype 18
-datatype[24].structtype[0].field[24].detailedtype ""
datatype[24].structtype[0].field[25].name "album1"
datatype[24].structtype[0].field[25].datatype 18
-datatype[24].structtype[0].field[25].detailedtype ""
datatype[24].structtype[0].field[26].name "other"
datatype[24].structtype[0].field[26].datatype 4
-datatype[24].structtype[0].field[26].detailedtype ""
datatype[24].structtype[0].field[27].name "rankfeatures"
datatype[24].structtype[0].field[27].datatype 2
-datatype[24].structtype[0].field[27].detailedtype ""
datatype[24].structtype[0].field[28].name "summaryfeatures"
datatype[24].structtype[0].field[28].datatype 2
-datatype[24].structtype[0].field[28].detailedtype ""
datatype[25].id 171503364
datatype[25].maptype[0].keytype 1707615575
datatype[25].maptype[0].valtype 0
@@ -226,7 +185,6 @@ datatype[27].structtype[0].compressthreshold 95
datatype[27].structtype[0].compressminsize 800
datatype[27].structtype[0].field[0].name "complexarray"
datatype[27].structtype[0].field[0].datatype 1100964733
-datatype[27].structtype[0].field[0].detailedtype ""
datatype[28].id -853072901
datatype[28].documenttype[0].name "types"
datatype[28].documenttype[0].version 0
@@ -260,4 +218,4 @@ datatype[28].documenttype[0].fieldsets{[document]}.fields[22] "setfield4"
datatype[28].documenttype[0].fieldsets{[document]}.fields[23] "stringmapfield"
datatype[28].documenttype[0].fieldsets{[document]}.fields[24] "structarrayfield"
datatype[28].documenttype[0].fieldsets{[document]}.fields[25] "structfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[26] "tagfield" \ No newline at end of file
+datatype[28].documenttype[0].fieldsets{[document]}.fields[26] "tagfield"
diff --git a/config-model/src/test/configmodel/types/documenttypes.cfg b/config-model/src/test/configmodel/types/documenttypes.cfg
index dc7962adec7..eacd878e13d 100644
--- a/config-model/src/test/configmodel/types/documenttypes.cfg
+++ b/config-model/src/test/configmodel/types/documenttypes.cfg
@@ -39,22 +39,18 @@ documenttype[0].datatype[1].sstruct.field[0].name "Version"
documenttype[0].datatype[1].sstruct.field[0].id 64430502
documenttype[0].datatype[1].sstruct.field[0].id_v6 634243672
documenttype[0].datatype[1].sstruct.field[0].datatype 0
-documenttype[0].datatype[1].sstruct.field[0].detailedtype ""
documenttype[0].datatype[1].sstruct.field[1].name "Name"
documenttype[0].datatype[1].sstruct.field[1].id 2002760220
documenttype[0].datatype[1].sstruct.field[1].id_v6 62942997
documenttype[0].datatype[1].sstruct.field[1].datatype 2
-documenttype[0].datatype[1].sstruct.field[1].detailedtype ""
documenttype[0].datatype[1].sstruct.field[2].name "FlagsCounter"
documenttype[0].datatype[1].sstruct.field[2].id 1741227606
documenttype[0].datatype[1].sstruct.field[2].id_v6 1287497652
documenttype[0].datatype[1].sstruct.field[2].datatype -1865479609
-documenttype[0].datatype[1].sstruct.field[2].detailedtype ""
documenttype[0].datatype[1].sstruct.field[3].name "anotherfolder"
documenttype[0].datatype[1].sstruct.field[3].id 1582421848
documenttype[0].datatype[1].sstruct.field[3].id_v6 1898725199
documenttype[0].datatype[1].sstruct.field[3].datatype 294108848
-documenttype[0].datatype[1].sstruct.field[3].detailedtype ""
documenttype[0].datatype[2].id 109267174
documenttype[0].datatype[2].type STRUCT
documenttype[0].datatype[2].array.element.id 0
@@ -74,12 +70,10 @@ documenttype[0].datatype[2].sstruct.field[0].name "s1"
documenttype[0].datatype[2].sstruct.field[0].id 2146820765
documenttype[0].datatype[2].sstruct.field[0].id_v6 142373281
documenttype[0].datatype[2].sstruct.field[0].datatype 2
-documenttype[0].datatype[2].sstruct.field[0].detailedtype ""
documenttype[0].datatype[2].sstruct.field[1].name "s2"
documenttype[0].datatype[2].sstruct.field[1].id 45366795
documenttype[0].datatype[2].sstruct.field[1].id_v6 31106270
documenttype[0].datatype[2].sstruct.field[1].datatype 2
-documenttype[0].datatype[2].sstruct.field[1].detailedtype ""
documenttype[0].datatype[3].id 49942803
documenttype[0].datatype[3].type ARRAY
documenttype[0].datatype[3].array.element.id 16
@@ -129,22 +123,18 @@ documenttype[0].datatype[5].sstruct.field[0].name "bytearr"
documenttype[0].datatype[5].sstruct.field[0].id 1079701754
documenttype[0].datatype[5].sstruct.field[0].id_v6 1198855694
documenttype[0].datatype[5].sstruct.field[0].datatype 49942803
-documenttype[0].datatype[5].sstruct.field[0].detailedtype ""
documenttype[0].datatype[5].sstruct.field[1].name "mymap"
documenttype[0].datatype[5].sstruct.field[1].id 1954178122
documenttype[0].datatype[5].sstruct.field[1].id_v6 707189723
documenttype[0].datatype[5].sstruct.field[1].datatype 339965458
-documenttype[0].datatype[5].sstruct.field[1].detailedtype ""
documenttype[0].datatype[5].sstruct.field[2].name "title"
documenttype[0].datatype[5].sstruct.field[2].id 567626448
documenttype[0].datatype[5].sstruct.field[2].id_v6 29129762
documenttype[0].datatype[5].sstruct.field[2].datatype 2
-documenttype[0].datatype[5].sstruct.field[2].detailedtype ""
documenttype[0].datatype[5].sstruct.field[3].name "structfield"
documenttype[0].datatype[5].sstruct.field[3].id 1726890940
documenttype[0].datatype[5].sstruct.field[3].id_v6 418303145
documenttype[0].datatype[5].sstruct.field[3].datatype 2
-documenttype[0].datatype[5].sstruct.field[3].detailedtype ""
documenttype[0].datatype[6].id -1245117006
documenttype[0].datatype[6].type ARRAY
documenttype[0].datatype[6].array.element.id 0
@@ -419,147 +409,118 @@ documenttype[0].datatype[23].sstruct.field[0].name "abyte"
documenttype[0].datatype[23].sstruct.field[0].id 110138156
documenttype[0].datatype[23].sstruct.field[0].id_v6 1369099343
documenttype[0].datatype[23].sstruct.field[0].datatype 16
-documenttype[0].datatype[23].sstruct.field[0].detailedtype ""
documenttype[0].datatype[23].sstruct.field[1].name "along"
documenttype[0].datatype[23].sstruct.field[1].id 1206464520
documenttype[0].datatype[23].sstruct.field[1].id_v6 871280609
documenttype[0].datatype[23].sstruct.field[1].datatype 4
-documenttype[0].datatype[23].sstruct.field[1].detailedtype ""
documenttype[0].datatype[23].sstruct.field[2].name "arrayfield"
documenttype[0].datatype[23].sstruct.field[2].id 965790107
documenttype[0].datatype[23].sstruct.field[2].id_v6 1010955705
documenttype[0].datatype[23].sstruct.field[2].datatype -1245117006
-documenttype[0].datatype[23].sstruct.field[2].detailedtype ""
documenttype[0].datatype[23].sstruct.field[3].name "setfield"
documenttype[0].datatype[23].sstruct.field[3].id 761581914
documenttype[0].datatype[23].sstruct.field[3].id_v6 1762943268
documenttype[0].datatype[23].sstruct.field[3].datatype 1328286588
-documenttype[0].datatype[23].sstruct.field[3].detailedtype ""
documenttype[0].datatype[23].sstruct.field[4].name "pos"
documenttype[0].datatype[23].sstruct.field[4].id 1041567475
documenttype[0].datatype[23].sstruct.field[4].id_v6 26353693
documenttype[0].datatype[23].sstruct.field[4].datatype 1381038251
-documenttype[0].datatype[23].sstruct.field[4].detailedtype ""
documenttype[0].datatype[23].sstruct.field[5].name "setfield2"
documenttype[0].datatype[23].sstruct.field[5].id 1066659198
documenttype[0].datatype[23].sstruct.field[5].id_v6 813038565
documenttype[0].datatype[23].sstruct.field[5].datatype 18
-documenttype[0].datatype[23].sstruct.field[5].detailedtype ""
documenttype[0].datatype[23].sstruct.field[6].name "setfield3"
documenttype[0].datatype[23].sstruct.field[6].id 1180155772
documenttype[0].datatype[23].sstruct.field[6].id_v6 1697232199
documenttype[0].datatype[23].sstruct.field[6].datatype 2125328771
-documenttype[0].datatype[23].sstruct.field[6].detailedtype ""
documenttype[0].datatype[23].sstruct.field[7].name "setfield4"
documenttype[0].datatype[23].sstruct.field[7].id 1254131631
documenttype[0].datatype[23].sstruct.field[7].id_v6 119755202
documenttype[0].datatype[23].sstruct.field[7].datatype 2065577986
-documenttype[0].datatype[23].sstruct.field[7].detailedtype ""
documenttype[0].datatype[23].sstruct.field[8].name "tagfield"
documenttype[0].datatype[23].sstruct.field[8].id 1653562069
documenttype[0].datatype[23].sstruct.field[8].id_v6 938523246
documenttype[0].datatype[23].sstruct.field[8].datatype 18
-documenttype[0].datatype[23].sstruct.field[8].detailedtype ""
documenttype[0].datatype[23].sstruct.field[9].name "structfield"
documenttype[0].datatype[23].sstruct.field[9].id 486207386
documenttype[0].datatype[23].sstruct.field[9].id_v6 418303145
documenttype[0].datatype[23].sstruct.field[9].datatype 109267174
-documenttype[0].datatype[23].sstruct.field[9].detailedtype ""
documenttype[0].datatype[23].sstruct.field[10].name "structarrayfield"
documenttype[0].datatype[23].sstruct.field[10].id 335048518
documenttype[0].datatype[23].sstruct.field[10].id_v6 607034174
documenttype[0].datatype[23].sstruct.field[10].datatype -1244829667
-documenttype[0].datatype[23].sstruct.field[10].detailedtype ""
documenttype[0].datatype[23].sstruct.field[11].name "stringmapfield"
documenttype[0].datatype[23].sstruct.field[11].id 117465687
documenttype[0].datatype[23].sstruct.field[11].id_v6 1492788095
documenttype[0].datatype[23].sstruct.field[11].datatype 339965458
-documenttype[0].datatype[23].sstruct.field[11].detailedtype ""
documenttype[0].datatype[23].sstruct.field[12].name "intmapfield"
documenttype[0].datatype[23].sstruct.field[12].id 121004462
documenttype[0].datatype[23].sstruct.field[12].id_v6 1642487905
documenttype[0].datatype[23].sstruct.field[12].datatype -1584287606
-documenttype[0].datatype[23].sstruct.field[12].detailedtype ""
documenttype[0].datatype[23].sstruct.field[13].name "floatmapfield"
documenttype[0].datatype[23].sstruct.field[13].id 1239120925
documenttype[0].datatype[23].sstruct.field[13].id_v6 1609437589
documenttype[0].datatype[23].sstruct.field[13].datatype 2125154557
-documenttype[0].datatype[23].sstruct.field[13].detailedtype ""
documenttype[0].datatype[23].sstruct.field[14].name "longmapfield"
documenttype[0].datatype[23].sstruct.field[14].id 477718745
documenttype[0].datatype[23].sstruct.field[14].id_v6 920341968
documenttype[0].datatype[23].sstruct.field[14].datatype -1715531035
-documenttype[0].datatype[23].sstruct.field[14].detailedtype ""
documenttype[0].datatype[23].sstruct.field[15].name "doublemapfield"
documenttype[0].datatype[23].sstruct.field[15].id 877047192
documenttype[0].datatype[23].sstruct.field[15].id_v6 957317090
documenttype[0].datatype[23].sstruct.field[15].datatype 2138385264
-documenttype[0].datatype[23].sstruct.field[15].detailedtype ""
documenttype[0].datatype[23].sstruct.field[16].name "arraymapfield"
documenttype[0].datatype[23].sstruct.field[16].id 1670805928
documenttype[0].datatype[23].sstruct.field[16].id_v6 1940354311
documenttype[0].datatype[23].sstruct.field[16].datatype 435886609
-documenttype[0].datatype[23].sstruct.field[16].detailedtype ""
documenttype[0].datatype[23].sstruct.field[17].name "arrarr"
documenttype[0].datatype[23].sstruct.field[17].id 1962567166
documenttype[0].datatype[23].sstruct.field[17].id_v6 885141301
documenttype[0].datatype[23].sstruct.field[17].datatype -794985308
-documenttype[0].datatype[23].sstruct.field[17].detailedtype ""
documenttype[0].datatype[23].sstruct.field[18].name "maparr"
documenttype[0].datatype[23].sstruct.field[18].id 904375219
documenttype[0].datatype[23].sstruct.field[18].id_v6 63700074
documenttype[0].datatype[23].sstruct.field[18].datatype 69621385
-documenttype[0].datatype[23].sstruct.field[18].detailedtype ""
documenttype[0].datatype[23].sstruct.field[19].name "mystructfield"
documenttype[0].datatype[23].sstruct.field[19].id 1348513378
documenttype[0].datatype[23].sstruct.field[19].id_v6 2033170300
documenttype[0].datatype[23].sstruct.field[19].datatype -2092985853
-documenttype[0].datatype[23].sstruct.field[19].detailedtype ""
documenttype[0].datatype[23].sstruct.field[20].name "mystructmap"
documenttype[0].datatype[23].sstruct.field[20].id 1511423250
documenttype[0].datatype[23].sstruct.field[20].id_v6 449602635
documenttype[0].datatype[23].sstruct.field[20].datatype 1901258752
-documenttype[0].datatype[23].sstruct.field[20].detailedtype ""
documenttype[0].datatype[23].sstruct.field[21].name "mystructarr"
documenttype[0].datatype[23].sstruct.field[21].id 595856991
documenttype[0].datatype[23].sstruct.field[21].id_v6 764861972
documenttype[0].datatype[23].sstruct.field[21].datatype 759956026
-documenttype[0].datatype[23].sstruct.field[21].detailedtype ""
documenttype[0].datatype[23].sstruct.field[22].name "Folders"
documenttype[0].datatype[23].sstruct.field[22].id 34575524
documenttype[0].datatype[23].sstruct.field[22].id_v6 280569744
documenttype[0].datatype[23].sstruct.field[22].datatype -389833101
-documenttype[0].datatype[23].sstruct.field[22].detailedtype ""
documenttype[0].datatype[23].sstruct.field[23].name "juletre"
documenttype[0].datatype[23].sstruct.field[23].id 1039981530
documenttype[0].datatype[23].sstruct.field[23].id_v6 2073084146
documenttype[0].datatype[23].sstruct.field[23].datatype 4
-documenttype[0].datatype[23].sstruct.field[23].detailedtype ""
documenttype[0].datatype[23].sstruct.field[24].name "album0"
documenttype[0].datatype[23].sstruct.field[24].id 764312262
documenttype[0].datatype[23].sstruct.field[24].id_v6 1409364160
documenttype[0].datatype[23].sstruct.field[24].datatype 18
-documenttype[0].datatype[23].sstruct.field[24].detailedtype ""
documenttype[0].datatype[23].sstruct.field[25].name "album1"
documenttype[0].datatype[23].sstruct.field[25].id 1967160809
documenttype[0].datatype[23].sstruct.field[25].id_v6 1833811264
documenttype[0].datatype[23].sstruct.field[25].datatype 18
-documenttype[0].datatype[23].sstruct.field[25].detailedtype ""
documenttype[0].datatype[23].sstruct.field[26].name "other"
documenttype[0].datatype[23].sstruct.field[26].id 2443357
documenttype[0].datatype[23].sstruct.field[26].id_v6 903806222
documenttype[0].datatype[23].sstruct.field[26].datatype 4
-documenttype[0].datatype[23].sstruct.field[26].detailedtype ""
documenttype[0].datatype[23].sstruct.field[27].name "rankfeatures"
documenttype[0].datatype[23].sstruct.field[27].id 1883197392
documenttype[0].datatype[23].sstruct.field[27].id_v6 699950698
documenttype[0].datatype[23].sstruct.field[27].datatype 2
-documenttype[0].datatype[23].sstruct.field[27].detailedtype ""
documenttype[0].datatype[23].sstruct.field[28].name "summaryfeatures"
documenttype[0].datatype[23].sstruct.field[28].id 1840337115
documenttype[0].datatype[23].sstruct.field[28].id_v6 1981648971
documenttype[0].datatype[23].sstruct.field[28].datatype 2
-documenttype[0].datatype[23].sstruct.field[28].detailedtype ""
documenttype[0].datatype[24].id 171503364
documenttype[0].datatype[24].type MAP
documenttype[0].datatype[24].array.element.id 0
@@ -609,7 +570,6 @@ documenttype[0].datatype[26].sstruct.field[0].name "complexarray"
documenttype[0].datatype[26].sstruct.field[0].id 1028383787
documenttype[0].datatype[26].sstruct.field[0].id_v6 658530305
documenttype[0].datatype[26].sstruct.field[0].datatype 1100964733
-documenttype[0].datatype[26].sstruct.field[0].detailedtype ""
documenttype[0].fieldsets{[document]}.fields[0] "Folders"
documenttype[0].fieldsets{[document]}.fields[1] "abyte"
documenttype[0].fieldsets{[document]}.fields[2] "album0"
@@ -636,4 +596,4 @@ documenttype[0].fieldsets{[document]}.fields[22] "setfield4"
documenttype[0].fieldsets{[document]}.fields[23] "stringmapfield"
documenttype[0].fieldsets{[document]}.fields[24] "structarrayfield"
documenttype[0].fieldsets{[document]}.fields[25] "structfield"
-documenttype[0].fieldsets{[document]}.fields[26] "tagfield" \ No newline at end of file
+documenttype[0].fieldsets{[document]}.fields[26] "tagfield"
diff --git a/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg b/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
index 3073dd55fba..d13195f1ffe 100644
--- a/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
+++ b/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
@@ -24,12 +24,10 @@ documenttype[0].datatype[0].sstruct.field[0].name "rankfeatures"
documenttype[0].datatype[0].sstruct.field[0].id 1883197392
documenttype[0].datatype[0].sstruct.field[0].id_v6 699950698
documenttype[0].datatype[0].sstruct.field[0].datatype 2
-documenttype[0].datatype[0].sstruct.field[0].detailedtype ""
documenttype[0].datatype[0].sstruct.field[1].name "summaryfeatures"
documenttype[0].datatype[0].sstruct.field[1].id 1840337115
documenttype[0].datatype[0].sstruct.field[1].id_v6 1981648971
documenttype[0].datatype[0].sstruct.field[1].datatype 2
-documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
documenttype[0].datatype[1].id 549879017
documenttype[0].datatype[1].type STRUCT
documenttype[0].datatype[1].array.element.id 0
@@ -85,17 +83,14 @@ documenttype[1].datatype[1].sstruct.field[0].name "doc_field"
documenttype[1].datatype[1].sstruct.field[0].id 819293364
documenttype[1].datatype[1].sstruct.field[0].id_v6 1634907905
documenttype[1].datatype[1].sstruct.field[0].datatype -1368624373
-documenttype[1].datatype[1].sstruct.field[0].detailedtype ""
documenttype[1].datatype[1].sstruct.field[1].name "rankfeatures"
documenttype[1].datatype[1].sstruct.field[1].id 1883197392
documenttype[1].datatype[1].sstruct.field[1].id_v6 699950698
documenttype[1].datatype[1].sstruct.field[1].datatype 2
-documenttype[1].datatype[1].sstruct.field[1].detailedtype ""
documenttype[1].datatype[1].sstruct.field[2].name "summaryfeatures"
documenttype[1].datatype[1].sstruct.field[2].id 1840337115
documenttype[1].datatype[1].sstruct.field[2].id_v6 1981648971
documenttype[1].datatype[1].sstruct.field[2].datatype 2
-documenttype[1].datatype[1].sstruct.field[2].detailedtype ""
documenttype[1].datatype[2].id 348447225
documenttype[1].datatype[2].type STRUCT
documenttype[1].datatype[2].array.element.id 0
@@ -111,4 +106,4 @@ documenttype[1].datatype[2].sstruct.compression.type NONE
documenttype[1].datatype[2].sstruct.compression.level 0
documenttype[1].datatype[2].sstruct.compression.threshold 95
documenttype[1].datatype[2].sstruct.compression.minsize 200
-documenttype[1].fieldsets{[document]}.fields[0] "doc_field" \ No newline at end of file
+documenttype[1].fieldsets{[document]}.fields[0] "doc_field"
diff --git a/config-model/src/test/derived/advanced/documentmanager.cfg b/config-model/src/test/derived/advanced/documentmanager.cfg
index 532f53f51d2..98c3d379987 100644
--- a/config-model/src/test/derived/advanced/documentmanager.cfg
+++ b/config-model/src/test/derived/advanced/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -1486737430
datatype[1].arraytype[0].datatype 2
datatype[2].id -1337915045
@@ -23,64 +21,44 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "debug_src"
datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "attributes_src"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[2].structtype[0].field[2].name "location_str"
datatype[2].structtype[0].field[2].datatype 2
-datatype[2].structtype[0].field[2].detailedtype ""
datatype[2].structtype[0].field[3].name "title_src"
datatype[2].structtype[0].field[3].datatype 2
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[2].structtype[0].field[4].name "product_src"
datatype[2].structtype[0].field[4].datatype 2
-datatype[2].structtype[0].field[4].detailedtype ""
datatype[2].structtype[0].field[5].name "product2_src"
datatype[2].structtype[0].field[5].datatype 2
-datatype[2].structtype[0].field[5].detailedtype ""
datatype[2].structtype[0].field[6].name "product3_src"
datatype[2].structtype[0].field[6].datatype 2
-datatype[2].structtype[0].field[6].detailedtype ""
datatype[2].structtype[0].field[7].name "debug"
datatype[2].structtype[0].field[7].datatype 2
-datatype[2].structtype[0].field[7].detailedtype ""
datatype[2].structtype[0].field[8].name "attributes"
datatype[2].structtype[0].field[8].datatype 2
-datatype[2].structtype[0].field[8].detailedtype ""
datatype[2].structtype[0].field[9].name "title"
datatype[2].structtype[0].field[9].datatype 2
-datatype[2].structtype[0].field[9].detailedtype ""
datatype[2].structtype[0].field[10].name "product"
datatype[2].structtype[0].field[10].datatype 2
-datatype[2].structtype[0].field[10].detailedtype ""
datatype[2].structtype[0].field[11].name "product2"
datatype[2].structtype[0].field[11].datatype 2
-datatype[2].structtype[0].field[11].detailedtype ""
datatype[2].structtype[0].field[12].name "product3"
datatype[2].structtype[0].field[12].datatype 2
-datatype[2].structtype[0].field[12].detailedtype ""
datatype[2].structtype[0].field[13].name "location_zcurve"
datatype[2].structtype[0].field[13].datatype 4
-datatype[2].structtype[0].field[13].detailedtype ""
datatype[2].structtype[0].field[14].name "title_s"
datatype[2].structtype[0].field[14].datatype 2
-datatype[2].structtype[0].field[14].detailedtype ""
datatype[2].structtype[0].field[15].name "location.position"
datatype[2].structtype[0].field[15].datatype -1486737430
-datatype[2].structtype[0].field[15].detailedtype ""
datatype[2].structtype[0].field[16].name "location.distance"
datatype[2].structtype[0].field[16].datatype 0
-datatype[2].structtype[0].field[16].detailedtype ""
datatype[2].structtype[0].field[17].name "mysummary"
datatype[2].structtype[0].field[17].datatype 2
-datatype[2].structtype[0].field[17].detailedtype ""
datatype[2].structtype[0].field[18].name "rankfeatures"
datatype[2].structtype[0].field[18].datatype 2
-datatype[2].structtype[0].field[18].detailedtype ""
datatype[2].structtype[0].field[19].name "summaryfeatures"
datatype[2].structtype[0].field[19].datatype 2
-datatype[2].structtype[0].field[19].detailedtype ""
datatype[3].id -704605648
datatype[3].structtype[0].name "advanced.body"
datatype[3].structtype[0].version 0
diff --git a/config-model/src/test/derived/advanced/index-info.cfg b/config-model/src/test/derived/advanced/index-info.cfg
index 7af5b858d3a..1bb68110dae 100644
--- a/config-model/src/test/derived/advanced/index-info.cfg
+++ b/config-model/src/test/derived/advanced/index-info.cfg
@@ -75,23 +75,23 @@ indexinfo[0].command[36].indexname "summaryfeatures"
indexinfo[0].command[36].command "index"
indexinfo[0].command[37].indexname "title"
indexinfo[0].command[37].command "index"
-indexinfo[0].command[38].indexname "title"
-indexinfo[0].command[38].command "lowercase"
-indexinfo[0].command[39].indexname "title"
-indexinfo[0].command[39].command "normalize"
-indexinfo[0].command[40].indexname "title_s"
-indexinfo[0].command[40].command "index"
+indexinfo[0].command[38].indexname "titleabstract"
+indexinfo[0].command[38].command "index"
+indexinfo[0].command[39].indexname "default"
+indexinfo[0].command[39].command "index"
+indexinfo[0].command[40].indexname "title"
+indexinfo[0].command[40].command "lowercase"
indexinfo[0].command[41].indexname "titleabstract"
indexinfo[0].command[41].command "lowercase"
-indexinfo[0].command[42].indexname "titleabstract"
-indexinfo[0].command[42].command "index"
-indexinfo[0].command[43].indexname "titleabstract"
+indexinfo[0].command[42].indexname "default"
+indexinfo[0].command[42].command "lowercase"
+indexinfo[0].command[43].indexname "title"
indexinfo[0].command[43].command "normalize"
-indexinfo[0].command[44].indexname "default"
-indexinfo[0].command[44].command "lowercase"
+indexinfo[0].command[44].indexname "titleabstract"
+indexinfo[0].command[44].command "normalize"
indexinfo[0].command[45].indexname "default"
-indexinfo[0].command[45].command "index"
-indexinfo[0].command[46].indexname "default"
-indexinfo[0].command[46].command "normalize"
+indexinfo[0].command[45].command "normalize"
+indexinfo[0].command[46].indexname "title_s"
+indexinfo[0].command[46].command "index"
indexinfo[0].alias[0].alias "headline"
indexinfo[0].alias[0].indexname "title" \ No newline at end of file
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
index 1e9ffba5ca0..db85eb92e9b 100755
--- a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 517946310
datatype[1].structtype[0].name "annotation.banana"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "brand"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id -364910881
datatype[2].structtype[0].name "annotationsimplicitstruct.header"
datatype[2].structtype[0].version 0
@@ -31,10 +28,8 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "rankfeatures"
datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "summaryfeatures"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[3].id -1503592268
datatype[3].structtype[0].name "annotationsimplicitstruct.body"
datatype[3].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
index db7fba5d9a6..11e179ec748 100755
--- a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 517946310
datatype[1].structtype[0].name "annotation.banana"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "brand"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id -1339036621
datatype[2].structtype[0].name "annotation.intern"
datatype[2].structtype[0].version 0
@@ -31,7 +28,6 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "enddate"
datatype[2].structtype[0].field[0].datatype 4
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].inherits[0].name "annotation.employee"
datatype[2].structtype[0].inherits[0].version 0
datatype[3].id 249059607
@@ -43,7 +39,6 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "color"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].inherits[0].name "annotation.vehicle"
datatype[3].structtype[0].inherits[0].version 0
datatype[4].id -1466283082
@@ -55,7 +50,6 @@ datatype[4].structtype[0].compressthreshold 95
datatype[4].structtype[0].compressminsize 800
datatype[4].structtype[0].field[0].name "name"
datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[5].id -858216177
datatype[5].structtype[0].name "annotation.employee"
datatype[5].structtype[0].version 0
@@ -65,7 +59,6 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "employeeid"
datatype[5].structtype[0].field[0].datatype 0
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[5].structtype[0].inherits[0].name "annotation.worker"
datatype[5].structtype[0].inherits[0].version 0
datatype[6].id -1874092641
@@ -86,7 +79,6 @@ datatype[7].structtype[0].compressthreshold 95
datatype[7].structtype[0].compressminsize 800
datatype[7].structtype[0].field[0].name "numwheels"
datatype[7].structtype[0].field[0].datatype 0
-datatype[7].structtype[0].field[0].detailedtype ""
datatype[8].id -1406250281
datatype[8].structtype[0].name "annotationsinheritance.header"
datatype[8].structtype[0].version 0
@@ -96,10 +88,8 @@ datatype[8].structtype[0].compressthreshold 95
datatype[8].structtype[0].compressminsize 800
datatype[8].structtype[0].field[0].name "rankfeatures"
datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].detailedtype ""
datatype[8].structtype[0].field[1].name "summaryfeatures"
datatype[8].structtype[0].field[1].datatype 2
-datatype[8].structtype[0].field[1].detailedtype ""
datatype[9].id 1181354668
datatype[9].structtype[0].name "annotationsinheritance.body"
datatype[9].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
index 6f83fbc5ce6..e49d0753296 100755
--- a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 1443831334
datatype[1].structtype[0].name "annotation.c"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "cfoo"
datatype[1].structtype[0].field[0].datatype 0
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 1443832295
datatype[2].structtype[0].name "annotation.d"
datatype[2].structtype[0].version 0
@@ -49,7 +46,6 @@ datatype[4].structtype[0].compressthreshold 95
datatype[4].structtype[0].compressminsize 800
datatype[4].structtype[0].field[0].name "gfoo"
datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[5].id 424382193
datatype[5].structtype[0].name "annotationsinheritance2.header"
datatype[5].structtype[0].version 0
@@ -59,10 +55,8 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "rankfeatures"
datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[5].structtype[0].field[1].name "summaryfeatures"
datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
datatype[6].id 1375438150
datatype[6].structtype[0].name "annotationsinheritance2.body"
datatype[6].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
index db333ed0a13..d612a3b168b 100755
--- a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -2014701853
datatype[1].annotationreftype[0].annotation "super"
datatype[2].id -888007918
@@ -23,7 +21,6 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "a"
datatype[2].structtype[0].field[0].datatype -2014701853
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[3].id -1552577796
datatype[3].structtype[0].name "annotationspolymorphy.header"
datatype[3].structtype[0].version 0
@@ -33,10 +30,8 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "rankfeatures"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "summaryfeatures"
datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[4].id -570750959
datatype[4].structtype[0].name "annotationspolymorphy.body"
datatype[4].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationsreference/documentmanager.cfg b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
index 25106a41836..3218262b54d 100755
--- a/config-model/src/test/derived/annotationsreference/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 517946310
datatype[1].structtype[0].name "annotation.banana"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "brand"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 400622300
datatype[2].annotationreftype[0].annotation "b"
datatype[3].id 1443829412
@@ -33,7 +30,6 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "foo"
datatype[3].structtype[0].field[0].datatype 400622300
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[4].id -808460615
datatype[4].annotationreftype[0].annotation "banana"
datatype[5].id -770307521
@@ -45,7 +41,6 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "what"
datatype[5].structtype[0].field[0].datatype -808460615
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[6].id 756306917
datatype[6].annotationreftype[0].annotation "cyclic"
datatype[7].id 1781099546
@@ -57,7 +52,6 @@ datatype[7].structtype[0].compressthreshold 95
datatype[7].structtype[0].compressminsize 800
datatype[7].structtype[0].field[0].name "blah"
datatype[7].structtype[0].field[0].datatype 756306917
-datatype[7].structtype[0].field[0].detailedtype ""
datatype[8].id 571255414
datatype[8].structtype[0].name "annotationsreference.header"
datatype[8].structtype[0].version 0
@@ -67,10 +61,8 @@ datatype[8].structtype[0].compressthreshold 95
datatype[8].structtype[0].compressminsize 800
datatype[8].structtype[0].field[0].name "rankfeatures"
datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].detailedtype ""
datatype[8].structtype[0].field[1].name "summaryfeatures"
datatype[8].structtype[0].field[1].datatype 2
-datatype[8].structtype[0].field[1].detailedtype ""
datatype[9].id 1692909067
datatype[9].structtype[0].name "annotationsreference.body"
datatype[9].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationssimple/documentmanager.cfg b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
index 8908d886ff9..54832bb97f9 100755
--- a/config-model/src/test/derived/annotationssimple/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -1205708249
datatype[1].structtype[0].name "annotationssimple.header"
datatype[1].structtype[0].version 0
@@ -21,10 +19,8 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "rankfeatures"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "summaryfeatures"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[2].id -682121732
datatype[2].structtype[0].name "annotationssimple.body"
datatype[2].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
index ebba05e0553..f3c93b31285 100644
--- a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 1293792650
datatype[1].structtype[0].name "my_struct"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "my_structfield"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id -1080124700
datatype[2].structtype[0].name "annotation.my_anno"
datatype[2].structtype[0].version 0
@@ -31,7 +28,6 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "my_annofield"
datatype[2].structtype[0].field[0].datatype 1293792650
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[3].id 1341437796
datatype[3].structtype[0].name "annotationsstruct.header"
datatype[3].structtype[0].version 0
@@ -41,10 +37,8 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "rankfeatures"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "summaryfeatures"
datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[4].id -1180029319
datatype[4].structtype[0].name "annotationsstruct.body"
datatype[4].structtype[0].version 0
diff --git a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
index 49249a7307a..01e3945fc2a 100644
--- a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 1293792650
datatype[1].structtype[0].name "my_struct"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "my_structfield"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 754837689
datatype[2].arraytype[0].datatype 1293792650
datatype[3].id -1080124700
@@ -33,7 +30,6 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "my_annofield"
datatype[3].structtype[0].field[0].datatype 754837689
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[4].id 94945597
datatype[4].structtype[0].name "annotationsstructarray.header"
datatype[4].structtype[0].version 0
@@ -43,10 +39,8 @@ datatype[4].structtype[0].compressthreshold 95
datatype[4].structtype[0].compressminsize 800
datatype[4].structtype[0].field[0].name "rankfeatures"
datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[4].structtype[0].field[1].name "summaryfeatures"
datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].detailedtype ""
datatype[5].id 1616435858
datatype[5].structtype[0].name "annotationsstructarray.body"
datatype[5].structtype[0].version 0
diff --git a/config-model/src/test/derived/arrays/documentmanager.cfg b/config-model/src/test/derived/arrays/documentmanager.cfg
index f873971f931..68506844b5d 100644
--- a/config-model/src/test/derived/arrays/documentmanager.cfg
+++ b/config-model/src/test/derived/arrays/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -1486737430
datatype[1].arraytype[0].datatype 2
datatype[2].id -1245117006
@@ -29,25 +27,18 @@ datatype[4].structtype[0].compressthreshold 95
datatype[4].structtype[0].compressminsize 800
datatype[4].structtype[0].field[0].name "tags"
datatype[4].structtype[0].field[0].datatype -1486737430
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[4].structtype[0].field[1].name "ratings"
datatype[4].structtype[0].field[1].datatype -1245117006
-datatype[4].structtype[0].field[1].detailedtype ""
datatype[4].structtype[0].field[2].name "a"
datatype[4].structtype[0].field[2].datatype 2
-datatype[4].structtype[0].field[2].detailedtype ""
datatype[4].structtype[0].field[3].name "b"
datatype[4].structtype[0].field[3].datatype -1486737430
-datatype[4].structtype[0].field[3].detailedtype ""
datatype[4].structtype[0].field[4].name "c"
datatype[4].structtype[0].field[4].datatype 1328286588
-datatype[4].structtype[0].field[4].detailedtype ""
datatype[4].structtype[0].field[5].name "rankfeatures"
datatype[4].structtype[0].field[5].datatype 2
-datatype[4].structtype[0].field[5].detailedtype ""
datatype[4].structtype[0].field[6].name "summaryfeatures"
datatype[4].structtype[0].field[6].datatype 2
-datatype[4].structtype[0].field[6].detailedtype ""
datatype[5].id -1747896808
datatype[5].structtype[0].name "arrays.body"
datatype[5].structtype[0].version 0
diff --git a/config-model/src/test/derived/arrays/index-info.cfg b/config-model/src/test/derived/arrays/index-info.cfg
index 1439dcc8bf7..f5f65700d89 100644
--- a/config-model/src/test/derived/arrays/index-info.cfg
+++ b/config-model/src/test/derived/arrays/index-info.cfg
@@ -1,63 +1,63 @@
-indexinfo[0].name "arrays"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "tags"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "tags"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "tags"
-indexinfo[0].command[4].command "multivalue"
-indexinfo[0].command[5].indexname "tags"
-indexinfo[0].command[5].command "stem:SHORTEST"
-indexinfo[0].command[6].indexname "tags"
-indexinfo[0].command[6].command "normalize"
-indexinfo[0].command[7].indexname "ratings"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "ratings"
-indexinfo[0].command[8].command "multivalue"
-indexinfo[0].command[9].indexname "ratings"
-indexinfo[0].command[9].command "attribute"
-indexinfo[0].command[10].indexname "a"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "a"
-indexinfo[0].command[11].command "lowercase"
-indexinfo[0].command[12].indexname "a"
-indexinfo[0].command[12].command "stem:SHORTEST"
-indexinfo[0].command[13].indexname "a"
-indexinfo[0].command[13].command "normalize"
-indexinfo[0].command[14].indexname "b"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "b"
-indexinfo[0].command[15].command "lowercase"
-indexinfo[0].command[16].indexname "b"
-indexinfo[0].command[16].command "multivalue"
-indexinfo[0].command[17].indexname "b"
-indexinfo[0].command[17].command "stem:SHORTEST"
-indexinfo[0].command[18].indexname "b"
-indexinfo[0].command[18].command "normalize"
-indexinfo[0].command[19].indexname "c"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "c"
-indexinfo[0].command[20].command "lowercase"
-indexinfo[0].command[21].indexname "c"
-indexinfo[0].command[21].command "multivalue"
-indexinfo[0].command[22].indexname "c"
-indexinfo[0].command[22].command "stem:SHORTEST"
-indexinfo[0].command[23].indexname "c"
-indexinfo[0].command[23].command "normalize"
-indexinfo[0].command[24].indexname "rankfeatures"
-indexinfo[0].command[24].command "index"
-indexinfo[0].command[25].indexname "summaryfeatures"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "default"
-indexinfo[0].command[26].command "lowercase"
-indexinfo[0].command[27].indexname "default"
-indexinfo[0].command[27].command "multivalue"
-indexinfo[0].command[28].indexname "default"
-indexinfo[0].command[28].command "index"
-indexinfo[0].command[29].indexname "default"
-indexinfo[0].command[29].command "stem:SHORTEST"
-indexinfo[0].command[30].indexname "default"
-indexinfo[0].command[30].command "normalize" \ No newline at end of file
+indexinfo[].name "arrays"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "ratings"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ratings"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "ratings"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index" \ No newline at end of file
diff --git a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
index 619bced44cf..92558a62509 100644
--- a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
+++ b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 49942803
datatype[1].arraytype[0].datatype 16
datatype[2].id -1068914395
@@ -57,64 +55,44 @@ datatype[13].structtype[0].compressthreshold 95
datatype[13].structtype[0].compressminsize 800
datatype[13].structtype[0].field[0].name "singlebyte"
datatype[13].structtype[0].field[0].datatype 16
-datatype[13].structtype[0].field[0].detailedtype ""
datatype[13].structtype[0].field[1].name "multibyte"
datatype[13].structtype[0].field[1].datatype 49942803
-datatype[13].structtype[0].field[1].detailedtype ""
datatype[13].structtype[0].field[2].name "wsbyte"
datatype[13].structtype[0].field[2].datatype -1068914395
-datatype[13].structtype[0].field[2].detailedtype ""
datatype[13].structtype[0].field[3].name "singleint"
datatype[13].structtype[0].field[3].datatype 0
-datatype[13].structtype[0].field[3].detailedtype ""
datatype[13].structtype[0].field[4].name "multiint"
datatype[13].structtype[0].field[4].datatype -1245117006
-datatype[13].structtype[0].field[4].detailedtype ""
datatype[13].structtype[0].field[5].name "wsint"
datatype[13].structtype[0].field[5].datatype 519906144
-datatype[13].structtype[0].field[5].detailedtype ""
datatype[13].structtype[0].field[6].name "singlelong"
datatype[13].structtype[0].field[6].datatype 4
-datatype[13].structtype[0].field[6].detailedtype ""
datatype[13].structtype[0].field[7].name "multilong"
datatype[13].structtype[0].field[7].datatype 58874399
-datatype[13].structtype[0].field[7].detailedtype ""
datatype[13].structtype[0].field[8].name "wslong"
datatype[13].structtype[0].field[8].datatype -1059982799
-datatype[13].structtype[0].field[8].detailedtype ""
datatype[13].structtype[0].field[9].name "singlefloat"
datatype[13].structtype[0].field[9].datatype 1
-datatype[13].structtype[0].field[9].detailedtype ""
datatype[13].structtype[0].field[10].name "multifloat"
datatype[13].structtype[0].field[10].datatype 1650586661
-datatype[13].structtype[0].field[10].detailedtype ""
datatype[13].structtype[0].field[11].name "wsfloat"
datatype[13].structtype[0].field[11].datatype 1325751891
-datatype[13].structtype[0].field[11].detailedtype ""
datatype[13].structtype[0].field[12].name "singledouble"
datatype[13].structtype[0].field[12].datatype 5
-datatype[13].structtype[0].field[12].detailedtype ""
datatype[13].structtype[0].field[13].name "multidouble"
datatype[13].structtype[0].field[13].datatype -2054976470
-datatype[13].structtype[0].field[13].detailedtype ""
datatype[13].structtype[0].field[14].name "wsdouble"
datatype[13].structtype[0].field[14].datatype 760047548
-datatype[13].structtype[0].field[14].detailedtype ""
datatype[13].structtype[0].field[15].name "singlestring"
datatype[13].structtype[0].field[15].datatype 2
-datatype[13].structtype[0].field[15].detailedtype ""
datatype[13].structtype[0].field[16].name "multistring"
datatype[13].structtype[0].field[16].datatype -1486737430
-datatype[13].structtype[0].field[16].detailedtype ""
datatype[13].structtype[0].field[17].name "wsstring"
datatype[13].structtype[0].field[17].datatype 1328286588
-datatype[13].structtype[0].field[17].detailedtype ""
datatype[13].structtype[0].field[18].name "rankfeatures"
datatype[13].structtype[0].field[18].datatype 2
-datatype[13].structtype[0].field[18].detailedtype ""
datatype[13].structtype[0].field[19].name "summaryfeatures"
datatype[13].structtype[0].field[19].datatype 2
-datatype[13].structtype[0].field[19].detailedtype ""
datatype[14].id 932425403
datatype[14].structtype[0].name "prefetch.body"
datatype[14].structtype[0].version 0
diff --git a/config-model/src/test/derived/complex/documentmanager.cfg b/config-model/src/test/derived/complex/documentmanager.cfg
index e47f40f100a..66ebbbb2846 100644
--- a/config-model/src/test/derived/complex/documentmanager.cfg
+++ b/config-model/src/test/derived/complex/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 1650586661
datatype[1].arraytype[0].datatype 1
datatype[2].id -1245117006
@@ -25,85 +23,58 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "title"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "location"
datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[3].structtype[0].field[2].name "dyntitle"
datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[2].detailedtype ""
datatype[3].structtype[0].field[3].name "special1"
datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[3].detailedtype ""
datatype[3].structtype[0].field[4].name "special2"
datatype[3].structtype[0].field[4].datatype 2
-datatype[3].structtype[0].field[4].detailedtype ""
datatype[3].structtype[0].field[5].name "special3"
datatype[3].structtype[0].field[5].datatype 2
-datatype[3].structtype[0].field[5].detailedtype ""
datatype[3].structtype[0].field[6].name "prefixenabled"
datatype[3].structtype[0].field[6].datatype 2
-datatype[3].structtype[0].field[6].detailedtype ""
datatype[3].structtype[0].field[7].name "source"
datatype[3].structtype[0].field[7].datatype 10
-datatype[3].structtype[0].field[7].detailedtype ""
datatype[3].structtype[0].field[8].name "docurl"
datatype[3].structtype[0].field[8].datatype 10
-datatype[3].structtype[0].field[8].detailedtype ""
datatype[3].structtype[0].field[9].name "fleeting"
datatype[3].structtype[0].field[9].datatype 1650586661
-datatype[3].structtype[0].field[9].detailedtype ""
datatype[3].structtype[0].field[10].name "fleeting2"
datatype[3].structtype[0].field[10].datatype 1
-datatype[3].structtype[0].field[10].detailedtype ""
datatype[3].structtype[0].field[11].name "foundat"
datatype[3].structtype[0].field[11].datatype 4
-datatype[3].structtype[0].field[11].detailedtype ""
datatype[3].structtype[0].field[12].name "collapseby"
datatype[3].structtype[0].field[12].datatype 0
-datatype[3].structtype[0].field[12].detailedtype ""
datatype[3].structtype[0].field[13].name "yEaR"
datatype[3].structtype[0].field[13].datatype 0
-datatype[3].structtype[0].field[13].detailedtype ""
datatype[3].structtype[0].field[14].name "stringfield"
datatype[3].structtype[0].field[14].datatype 2
-datatype[3].structtype[0].field[14].detailedtype ""
datatype[3].structtype[0].field[15].name "exactemento"
datatype[3].structtype[0].field[15].datatype 2
-datatype[3].structtype[0].field[15].detailedtype ""
datatype[3].structtype[0].field[16].name "exactagain"
datatype[3].structtype[0].field[16].datatype 2
-datatype[3].structtype[0].field[16].detailedtype ""
datatype[3].structtype[0].field[17].name "ts"
datatype[3].structtype[0].field[17].datatype 4
-datatype[3].structtype[0].field[17].detailedtype ""
datatype[3].structtype[0].field[18].name "combineda"
datatype[3].structtype[0].field[18].datatype 0
-datatype[3].structtype[0].field[18].detailedtype ""
datatype[3].structtype[0].field[19].name "combinedb"
datatype[3].structtype[0].field[19].datatype 2
-datatype[3].structtype[0].field[19].detailedtype ""
datatype[3].structtype[0].field[20].name "category"
datatype[3].structtype[0].field[20].datatype 2
-datatype[3].structtype[0].field[20].detailedtype ""
datatype[3].structtype[0].field[21].name "woe"
datatype[3].structtype[0].field[21].datatype 2
-datatype[3].structtype[0].field[21].detailedtype ""
datatype[3].structtype[0].field[22].name "year_sub"
datatype[3].structtype[0].field[22].datatype 0
-datatype[3].structtype[0].field[22].detailedtype ""
datatype[3].structtype[0].field[23].name "year_arr"
datatype[3].structtype[0].field[23].datatype -1245117006
-datatype[3].structtype[0].field[23].detailedtype ""
datatype[3].structtype[0].field[24].name "exact"
datatype[3].structtype[0].field[24].datatype 2
-datatype[3].structtype[0].field[24].detailedtype ""
datatype[3].structtype[0].field[25].name "rankfeatures"
datatype[3].structtype[0].field[25].datatype 2
-datatype[3].structtype[0].field[25].detailedtype ""
datatype[3].structtype[0].field[26].name "summaryfeatures"
datatype[3].structtype[0].field[26].datatype 2
-datatype[3].structtype[0].field[26].detailedtype ""
datatype[4].id -1665926686
datatype[4].structtype[0].name "complex.body"
datatype[4].structtype[0].version 0
diff --git a/config-model/src/test/derived/complex/rank-profiles.cfg b/config-model/src/test/derived/complex/rank-profiles.cfg
index a317bfeb18e..5e2804d0ee6 100644
--- a/config-model/src/test/derived/complex/rank-profiles.cfg
+++ b/config-model/src/test/derived/complex/rank-profiles.cfg
@@ -65,4 +65,4 @@ rankprofile[3].fef.property[9].value "loggrowth(1500,4000,19)"
rankprofile[3].fef.property[10].name "nativeProximity.proximityTable.title"
rankprofile[3].fef.property[10].value "expdecay(500,3)"
rankprofile[3].fef.property[11].name "nativeProximity.reverseProximityTable.title"
-rankprofile[3].fef.property[11].value "expdecay(400,3)" \ No newline at end of file
+rankprofile[3].fef.property[11].value "expdecay(400,3)"
diff --git a/config-model/src/test/derived/documentderiver/documentmanager.cfg b/config-model/src/test/derived/documentderiver/documentmanager.cfg
index f993b465111..d56d90ba358 100644
--- a/config-model/src/test/derived/documentderiver/documentmanager.cfg
+++ b/config-model/src/test/derived/documentderiver/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -843666531
datatype[1].structtype[0].name "compressed_body.header"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "from"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 1704844530
datatype[2].structtype[0].name "compressed_body.body"
datatype[2].structtype[0].version 0
@@ -31,7 +28,6 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 0
datatype[2].structtype[0].field[0].name "content"
datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[3].id 1417245026
datatype[3].documenttype[0].name "compressed_body"
datatype[3].documenttype[0].version 0
@@ -48,7 +44,6 @@ datatype[4].structtype[0].compressthreshold 50
datatype[4].structtype[0].compressminsize 0
datatype[4].structtype[0].field[0].name "from"
datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[5].id -1007627725
datatype[5].structtype[0].name "compressed_both.body"
datatype[5].structtype[0].version 0
@@ -58,7 +53,6 @@ datatype[5].structtype[0].compressthreshold 90
datatype[5].structtype[0].compressminsize 0
datatype[5].structtype[0].field[0].name "content"
datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[6].id 1417705345
datatype[6].documenttype[0].name "compressed_both"
datatype[6].documenttype[0].version 0
@@ -75,7 +69,6 @@ datatype[7].structtype[0].compressthreshold 95
datatype[7].structtype[0].compressminsize 0
datatype[7].structtype[0].field[0].name "from"
datatype[7].structtype[0].field[0].datatype 2
-datatype[7].structtype[0].field[0].detailedtype ""
datatype[8].id -579052249
datatype[8].structtype[0].name "compressed_header.body"
datatype[8].structtype[0].version 0
@@ -85,7 +78,6 @@ datatype[8].structtype[0].compressthreshold 95
datatype[8].structtype[0].compressminsize 800
datatype[8].structtype[0].field[0].name "content"
datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].detailedtype ""
datatype[9].id 1946084365
datatype[9].documenttype[0].name "compressed_header"
datatype[9].documenttype[0].version 0
@@ -102,31 +94,22 @@ datatype[10].structtype[0].compressthreshold 95
datatype[10].structtype[0].compressminsize 800
datatype[10].structtype[0].field[0].name "URI"
datatype[10].structtype[0].field[0].datatype 10
-datatype[10].structtype[0].field[0].detailedtype ""
datatype[10].structtype[0].field[1].name "mailid"
datatype[10].structtype[0].field[1].datatype 2
-datatype[10].structtype[0].field[1].detailedtype ""
datatype[10].structtype[0].field[2].name "date"
datatype[10].structtype[0].field[2].datatype 0
-datatype[10].structtype[0].field[2].detailedtype ""
datatype[10].structtype[0].field[3].name "from"
datatype[10].structtype[0].field[3].datatype 2
-datatype[10].structtype[0].field[3].detailedtype ""
datatype[10].structtype[0].field[4].name "replyto"
datatype[10].structtype[0].field[4].datatype 3
-datatype[10].structtype[0].field[4].detailedtype ""
datatype[10].structtype[0].field[5].name "to"
datatype[10].structtype[0].field[5].datatype 2
-datatype[10].structtype[0].field[5].detailedtype ""
datatype[10].structtype[0].field[6].name "cc"
datatype[10].structtype[0].field[6].datatype 2
-datatype[10].structtype[0].field[6].detailedtype ""
datatype[10].structtype[0].field[7].name "bcc"
datatype[10].structtype[0].field[7].datatype 2
-datatype[10].structtype[0].field[7].detailedtype ""
datatype[10].structtype[0].field[8].name "subject"
datatype[10].structtype[0].field[8].datatype 2
-datatype[10].structtype[0].field[8].detailedtype ""
datatype[11].id -1244861287
datatype[11].arraytype[0].datatype 3
datatype[12].id -953584901
@@ -138,25 +121,18 @@ datatype[12].structtype[0].compressthreshold 95
datatype[12].structtype[0].compressminsize 800
datatype[12].structtype[0].field[0].name "mailbody"
datatype[12].structtype[0].field[0].datatype 3
-datatype[12].structtype[0].field[0].detailedtype ""
datatype[12].structtype[0].field[1].name "attachmentcount"
datatype[12].structtype[0].field[1].datatype 0
-datatype[12].structtype[0].field[1].detailedtype ""
datatype[12].structtype[0].field[2].name "attachmentnames"
datatype[12].structtype[0].field[2].datatype 2
-datatype[12].structtype[0].field[2].detailedtype ""
datatype[12].structtype[0].field[3].name "attachmenttypes"
datatype[12].structtype[0].field[3].datatype 2
-datatype[12].structtype[0].field[3].detailedtype ""
datatype[12].structtype[0].field[4].name "attachmentlanguages"
datatype[12].structtype[0].field[4].datatype 2
-datatype[12].structtype[0].field[4].detailedtype ""
datatype[12].structtype[0].field[5].name "attachmentcontent"
datatype[12].structtype[0].field[5].datatype 2
-datatype[12].structtype[0].field[5].detailedtype ""
datatype[12].structtype[0].field[6].name "attachments"
datatype[12].structtype[0].field[6].datatype -1244861287
-datatype[12].structtype[0].field[6].detailedtype ""
datatype[13].id -1081574983
datatype[13].documenttype[0].name "mail"
datatype[13].documenttype[0].version 0
@@ -183,31 +159,22 @@ datatype[17].structtype[0].compressthreshold 95
datatype[17].structtype[0].compressminsize 800
datatype[17].structtype[0].field[0].name "url"
datatype[17].structtype[0].field[0].datatype 10
-datatype[17].structtype[0].field[0].detailedtype ""
datatype[17].structtype[0].field[1].name "title"
datatype[17].structtype[0].field[1].datatype 2
-datatype[17].structtype[0].field[1].detailedtype ""
datatype[17].structtype[0].field[2].name "artist"
datatype[17].structtype[0].field[2].datatype 2
-datatype[17].structtype[0].field[2].detailedtype ""
datatype[17].structtype[0].field[3].name "year"
datatype[17].structtype[0].field[3].datatype 0
-datatype[17].structtype[0].field[3].detailedtype ""
datatype[17].structtype[0].field[4].name "description"
datatype[17].structtype[0].field[4].datatype 3
-datatype[17].structtype[0].field[4].detailedtype ""
datatype[17].structtype[0].field[5].name "tracks"
datatype[17].structtype[0].field[5].datatype -1486737430
-datatype[17].structtype[0].field[5].detailedtype ""
datatype[17].structtype[0].field[6].name "popularity"
datatype[17].structtype[0].field[6].datatype 519906144
-datatype[17].structtype[0].field[6].detailedtype ""
datatype[17].structtype[0].field[7].name "popularity2"
datatype[17].structtype[0].field[7].datatype 363959257
-datatype[17].structtype[0].field[7].detailedtype ""
datatype[17].structtype[0].field[8].name "popularity3"
datatype[17].structtype[0].field[8].datatype 363959257
-datatype[17].structtype[0].field[8].detailedtype ""
datatype[18].id 993120973
datatype[18].structtype[0].name "music.body"
datatype[18].structtype[0].version 0
@@ -231,67 +198,46 @@ datatype[20].structtype[0].compressthreshold 95
datatype[20].structtype[0].compressminsize 800
datatype[20].structtype[0].field[0].name "title"
datatype[20].structtype[0].field[0].datatype 2
-datatype[20].structtype[0].field[0].detailedtype ""
datatype[20].structtype[0].field[1].name "abstract"
datatype[20].structtype[0].field[1].datatype 2
-datatype[20].structtype[0].field[1].detailedtype ""
datatype[20].structtype[0].field[2].name "sourcename"
datatype[20].structtype[0].field[2].datatype 2
-datatype[20].structtype[0].field[2].detailedtype ""
datatype[20].structtype[0].field[3].name "providername"
datatype[20].structtype[0].field[3].datatype 2
-datatype[20].structtype[0].field[3].detailedtype ""
datatype[20].structtype[0].field[4].name "thumburl"
datatype[20].structtype[0].field[4].datatype 2
-datatype[20].structtype[0].field[4].detailedtype ""
datatype[20].structtype[0].field[5].name "thumbwidth"
datatype[20].structtype[0].field[5].datatype 0
-datatype[20].structtype[0].field[5].detailedtype ""
datatype[20].structtype[0].field[6].name "thumbheight"
datatype[20].structtype[0].field[6].datatype 0
-datatype[20].structtype[0].field[6].detailedtype ""
datatype[20].structtype[0].field[7].name "language"
datatype[20].structtype[0].field[7].datatype 2
-datatype[20].structtype[0].field[7].detailedtype ""
datatype[20].structtype[0].field[8].name "crawldocid"
datatype[20].structtype[0].field[8].datatype 2
-datatype[20].structtype[0].field[8].detailedtype ""
datatype[20].structtype[0].field[9].name "url"
datatype[20].structtype[0].field[9].datatype 10
-datatype[20].structtype[0].field[9].detailedtype ""
datatype[20].structtype[0].field[10].name "sourceurl"
datatype[20].structtype[0].field[10].datatype 10
-datatype[20].structtype[0].field[10].detailedtype ""
datatype[20].structtype[0].field[11].name "categories"
datatype[20].structtype[0].field[11].datatype 2
-datatype[20].structtype[0].field[11].detailedtype ""
datatype[20].structtype[0].field[12].name "pubdate"
datatype[20].structtype[0].field[12].datatype 4
-datatype[20].structtype[0].field[12].detailedtype ""
datatype[20].structtype[0].field[13].name "expdate"
datatype[20].structtype[0].field[13].datatype 4
-datatype[20].structtype[0].field[13].detailedtype ""
datatype[20].structtype[0].field[14].name "fingerprint"
datatype[20].structtype[0].field[14].datatype 0
-datatype[20].structtype[0].field[14].detailedtype ""
datatype[20].structtype[0].field[15].name "debug"
datatype[20].structtype[0].field[15].datatype 2
-datatype[20].structtype[0].field[15].detailedtype ""
datatype[20].structtype[0].field[16].name "attributes"
datatype[20].structtype[0].field[16].datatype 2
-datatype[20].structtype[0].field[16].detailedtype ""
datatype[20].structtype[0].field[17].name "searchcluster"
datatype[20].structtype[0].field[17].datatype 2
-datatype[20].structtype[0].field[17].detailedtype ""
datatype[20].structtype[0].field[18].name "eustaticrank"
datatype[20].structtype[0].field[18].datatype 0
-datatype[20].structtype[0].field[18].detailedtype ""
datatype[20].structtype[0].field[19].name "usstaticrank"
datatype[20].structtype[0].field[19].datatype 0
-datatype[20].structtype[0].field[19].detailedtype ""
datatype[20].structtype[0].field[20].name "asiastaticrank"
datatype[20].structtype[0].field[20].datatype 0
-datatype[20].structtype[0].field[20].detailedtype ""
datatype[21].id -2059783233
datatype[21].structtype[0].name "newssummary.body"
datatype[21].structtype[0].version 0
@@ -315,64 +261,44 @@ datatype[23].structtype[0].compressthreshold 95
datatype[23].structtype[0].compressminsize 800
datatype[23].structtype[0].field[0].name "dynabstract"
datatype[23].structtype[0].field[0].datatype 2
-datatype[23].structtype[0].field[0].detailedtype ""
datatype[23].structtype[0].field[1].name "othersourcenames"
datatype[23].structtype[0].field[1].datatype 2
-datatype[23].structtype[0].field[1].detailedtype ""
datatype[23].structtype[0].field[2].name "author"
datatype[23].structtype[0].field[2].datatype 2
-datatype[23].structtype[0].field[2].detailedtype ""
datatype[23].structtype[0].field[3].name "otherlanguages"
datatype[23].structtype[0].field[3].datatype 2
-datatype[23].structtype[0].field[3].detailedtype ""
datatype[23].structtype[0].field[4].name "charset"
datatype[23].structtype[0].field[4].datatype 2
-datatype[23].structtype[0].field[4].detailedtype ""
datatype[23].structtype[0].field[5].name "mimetype"
datatype[23].structtype[0].field[5].datatype 2
-datatype[23].structtype[0].field[5].detailedtype ""
datatype[23].structtype[0].field[6].name "referrerurl"
datatype[23].structtype[0].field[6].datatype 10
-datatype[23].structtype[0].field[6].detailedtype ""
datatype[23].structtype[0].field[7].name "sourcelocation"
datatype[23].structtype[0].field[7].datatype 2
-datatype[23].structtype[0].field[7].detailedtype ""
datatype[23].structtype[0].field[8].name "sourcecountry"
datatype[23].structtype[0].field[8].datatype 2
-datatype[23].structtype[0].field[8].detailedtype ""
datatype[23].structtype[0].field[9].name "sourcelocale"
datatype[23].structtype[0].field[9].datatype 2
-datatype[23].structtype[0].field[9].detailedtype ""
datatype[23].structtype[0].field[10].name "sourcecontinent"
datatype[23].structtype[0].field[10].datatype 2
-datatype[23].structtype[0].field[10].detailedtype ""
datatype[23].structtype[0].field[11].name "articlecountry"
datatype[23].structtype[0].field[11].datatype 2
-datatype[23].structtype[0].field[11].detailedtype ""
datatype[23].structtype[0].field[12].name "articlelocale"
datatype[23].structtype[0].field[12].datatype 2
-datatype[23].structtype[0].field[12].detailedtype ""
datatype[23].structtype[0].field[13].name "articlecontinent"
datatype[23].structtype[0].field[13].datatype 2
-datatype[23].structtype[0].field[13].detailedtype ""
datatype[23].structtype[0].field[14].name "sourcerank"
datatype[23].structtype[0].field[14].datatype 0
-datatype[23].structtype[0].field[14].detailedtype ""
datatype[23].structtype[0].field[15].name "crawldate"
datatype[23].structtype[0].field[15].datatype 4
-datatype[23].structtype[0].field[15].detailedtype ""
datatype[23].structtype[0].field[16].name "indexdate"
datatype[23].structtype[0].field[16].datatype 4
-datatype[23].structtype[0].field[16].detailedtype ""
datatype[23].structtype[0].field[17].name "procdate"
datatype[23].structtype[0].field[17].datatype 4
-datatype[23].structtype[0].field[17].detailedtype ""
datatype[23].structtype[0].field[18].name "sourceid"
datatype[23].structtype[0].field[18].datatype 0
-datatype[23].structtype[0].field[18].detailedtype ""
datatype[23].structtype[0].field[19].name "sourcefeedid"
datatype[23].structtype[0].field[19].datatype 0
-datatype[23].structtype[0].field[19].detailedtype ""
datatype[24].id 197293167
datatype[24].structtype[0].name "newsarticle.body"
datatype[24].structtype[0].version 0
@@ -382,7 +308,6 @@ datatype[24].structtype[0].compressthreshold 95
datatype[24].structtype[0].compressminsize 800
datatype[24].structtype[0].field[0].name "body"
datatype[24].structtype[0].field[0].datatype 2
-datatype[24].structtype[0].field[0].detailedtype ""
datatype[25].id -1710661691
datatype[25].documenttype[0].name "newsarticle"
datatype[25].documenttype[0].version 0
diff --git a/config-model/src/test/derived/emptydefault/documentmanager.cfg b/config-model/src/test/derived/emptydefault/documentmanager.cfg
index 9e25ff1c8ec..4235199342a 100644
--- a/config-model/src/test/derived/emptydefault/documentmanager.cfg
+++ b/config-model/src/test/derived/emptydefault/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 461724009
datatype[1].structtype[0].name "emptydefault.header"
datatype[1].structtype[0].version 0
@@ -21,16 +19,12 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "one"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "two"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "rankfeatures"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[1].structtype[0].field[3].name "summaryfeatures"
datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
datatype[2].id 311791038
datatype[2].structtype[0].name "emptydefault.body"
datatype[2].structtype[0].version 0
diff --git a/config-model/src/test/derived/id/documentmanager.cfg b/config-model/src/test/derived/id/documentmanager.cfg
index 00ffb00975b..40996d46399 100644
--- a/config-model/src/test/derived/id/documentmanager.cfg
+++ b/config-model/src/test/derived/id/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -531633022
datatype[1].structtype[0].name "id.header"
datatype[1].structtype[0].version 0
@@ -21,13 +19,10 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "uri"
datatype[1].structtype[0].field[0].datatype 10
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "rankfeatures"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "summaryfeatures"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[2].id -1830022377
datatype[2].structtype[0].name "id.body"
datatype[2].structtype[0].version 0
diff --git a/config-model/src/test/derived/indexswitches/documentmanager.cfg b/config-model/src/test/derived/indexswitches/documentmanager.cfg
index bdc983ebb67..0a32e670d7b 100644
--- a/config-model/src/test/derived/indexswitches/documentmanager.cfg
+++ b/config-model/src/test/derived/indexswitches/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -555640823
datatype[1].structtype[0].name "indexswitches.header"
datatype[1].structtype[0].version 0
@@ -21,22 +19,16 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "title"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "descr"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "source_src"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[1].structtype[0].field[3].name "source"
datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
datatype[1].structtype[0].field[4].name "rankfeatures"
datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
datatype[1].structtype[0].field[5].name "summaryfeatures"
datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
datatype[2].id -1892617122
datatype[2].structtype[0].name "indexswitches.body"
datatype[2].structtype[0].version 0
diff --git a/config-model/src/test/derived/indexswitches/index-info.cfg b/config-model/src/test/derived/indexswitches/index-info.cfg
index 6387551ec98..3daf23f8b67 100644
--- a/config-model/src/test/derived/indexswitches/index-info.cfg
+++ b/config-model/src/test/derived/indexswitches/index-info.cfg
@@ -5,37 +5,37 @@ indexinfo[0].command[1].indexname "sddocname"
indexinfo[0].command[1].command "word"
indexinfo[0].command[2].indexname "title"
indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "title"
-indexinfo[0].command[3].command "lowercase"
+indexinfo[0].command[3].indexname "default"
+indexinfo[0].command[3].command "index"
indexinfo[0].command[4].indexname "title"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "title"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "descr"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "descr"
-indexinfo[0].command[7].command "lowercase"
-indexinfo[0].command[8].indexname "descr"
-indexinfo[0].command[8].command "stem:SHORTEST"
-indexinfo[0].command[9].indexname "descr"
+indexinfo[0].command[4].command "lowercase"
+indexinfo[0].command[5].indexname "default"
+indexinfo[0].command[5].command "lowercase"
+indexinfo[0].command[6].indexname "title"
+indexinfo[0].command[6].command "stem:SHORTEST"
+indexinfo[0].command[7].indexname "default"
+indexinfo[0].command[7].command "stem:SHORTEST"
+indexinfo[0].command[8].indexname "title"
+indexinfo[0].command[8].command "normalize"
+indexinfo[0].command[9].indexname "default"
indexinfo[0].command[9].command "normalize"
-indexinfo[0].command[10].indexname "source_src"
+indexinfo[0].command[10].indexname "descr"
indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "rankfeatures"
-indexinfo[0].command[11].command "index"
-indexinfo[0].command[12].indexname "source"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "source"
-indexinfo[0].command[13].command "lowercase"
-indexinfo[0].command[14].indexname "source"
-indexinfo[0].command[14].command "normalize"
-indexinfo[0].command[15].indexname "summaryfeatures"
+indexinfo[0].command[11].indexname "descr"
+indexinfo[0].command[11].command "lowercase"
+indexinfo[0].command[12].indexname "descr"
+indexinfo[0].command[12].command "stem:SHORTEST"
+indexinfo[0].command[13].indexname "descr"
+indexinfo[0].command[13].command "normalize"
+indexinfo[0].command[14].indexname "source_src"
+indexinfo[0].command[14].command "index"
+indexinfo[0].command[15].indexname "rankfeatures"
indexinfo[0].command[15].command "index"
-indexinfo[0].command[16].indexname "default"
-indexinfo[0].command[16].command "lowercase"
-indexinfo[0].command[17].indexname "default"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "default"
-indexinfo[0].command[18].command "stem:SHORTEST"
-indexinfo[0].command[19].indexname "default"
-indexinfo[0].command[19].command "normalize" \ No newline at end of file
+indexinfo[0].command[16].indexname "source"
+indexinfo[0].command[16].command "index"
+indexinfo[0].command[17].indexname "source"
+indexinfo[0].command[17].command "lowercase"
+indexinfo[0].command[18].indexname "source"
+indexinfo[0].command[18].command "normalize"
+indexinfo[0].command[19].indexname "summaryfeatures"
+indexinfo[0].command[19].command "index" \ No newline at end of file
diff --git a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
index ea0aa3a3e93..8c51dc52c58 100644
--- a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 1246084544
datatype[1].structtype[0].name "grandparent_struct"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "grandparent_field"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 990971719
datatype[2].structtype[0].name "grandparent.header"
datatype[2].structtype[0].version 0
@@ -31,10 +28,8 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "rankfeatures"
datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "summaryfeatures"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[3].id 978262812
datatype[3].structtype[0].name "grandparent.body"
datatype[3].structtype[0].version 0
@@ -83,7 +78,6 @@ datatype[8].structtype[0].compressthreshold 95
datatype[8].structtype[0].compressminsize 800
datatype[8].structtype[0].field[0].name "child_field"
datatype[8].structtype[0].field[0].datatype 1246084544
-datatype[8].structtype[0].field[0].detailedtype ""
datatype[9].id -126593034
datatype[9].structtype[0].name "child.body"
datatype[9].structtype[0].version 0
diff --git a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
index 80a9cbcfc3b..fec59f5ff72 100644
--- a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 1091188812
datatype[1].structtype[0].name "parent_struct"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "parent_field"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 836075987
datatype[2].structtype[0].name "parent.header"
datatype[2].structtype[0].version 0
@@ -31,16 +28,12 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "weight_src"
datatype[2].structtype[0].field[0].datatype 1
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "weight"
datatype[2].structtype[0].field[1].datatype 1
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[2].structtype[0].field[2].name "rankfeatures"
datatype[2].structtype[0].field[2].datatype 2
-datatype[2].structtype[0].field[2].detailedtype ""
datatype[2].structtype[0].field[3].name "summaryfeatures"
datatype[2].structtype[0].field[3].datatype 2
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[3].id -389494616
datatype[3].structtype[0].name "parent.body"
datatype[3].structtype[0].version 0
@@ -65,7 +58,6 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "child_field"
datatype[5].structtype[0].field[0].datatype 1091188812
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[6].id -126593034
datatype[6].structtype[0].name "child.body"
datatype[6].structtype[0].version 0
diff --git a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
index 351ea0d9527..44677776f3c 100644
--- a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
@@ -24,7 +24,6 @@ documenttype[0].datatype[0].sstruct.field[0].name "parent_field"
documenttype[0].datatype[0].sstruct.field[0].id 933533022
documenttype[0].datatype[0].sstruct.field[0].id_v6 2116869443
documenttype[0].datatype[0].sstruct.field[0].datatype 2
-documenttype[0].datatype[0].sstruct.field[0].detailedtype ""
documenttype[0].datatype[1].id 836075987
documenttype[0].datatype[1].type STRUCT
documenttype[0].datatype[1].array.element.id 0
@@ -44,22 +43,18 @@ documenttype[0].datatype[1].sstruct.field[0].name "weight_src"
documenttype[0].datatype[1].sstruct.field[0].id 1225660233
documenttype[0].datatype[1].sstruct.field[0].id_v6 1350588470
documenttype[0].datatype[1].sstruct.field[0].datatype 1
-documenttype[0].datatype[1].sstruct.field[0].detailedtype ""
documenttype[0].datatype[1].sstruct.field[1].name "weight"
documenttype[0].datatype[1].sstruct.field[1].id 1001392207
documenttype[0].datatype[1].sstruct.field[1].id_v6 1329620545
documenttype[0].datatype[1].sstruct.field[1].datatype 1
-documenttype[0].datatype[1].sstruct.field[1].detailedtype ""
documenttype[0].datatype[1].sstruct.field[2].name "rankfeatures"
documenttype[0].datatype[1].sstruct.field[2].id 1883197392
documenttype[0].datatype[1].sstruct.field[2].id_v6 699950698
documenttype[0].datatype[1].sstruct.field[2].datatype 2
-documenttype[0].datatype[1].sstruct.field[2].detailedtype ""
documenttype[0].datatype[1].sstruct.field[3].name "summaryfeatures"
documenttype[0].datatype[1].sstruct.field[3].id 1840337115
documenttype[0].datatype[1].sstruct.field[3].id_v6 1981648971
documenttype[0].datatype[1].sstruct.field[3].datatype 2
-documenttype[0].datatype[1].sstruct.field[3].detailedtype ""
documenttype[0].datatype[2].id -389494616
documenttype[0].datatype[2].type STRUCT
documenttype[0].datatype[2].array.element.id 0
@@ -102,7 +97,6 @@ documenttype[1].datatype[0].sstruct.field[0].name "child_field"
documenttype[1].datatype[0].sstruct.field[0].id 1814271363
documenttype[1].datatype[0].sstruct.field[0].id_v6 405182398
documenttype[1].datatype[0].sstruct.field[0].datatype 1091188812
-documenttype[1].datatype[0].sstruct.field[0].detailedtype ""
documenttype[1].datatype[1].id -126593034
documenttype[1].datatype[1].type STRUCT
documenttype[1].datatype[1].array.element.id 0
diff --git a/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg b/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg
index 0a70b48fe21..0e95d51bdd8 100644
--- a/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg
+++ b/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -88808602
datatype[1].structtype[0].name "mail.header"
datatype[1].structtype[0].version 0
@@ -21,31 +19,22 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "URI"
datatype[1].structtype[0].field[0].datatype 10
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "mailid"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "date"
datatype[1].structtype[0].field[2].datatype 0
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[1].structtype[0].field[3].name "from"
datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
datatype[1].structtype[0].field[4].name "replyto"
datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
datatype[1].structtype[0].field[5].name "to"
datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
datatype[1].structtype[0].field[6].name "cc"
datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[6].detailedtype ""
datatype[1].structtype[0].field[7].name "bcc"
datatype[1].structtype[0].field[7].datatype 2
-datatype[1].structtype[0].field[7].detailedtype ""
datatype[1].structtype[0].field[8].name "subject"
datatype[1].structtype[0].field[8].datatype 2
-datatype[1].structtype[0].field[8].detailedtype ""
datatype[2].id -1244861287
datatype[2].arraytype[0].datatype 3
datatype[3].id -953584901
@@ -57,25 +46,18 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "body"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "attachmentcount"
datatype[3].structtype[0].field[1].datatype 0
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[3].structtype[0].field[2].name "attachmentnames"
datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[2].detailedtype ""
datatype[3].structtype[0].field[3].name "attachmenttypes"
datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[3].detailedtype ""
datatype[3].structtype[0].field[4].name "attachmentlanguages"
datatype[3].structtype[0].field[4].datatype 2
-datatype[3].structtype[0].field[4].detailedtype ""
datatype[3].structtype[0].field[5].name "attachmentcontent"
datatype[3].structtype[0].field[5].datatype 2
-datatype[3].structtype[0].field[5].detailedtype ""
datatype[3].structtype[0].field[6].name "attachments"
datatype[3].structtype[0].field[6].datatype -1244861287
-datatype[3].structtype[0].field[6].detailedtype ""
datatype[4].id -1081574983
datatype[4].documenttype[0].name "mail"
datatype[4].documenttype[0].version 0
diff --git a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
index 41e39ac52df..1b51178e6d8 100644
--- a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -739138930
datatype[1].structtype[0].name "prefixexactattribute.header"
datatype[1].structtype[0].version 0
@@ -21,25 +19,18 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "indexfield0"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "attributefield1"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "attributefield2"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[1].structtype[0].field[3].name "indexfield1"
datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
datatype[1].structtype[0].field[4].name "indexfield2"
datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
datatype[1].structtype[0].field[5].name "rankfeatures"
datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
datatype[1].structtype[0].field[6].name "summaryfeatures"
datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[6].detailedtype ""
datatype[2].id -480519133
datatype[2].structtype[0].name "prefixexactattribute.body"
datatype[2].structtype[0].version 0
diff --git a/config-model/src/test/derived/ranktypes/documentmanager.cfg b/config-model/src/test/derived/ranktypes/documentmanager.cfg
index 50be09891e5..c57a58c244c 100644
--- a/config-model/src/test/derived/ranktypes/documentmanager.cfg
+++ b/config-model/src/test/derived/ranktypes/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -471393776
datatype[1].structtype[0].name "ranktypes.header"
datatype[1].structtype[0].version 0
@@ -21,25 +19,18 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "title"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "descr"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "keywords"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[1].structtype[0].field[3].name "identity"
datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
datatype[1].structtype[0].field[4].name "identity_literal"
datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
datatype[1].structtype[0].field[5].name "rankfeatures"
datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
datatype[1].structtype[0].field[6].name "summaryfeatures"
datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[6].detailedtype ""
datatype[2].id 1374506021
datatype[2].structtype[0].name "ranktypes.body"
datatype[2].structtype[0].version 0
diff --git a/config-model/src/test/derived/streamingstruct/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
index 42826c5be33..306f1102fb1 100644
--- a/config-model/src/test/derived/streamingstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 105061838
datatype[1].structtype[0].name "ns1"
datatype[1].structtype[0].version 0
@@ -21,13 +19,10 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "nf1"
datatype[1].structtype[0].field[0].datatype 3474528
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "nf1s"
datatype[1].structtype[0].field[1].datatype 3474528
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "nf2"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[2].id 3474528
datatype[2].structtype[0].name "s1"
datatype[2].structtype[0].version 0
@@ -37,16 +32,12 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "f1"
datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "f1s"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[2].structtype[0].field[2].name "f2"
datatype[2].structtype[0].field[2].datatype 0
-datatype[2].structtype[0].field[2].detailedtype ""
datatype[2].structtype[0].field[3].name "f3"
datatype[2].structtype[0].field[3].datatype 5
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[3].id -1497802371
datatype[3].maptype[0].keytype 4
datatype[3].maptype[0].valtype 2
@@ -61,70 +52,48 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "coupleof"
datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[5].structtype[0].field[1].name "normalfields"
datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
datatype[5].structtype[0].field[2].name "a"
datatype[5].structtype[0].field[2].datatype 3474528
-datatype[5].structtype[0].field[2].detailedtype ""
datatype[5].structtype[0].field[3].name "m"
datatype[5].structtype[0].field[3].datatype -1497802371
-datatype[5].structtype[0].field[3].detailedtype ""
datatype[5].structtype[0].field[4].name "b"
datatype[5].structtype[0].field[4].datatype 3474528
-datatype[5].structtype[0].field[4].detailedtype ""
datatype[5].structtype[0].field[5].name "c"
datatype[5].structtype[0].field[5].datatype 3474528
-datatype[5].structtype[0].field[5].detailedtype ""
datatype[5].structtype[0].field[6].name "c2"
datatype[5].structtype[0].field[6].datatype 3474528
-datatype[5].structtype[0].field[6].detailedtype ""
datatype[5].structtype[0].field[7].name "c3"
datatype[5].structtype[0].field[7].datatype 3474528
-datatype[5].structtype[0].field[7].detailedtype ""
datatype[5].structtype[0].field[8].name "n"
datatype[5].structtype[0].field[8].datatype 105061838
-datatype[5].structtype[0].field[8].detailedtype ""
datatype[5].structtype[0].field[9].name "array1"
datatype[5].structtype[0].field[9].datatype -1425630723
-datatype[5].structtype[0].field[9].detailedtype ""
datatype[5].structtype[0].field[10].name "array2"
datatype[5].structtype[0].field[10].datatype -1425630723
-datatype[5].structtype[0].field[10].detailedtype ""
datatype[5].structtype[0].field[11].name "array3"
datatype[5].structtype[0].field[11].datatype -1425630723
-datatype[5].structtype[0].field[11].detailedtype ""
datatype[5].structtype[0].field[12].name "subject"
datatype[5].structtype[0].field[12].datatype 3474528
-datatype[5].structtype[0].field[12].detailedtype ""
datatype[5].structtype[0].field[13].name "d"
datatype[5].structtype[0].field[13].datatype 3474528
-datatype[5].structtype[0].field[13].detailedtype ""
datatype[5].structtype[0].field[14].name "e"
datatype[5].structtype[0].field[14].datatype 3474528
-datatype[5].structtype[0].field[14].detailedtype ""
datatype[5].structtype[0].field[15].name "f"
datatype[5].structtype[0].field[15].datatype 3474528
-datatype[5].structtype[0].field[15].detailedtype ""
datatype[5].structtype[0].field[16].name "g"
datatype[5].structtype[0].field[16].datatype 2
-datatype[5].structtype[0].field[16].detailedtype ""
datatype[5].structtype[0].field[17].name "anothersummaryfield"
datatype[5].structtype[0].field[17].datatype 2
-datatype[5].structtype[0].field[17].detailedtype ""
datatype[5].structtype[0].field[18].name "rankfeatures"
datatype[5].structtype[0].field[18].datatype 2
-datatype[5].structtype[0].field[18].detailedtype ""
datatype[5].structtype[0].field[19].name "summaryfeatures"
datatype[5].structtype[0].field[19].datatype 2
-datatype[5].structtype[0].field[19].detailedtype ""
datatype[5].structtype[0].field[20].name "snippet"
datatype[5].structtype[0].field[20].datatype 2
-datatype[5].structtype[0].field[20].detailedtype ""
datatype[5].structtype[0].field[21].name "snippet2"
datatype[5].structtype[0].field[21].datatype 2
-datatype[5].structtype[0].field[21].detailedtype ""
datatype[6].id 1858438651
datatype[6].structtype[0].name "streamingstruct.body"
datatype[6].structtype[0].version 0
diff --git a/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg
index d379d862626..fc9b0e315b8 100644
--- a/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg
+++ b/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 105061838
datatype[1].structtype[0].name "ns1"
datatype[1].structtype[0].version 0
@@ -21,13 +19,10 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "nf1"
datatype[1].structtype[0].field[0].datatype 3474528
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "nf1s"
datatype[1].structtype[0].field[1].datatype 3474528
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "nf2"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[2].id 3474528
datatype[2].structtype[0].name "s1"
datatype[2].structtype[0].version 0
@@ -37,16 +32,12 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "f1"
datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "f1s"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[2].structtype[0].field[2].name "f2"
datatype[2].structtype[0].field[2].datatype 0
-datatype[2].structtype[0].field[2].detailedtype ""
datatype[2].structtype[0].field[3].name "f3"
datatype[2].structtype[0].field[3].datatype 5
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[3].id -1497802371
datatype[3].maptype[0].keytype 4
datatype[3].maptype[0].valtype 2
@@ -61,55 +52,38 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "coupleof"
datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[5].structtype[0].field[1].name "normalfields"
datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
datatype[5].structtype[0].field[2].name "a"
datatype[5].structtype[0].field[2].datatype 3474528
-datatype[5].structtype[0].field[2].detailedtype ""
datatype[5].structtype[0].field[3].name "m"
datatype[5].structtype[0].field[3].datatype -1497802371
-datatype[5].structtype[0].field[3].detailedtype ""
datatype[5].structtype[0].field[4].name "b"
datatype[5].structtype[0].field[4].datatype 3474528
-datatype[5].structtype[0].field[4].detailedtype ""
datatype[5].structtype[0].field[5].name "c"
datatype[5].structtype[0].field[5].datatype 3474528
-datatype[5].structtype[0].field[5].detailedtype ""
datatype[5].structtype[0].field[6].name "c2"
datatype[5].structtype[0].field[6].datatype 3474528
-datatype[5].structtype[0].field[6].detailedtype ""
datatype[5].structtype[0].field[7].name "c3"
datatype[5].structtype[0].field[7].datatype 3474528
-datatype[5].structtype[0].field[7].detailedtype ""
datatype[5].structtype[0].field[8].name "n"
datatype[5].structtype[0].field[8].datatype 105061838
-datatype[5].structtype[0].field[8].detailedtype ""
datatype[5].structtype[0].field[9].name "array1"
datatype[5].structtype[0].field[9].datatype -1425630723
-datatype[5].structtype[0].field[9].detailedtype ""
datatype[5].structtype[0].field[10].name "array2"
datatype[5].structtype[0].field[10].datatype -1425630723
-datatype[5].structtype[0].field[10].detailedtype ""
datatype[5].structtype[0].field[11].name "array3"
datatype[5].structtype[0].field[11].datatype -1425630723
-datatype[5].structtype[0].field[11].detailedtype ""
datatype[5].structtype[0].field[12].name "subject"
datatype[5].structtype[0].field[12].datatype 3474528
-datatype[5].structtype[0].field[12].detailedtype ""
datatype[5].structtype[0].field[13].name "d"
datatype[5].structtype[0].field[13].datatype 3474528
-datatype[5].structtype[0].field[13].detailedtype ""
datatype[5].structtype[0].field[14].name "e"
datatype[5].structtype[0].field[14].datatype 3474528
-datatype[5].structtype[0].field[14].detailedtype ""
datatype[5].structtype[0].field[15].name "f"
datatype[5].structtype[0].field[15].datatype 3474528
-datatype[5].structtype[0].field[15].detailedtype ""
datatype[5].structtype[0].field[16].name "g"
datatype[5].structtype[0].field[16].datatype 2
-datatype[5].structtype[0].field[16].detailedtype ""
datatype[6].id 1858438651
datatype[6].structtype[0].name "streamingstruct.body"
datatype[6].structtype[0].version 0
diff --git a/config-model/src/test/derived/structanyorder/documentmanager.cfg b/config-model/src/test/derived/structanyorder/documentmanager.cfg
index b4777f7535f..dc56ed1cfc9 100755
--- a/config-model/src/test/derived/structanyorder/documentmanager.cfg
+++ b/config-model/src/test/derived/structanyorder/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 109267174
datatype[1].structtype[0].name "sct"
datatype[1].structtype[0].version 0
@@ -21,16 +19,12 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "s1"
datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "s2"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "s3"
datatype[1].structtype[0].field[2].datatype 109267174
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[1].structtype[0].field[3].name "s4"
datatype[1].structtype[0].field[3].datatype 97614088
-datatype[1].structtype[0].field[3].detailedtype ""
datatype[2].id 97614088
datatype[2].structtype[0].name "foo"
datatype[2].structtype[0].version 0
@@ -40,7 +34,6 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "s1"
datatype[2].structtype[0].field[0].datatype 0
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[3].id 517946310
datatype[3].structtype[0].name "annotation.banana"
datatype[3].structtype[0].version 0
@@ -50,10 +43,8 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "b"
datatype[3].structtype[0].field[0].datatype 109267174
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "c"
datatype[3].structtype[0].field[1].datatype 97614088
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[4].id -1244829667
datatype[4].arraytype[0].datatype 109267174
datatype[5].id -364910881
@@ -65,16 +56,12 @@ datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
datatype[5].structtype[0].field[0].name "structfield"
datatype[5].structtype[0].field[0].datatype 109267174
-datatype[5].structtype[0].field[0].detailedtype ""
datatype[5].structtype[0].field[1].name "structarrayfield"
datatype[5].structtype[0].field[1].datatype -1244829667
-datatype[5].structtype[0].field[1].detailedtype ""
datatype[5].structtype[0].field[2].name "rankfeatures"
datatype[5].structtype[0].field[2].datatype 2
-datatype[5].structtype[0].field[2].detailedtype ""
datatype[5].structtype[0].field[3].name "summaryfeatures"
datatype[5].structtype[0].field[3].datatype 2
-datatype[5].structtype[0].field[3].detailedtype ""
datatype[6].id -1503592268
datatype[6].structtype[0].name "annotationsimplicitstruct.body"
datatype[6].structtype[0].version 0
diff --git a/config-model/src/test/derived/tensor/attributes.cfg b/config-model/src/test/derived/tensor/attributes.cfg
index 8819e28b354..a3026d579d5 100644
--- a/config-model/src/test/derived/tensor/attributes.cfg
+++ b/config-model/src/test/derived/tensor/attributes.cfg
@@ -16,7 +16,7 @@ attribute[0].arity 8
attribute[0].lowerbound -9223372036854775808
attribute[0].upperbound 9223372036854775807
attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype "tensor(x[2],y[])"
+attribute[0].tensortype ""
attribute[1].name "f3"
attribute[1].datatype TENSOR
attribute[1].collectiontype SINGLE
@@ -35,7 +35,7 @@ attribute[1].arity 8
attribute[1].lowerbound -9223372036854775808
attribute[1].upperbound 9223372036854775807
attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype "tensor(x{})"
+attribute[1].tensortype ""
attribute[2].name "f4"
attribute[2].datatype TENSOR
attribute[2].collectiontype SINGLE
diff --git a/config-model/src/test/derived/tensor/documenttypes.cfg b/config-model/src/test/derived/tensor/documenttypes.cfg
index 7c39af767f4..2a76458a97a 100644
--- a/config-model/src/test/derived/tensor/documenttypes.cfg
+++ b/config-model/src/test/derived/tensor/documenttypes.cfg
@@ -24,32 +24,26 @@ documenttype[0].datatype[0].sstruct.field[0].name "f1"
documenttype[0].datatype[0].sstruct.field[0].id 26661415
documenttype[0].datatype[0].sstruct.field[0].id_v6 1740179945
documenttype[0].datatype[0].sstruct.field[0].datatype 21
-documenttype[0].datatype[0].sstruct.field[2].detailedtype "tensor(x[])"
documenttype[0].datatype[0].sstruct.field[1].name "f2"
documenttype[0].datatype[0].sstruct.field[1].id 2080644671
documenttype[0].datatype[0].sstruct.field[1].id_v6 1424572148
documenttype[0].datatype[0].sstruct.field[1].datatype 21
-documenttype[0].datatype[0].sstruct.field[2].detailedtype "tensor(x[2],y[])"
documenttype[0].datatype[0].sstruct.field[2].name "f3"
documenttype[0].datatype[0].sstruct.field[2].id 1295091863
documenttype[0].datatype[0].sstruct.field[2].id_v6 1444109654
documenttype[0].datatype[0].sstruct.field[2].datatype 21
-documenttype[0].datatype[0].sstruct.field[2].detailedtype "tensor(x{})"
documenttype[0].datatype[0].sstruct.field[3].name "f4"
documenttype[0].datatype[0].sstruct.field[3].id 1224191509
documenttype[0].datatype[0].sstruct.field[3].id_v6 1039544782
documenttype[0].datatype[0].sstruct.field[3].datatype 21
-documenttype[0].datatype[0].sstruct.field[3].detailedtype "tensor(x[],y[])"
documenttype[0].datatype[0].sstruct.field[4].name "rankfeatures"
documenttype[0].datatype[0].sstruct.field[4].id 1883197392
documenttype[0].datatype[0].sstruct.field[4].id_v6 699950698
documenttype[0].datatype[0].sstruct.field[4].datatype 2
-documenttype[0].datatype[0].sstruct.field[4].detailedtype ""
documenttype[0].datatype[0].sstruct.field[5].name "summaryfeatures"
documenttype[0].datatype[0].sstruct.field[5].id 1840337115
documenttype[0].datatype[0].sstruct.field[5].id_v6 1981648971
documenttype[0].datatype[0].sstruct.field[5].datatype 2
-documenttype[0].datatype[0].sstruct.field[5].detailedtype ""
documenttype[0].datatype[1].id -1903234535
documenttype[0].datatype[1].type STRUCT
documenttype[0].datatype[1].array.element.id 0
diff --git a/config-model/src/test/derived/tensor/rank-profiles.cfg b/config-model/src/test/derived/tensor/rank-profiles.cfg
index d9c6c5088c2..d70555c9131 100644
--- a/config-model/src/test/derived/tensor/rank-profiles.cfg
+++ b/config-model/src/test/derived/tensor/rank-profiles.cfg
@@ -1,8 +1,4 @@
rankprofile[].name "default"
-rankprofile[].fef.property[].name "vespa.type.attribute.f2"
-rankprofile[].fef.property[].value "tensor(x[2],y[])"
-rankprofile[].fef.property[].name "vespa.type.attribute.f3"
-rankprofile[].fef.property[].value "tensor(x{})"
rankprofile[].fef.property[].name "vespa.type.attribute.f4"
rankprofile[].fef.property[].value "tensor(x[10],y[20])"
rankprofile[].name "unranked"
@@ -14,10 +10,6 @@ rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
rankprofile[].fef.property[].value "0"
rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
rankprofile[].fef.property[].value "true"
-rankprofile[].fef.property[].name "vespa.type.attribute.f2"
-rankprofile[].fef.property[].value "tensor(x[2],y[])"
-rankprofile[].fef.property[].name "vespa.type.attribute.f3"
-rankprofile[].fef.property[].value "tensor(x{})"
rankprofile[].fef.property[].name "vespa.type.attribute.f4"
rankprofile[].fef.property[].value "tensor(x[10],y[20])"
rankprofile[].name "profile1"
@@ -25,10 +17,6 @@ rankprofile[].fef.property[].name "vespa.rank.firstphase"
rankprofile[].fef.property[].value "rankingExpression(firstphase)"
rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
rankprofile[].fef.property[].value "map(attribute(f4), f(x)(x * x)) + reduce(tensor(x[2],y[3])(random), count) * rename(attribute(f4), (x, y), (y, x))"
-rankprofile[].fef.property[].name "vespa.type.attribute.f2"
-rankprofile[].fef.property[].value "tensor(x[2],y[])"
-rankprofile[].fef.property[].name "vespa.type.attribute.f3"
-rankprofile[].fef.property[].value "tensor(x{})"
rankprofile[].fef.property[].name "vespa.type.attribute.f4"
rankprofile[].fef.property[].value "tensor(x[10],y[20])"
rankprofile[].name "profile2"
@@ -36,9 +24,5 @@ rankprofile[].fef.property[].name "vespa.rank.firstphase"
rankprofile[].fef.property[].value "rankingExpression(firstphase)"
rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
rankprofile[].fef.property[].value "reduce(join(attribute(f4), tensor(x[2],y[2],z[3])((x==y)*(y==z)), f(a,b)(a * b)), sum, x)"
-rankprofile[].fef.property[].name "vespa.type.attribute.f2"
-rankprofile[].fef.property[].value "tensor(x[2],y[])"
-rankprofile[].fef.property[].name "vespa.type.attribute.f3"
-rankprofile[].fef.property[].value "tensor(x{})"
rankprofile[].fef.property[].name "vespa.type.attribute.f4"
-rankprofile[].fef.property[].value "tensor(x[10],y[20])" \ No newline at end of file
+rankprofile[].fef.property[].value "tensor(x[10],y[20])"
diff --git a/config-model/src/test/derived/tensor/tensor.sd b/config-model/src/test/derived/tensor/tensor.sd
index 18f1245e0b4..fab4cafddab 100644
--- a/config-model/src/test/derived/tensor/tensor.sd
+++ b/config-model/src/test/derived/tensor/tensor.sd
@@ -2,16 +2,16 @@
search tensor {
document tensor {
- field f1 type tensor(x[]) {
+ field f1 type tensor {
indexing: summary
}
- field f2 type tensor(x[2],y[]) {
+ field f2 type tensor {
indexing: attribute
}
- field f3 type tensor(x{}) {
+ field f3 type tensor {
indexing: attribute | summary
}
- field f4 type tensor(x[],y[]) {
+ field f4 type tensor {
indexing: attribute
attribute: tensor(x[10],y[20])
}
diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg
index d5679a25ed5..f20562d2a3c 100644
--- a/config-model/src/test/derived/types/attributes.cfg
+++ b/config-model/src/test/derived/types/attributes.cfg
@@ -206,4 +206,4 @@ attribute[10].arity 8
attribute[10].lowerbound -9223372036854775808
attribute[10].upperbound 9223372036854775807
attribute[10].densepostinglistthreshold 0.4
-attribute[10].tensortype "" \ No newline at end of file
+attribute[10].tensortype ""
diff --git a/config-model/src/test/derived/types/documentmanager.cfg b/config-model/src/test/derived/types/documentmanager.cfg
index ca9a300ad9c..a2018ffa195 100644
--- a/config-model/src/test/derived/types/documentmanager.cfg
+++ b/config-model/src/test/derived/types/documentmanager.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -1865479609
datatype[1].maptype[0].keytype 2
datatype[1].maptype[0].valtype 4
@@ -24,16 +22,12 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "Version"
datatype[2].structtype[0].field[0].datatype 0
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "Name"
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[2].structtype[0].field[2].name "FlagsCounter"
datatype[2].structtype[0].field[2].datatype -1865479609
-datatype[2].structtype[0].field[2].detailedtype ""
datatype[2].structtype[0].field[3].name "anotherfolder"
datatype[2].structtype[0].field[3].datatype 294108848
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[3].id 109267174
datatype[3].structtype[0].name "sct"
datatype[3].structtype[0].version 0
@@ -43,10 +37,8 @@ datatype[3].structtype[0].compressthreshold 95
datatype[3].structtype[0].compressminsize 800
datatype[3].structtype[0].field[0].name "s1"
datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "s2"
datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
datatype[4].id 49942803
datatype[4].arraytype[0].datatype 16
datatype[5].id 339965458
@@ -61,16 +53,12 @@ datatype[6].structtype[0].compressthreshold 95
datatype[6].structtype[0].compressminsize 800
datatype[6].structtype[0].field[0].name "bytearr"
datatype[6].structtype[0].field[0].datatype 49942803
-datatype[6].structtype[0].field[0].detailedtype ""
datatype[6].structtype[0].field[1].name "mymap"
datatype[6].structtype[0].field[1].datatype 339965458
-datatype[6].structtype[0].field[1].detailedtype ""
datatype[6].structtype[0].field[2].name "title"
datatype[6].structtype[0].field[2].datatype 2
-datatype[6].structtype[0].field[2].detailedtype ""
datatype[6].structtype[0].field[3].name "structfield"
datatype[6].structtype[0].field[3].datatype 2
-datatype[6].structtype[0].field[3].detailedtype ""
datatype[7].id -1245117006
datatype[7].arraytype[0].datatype 0
datatype[8].id 1328286588
@@ -127,88 +115,60 @@ datatype[24].structtype[0].compressthreshold 95
datatype[24].structtype[0].compressminsize 800
datatype[24].structtype[0].field[0].name "abyte"
datatype[24].structtype[0].field[0].datatype 16
-datatype[24].structtype[0].field[0].detailedtype ""
datatype[24].structtype[0].field[1].name "along"
datatype[24].structtype[0].field[1].datatype 4
-datatype[24].structtype[0].field[1].detailedtype ""
datatype[24].structtype[0].field[2].name "arrayfield"
datatype[24].structtype[0].field[2].datatype -1245117006
-datatype[24].structtype[0].field[2].detailedtype ""
datatype[24].structtype[0].field[3].name "setfield"
datatype[24].structtype[0].field[3].datatype 1328286588
-datatype[24].structtype[0].field[3].detailedtype ""
datatype[24].structtype[0].field[4].name "setfield2"
datatype[24].structtype[0].field[4].datatype 18
-datatype[24].structtype[0].field[4].detailedtype ""
datatype[24].structtype[0].field[5].name "setfield3"
datatype[24].structtype[0].field[5].datatype 2125328771
-datatype[24].structtype[0].field[5].detailedtype ""
datatype[24].structtype[0].field[6].name "setfield4"
datatype[24].structtype[0].field[6].datatype 2065577986
-datatype[24].structtype[0].field[6].detailedtype ""
datatype[24].structtype[0].field[7].name "tagfield"
datatype[24].structtype[0].field[7].datatype 18
-datatype[24].structtype[0].field[7].detailedtype ""
datatype[24].structtype[0].field[8].name "structfield"
datatype[24].structtype[0].field[8].datatype 109267174
-datatype[24].structtype[0].field[8].detailedtype ""
datatype[24].structtype[0].field[9].name "structarrayfield"
datatype[24].structtype[0].field[9].datatype -1244829667
-datatype[24].structtype[0].field[9].detailedtype ""
datatype[24].structtype[0].field[10].name "stringmapfield"
datatype[24].structtype[0].field[10].datatype 339965458
-datatype[24].structtype[0].field[10].detailedtype ""
datatype[24].structtype[0].field[11].name "intmapfield"
datatype[24].structtype[0].field[11].datatype -1584287606
-datatype[24].structtype[0].field[11].detailedtype ""
datatype[24].structtype[0].field[12].name "floatmapfield"
datatype[24].structtype[0].field[12].datatype 2125154557
-datatype[24].structtype[0].field[12].detailedtype ""
datatype[24].structtype[0].field[13].name "longmapfield"
datatype[24].structtype[0].field[13].datatype -1715531035
-datatype[24].structtype[0].field[13].detailedtype ""
datatype[24].structtype[0].field[14].name "doublemapfield"
datatype[24].structtype[0].field[14].datatype 2138385264
-datatype[24].structtype[0].field[14].detailedtype ""
datatype[24].structtype[0].field[15].name "arraymapfield"
datatype[24].structtype[0].field[15].datatype 435886609
-datatype[24].structtype[0].field[15].detailedtype ""
datatype[24].structtype[0].field[16].name "arrarr"
datatype[24].structtype[0].field[16].datatype -794985308
-datatype[24].structtype[0].field[16].detailedtype ""
datatype[24].structtype[0].field[17].name "maparr"
datatype[24].structtype[0].field[17].datatype 69621385
-datatype[24].structtype[0].field[17].detailedtype ""
datatype[24].structtype[0].field[18].name "mystructfield"
datatype[24].structtype[0].field[18].datatype -2092985853
-datatype[24].structtype[0].field[18].detailedtype ""
datatype[24].structtype[0].field[19].name "mystructmap"
datatype[24].structtype[0].field[19].datatype 1901258752
-datatype[24].structtype[0].field[19].detailedtype ""
datatype[24].structtype[0].field[20].name "mystructarr"
datatype[24].structtype[0].field[20].datatype 759956026
-datatype[24].structtype[0].field[20].detailedtype ""
datatype[24].structtype[0].field[21].name "Folders"
datatype[24].structtype[0].field[21].datatype -389833101
-datatype[24].structtype[0].field[21].detailedtype ""
datatype[24].structtype[0].field[22].name "juletre"
datatype[24].structtype[0].field[22].datatype 4
-datatype[24].structtype[0].field[22].detailedtype ""
datatype[24].structtype[0].field[23].name "album0"
datatype[24].structtype[0].field[23].datatype 18
-datatype[24].structtype[0].field[23].detailedtype ""
datatype[24].structtype[0].field[24].name "album1"
datatype[24].structtype[0].field[24].datatype 18
-datatype[24].structtype[0].field[24].detailedtype ""
datatype[24].structtype[0].field[25].name "other"
datatype[24].structtype[0].field[25].datatype 4
-datatype[24].structtype[0].field[25].detailedtype ""
datatype[24].structtype[0].field[26].name "rankfeatures"
datatype[24].structtype[0].field[26].datatype 2
-datatype[24].structtype[0].field[26].detailedtype ""
datatype[24].structtype[0].field[27].name "summaryfeatures"
datatype[24].structtype[0].field[27].datatype 2
-datatype[24].structtype[0].field[27].detailedtype ""
datatype[25].id 171503364
datatype[25].maptype[0].keytype 1707615575
datatype[25].maptype[0].valtype 0
@@ -223,7 +183,6 @@ datatype[27].structtype[0].compressthreshold 95
datatype[27].structtype[0].compressminsize 800
datatype[27].structtype[0].field[0].name "complexarray"
datatype[27].structtype[0].field[0].datatype 1100964733
-datatype[27].structtype[0].field[0].detailedtype ""
datatype[28].id -853072901
datatype[28].documenttype[0].name "types"
datatype[28].documenttype[0].version 0
diff --git a/config-model/src/test/derived/types/ilscripts.cfg b/config-model/src/test/derived/types/ilscripts.cfg
index 70b799d0df0..cc692e120be 100644
--- a/config-model/src/test/derived/types/ilscripts.cfg
+++ b/config-model/src/test/derived/types/ilscripts.cfg
@@ -52,4 +52,4 @@ ilscript[0].content[22] "input mystructfield | passthrough mystructfield"
ilscript[0].content[23] "input mystructmap | passthrough mystructmap"
ilscript[0].content[24] "input stringmapfield | passthrough stringmapfield"
ilscript[0].content[25] "input structarrayfield | passthrough structarrayfield"
-ilscript[0].content[26] "input structfield | passthrough structfield" \ No newline at end of file
+ilscript[0].content[26] "input structfield | passthrough structfield"
diff --git a/config-model/src/test/derived/types/index-info.cfg b/config-model/src/test/derived/types/index-info.cfg
index 85d4c884571..4b94127c687 100644
--- a/config-model/src/test/derived/types/index-info.cfg
+++ b/config-model/src/test/derived/types/index-info.cfg
@@ -424,4 +424,4 @@ indexinfo[0].command[210].command "multivalue"
indexinfo[0].command[211].indexname "rankfeatures"
indexinfo[0].command[211].command "index"
indexinfo[0].command[212].indexname "summaryfeatures"
-indexinfo[0].command[212].command "index" \ No newline at end of file
+indexinfo[0].command[212].command "index"
diff --git a/config-model/src/test/derived/types/summary.cfg b/config-model/src/test/derived/types/summary.cfg
index b1205f45709..6a62dedb851 100644
--- a/config-model/src/test/derived/types/summary.cfg
+++ b/config-model/src/test/derived/types/summary.cfg
@@ -32,4 +32,4 @@ classes[1].fields[3].type "int64"
classes[1].fields[4].name "rankfeatures"
classes[1].fields[4].type "featuredata"
classes[1].fields[5].name "summaryfeatures"
-classes[1].fields[5].type "featuredata" \ No newline at end of file
+classes[1].fields[5].type "featuredata"
diff --git a/config-model/src/test/derived/types/summarymap.cfg b/config-model/src/test/derived/types/summarymap.cfg
index 8a3ed769213..eac532d966b 100644
--- a/config-model/src/test/derived/types/summarymap.cfg
+++ b/config-model/src/test/derived/types/summarymap.cfg
@@ -22,4 +22,4 @@ override[6].command "attribute"
override[6].arguments "other"
override[7].field "juletre"
override[7].command "attribute"
-override[7].arguments "juletre" \ No newline at end of file
+override[7].arguments "juletre"
diff --git a/config-model/src/test/examples/fieldoftypedocument.cfg b/config-model/src/test/examples/fieldoftypedocument.cfg
index d3dd0d06b66..9ce928381ec 100644
--- a/config-model/src/test/examples/fieldoftypedocument.cfg
+++ b/config-model/src/test/examples/fieldoftypedocument.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id -1344444812
datatype[1].structtype[0].name "book.header"
datatype[1].structtype[0].version 0
@@ -21,13 +19,10 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "soundtrack"
datatype[1].structtype[0].field[0].datatype 1412693671
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[1].structtype[0].field[1].name "rankfeatures"
datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
datatype[1].structtype[0].field[2].name "summaryfeatures"
datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[2].id -820813431
datatype[2].structtype[0].name "book.body"
datatype[2].structtype[0].version 0
@@ -52,19 +47,14 @@ datatype[4].structtype[0].compressthreshold 95
datatype[4].structtype[0].compressminsize 800
datatype[4].structtype[0].field[0].name "intfield"
datatype[4].structtype[0].field[0].datatype 0
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[4].structtype[0].field[1].name "stringfield"
datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].detailedtype ""
datatype[4].structtype[0].field[2].name "longfield"
datatype[4].structtype[0].field[2].datatype 4
-datatype[4].structtype[0].field[2].detailedtype ""
datatype[4].structtype[0].field[3].name "rankfeatures"
datatype[4].structtype[0].field[3].datatype 2
-datatype[4].structtype[0].field[3].detailedtype ""
datatype[4].structtype[0].field[4].name "summaryfeatures"
datatype[4].structtype[0].field[4].datatype 2
-datatype[4].structtype[0].field[4].detailedtype ""
datatype[5].id 993120973
datatype[5].structtype[0].name "music.body"
datatype[5].structtype[0].version 0
diff --git a/config-model/src/test/examples/structresult.cfg b/config-model/src/test/examples/structresult.cfg
index 075ac54b983..addb5f6205c 100755
--- a/config-model/src/test/examples/structresult.cfg
+++ b/config-model/src/test/examples/structresult.cfg
@@ -8,10 +8,8 @@ datatype[0].structtype[0].compressthreshold 95
datatype[0].structtype[0].compressminsize 800
datatype[0].structtype[0].field[0].name "x"
datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
datatype[0].structtype[0].field[1].name "y"
datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
datatype[1].id 93505813
datatype[1].structtype[0].name "bar"
datatype[1].structtype[0].version 0
@@ -21,7 +19,6 @@ datatype[1].structtype[0].compressthreshold 95
datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "humbe"
datatype[1].structtype[0].field[0].datatype 97614088
-datatype[1].structtype[0].field[0].detailedtype ""
datatype[2].id 97614088
datatype[2].structtype[0].name "foo"
datatype[2].structtype[0].version 0
@@ -31,11 +28,9 @@ datatype[2].structtype[0].compressthreshold 95
datatype[2].structtype[0].compressminsize 800
datatype[2].structtype[0].field[0].name "fubar"
datatype[2].structtype[0].field[0].datatype 0
-datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "bar"
datatype[2].structtype[0].field[1].id[0].id 1
datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
datatype[3].id -1245205573
datatype[3].arraytype[0].datatype 97614088
datatype[4].id -1910204744
@@ -47,19 +42,14 @@ datatype[4].structtype[0].compressthreshold 95
datatype[4].structtype[0].compressminsize 800
datatype[4].structtype[0].field[0].name "mystruct"
datatype[4].structtype[0].field[0].datatype 97614088
-datatype[4].structtype[0].field[0].detailedtype ""
datatype[4].structtype[0].field[1].name "arraystruct"
datatype[4].structtype[0].field[1].datatype -1245205573
-datatype[4].structtype[0].field[1].detailedtype ""
datatype[4].structtype[0].field[2].name "advanced"
datatype[4].structtype[0].field[2].datatype 93505813
-datatype[4].structtype[0].field[2].detailedtype ""
datatype[4].structtype[0].field[3].name "rankfeatures"
datatype[4].structtype[0].field[3].datatype 2
-datatype[4].structtype[0].field[3].detailedtype ""
datatype[4].structtype[0].field[4].name "summaryfeatures"
datatype[4].structtype[0].field[4].datatype 2
-datatype[4].structtype[0].field[4].detailedtype ""
datatype[5].id 993120973
datatype[5].structtype[0].name "music.body"
datatype[5].structtype[0].version 0
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java
index 83d5c422fdf..4a3119e55b7 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java
@@ -14,10 +14,9 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
/**
- * @author Einar M R Rosenvinge
+ * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
*/
public class FieldOfTypeDocumentTestCase extends SearchDefinitionTestCase {
-
@Test
public void testDocument() throws IOException, ParseException {
@@ -26,7 +25,7 @@ public class FieldOfTypeDocumentTestCase extends SearchDefinitionTestCase {
sds.add("src/test/examples/fieldoftypedocument.sd");
DocumentmanagerConfig.Builder value = Deriver.getDocumentManagerConfig(sds);
assertConfigFile("src/test/examples/fieldoftypedocument.cfg",
- new DocumentmanagerConfig(value).toString() + "\n");
+ new DocumentmanagerConfig(value).toString() + "\n");
DocumentTypeManager manager = new DocumentTypeManager();
DocumentTypeManagerConfigurer.configure(manager, "raw:" + new DocumentmanagerConfig(value).toString());
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/NameFieldCheckTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/NameFieldCheckTestCase.java
index 5542c1ce5e9..f8fe979c866 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/NameFieldCheckTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/NameFieldCheckTestCase.java
@@ -6,16 +6,14 @@ import org.junit.Test;
import java.io.IOException;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-
/**
* Tests that "name" is not allowed as name for a field.
*
* And that duplicate names are not allowed.
*
- * @author Lars Christian Jensen
+ * @author <a href="mailto:larschr@yahoo-inc.com">Lars Christian Jensen</a>
*/
public class NameFieldCheckTestCase extends SearchDefinitionTestCase {
@@ -24,8 +22,8 @@ public class NameFieldCheckTestCase extends SearchDefinitionTestCase {
try {
SearchBuilder.buildFromFile("src/test/examples/name-check.sd");
fail("Should throw exception.");
- } catch (Exception expected) {
- // Success
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
@@ -35,7 +33,8 @@ public class NameFieldCheckTestCase extends SearchDefinitionTestCase {
SearchBuilder.buildFromFile("src/test/examples/duplicatenamesinsearchdifferenttype.sd");
fail("Should throw exception.");
} catch (Exception e) {
- assertEquals("For search 'duplicatenamesinsearch', field 'grpphotoids64': Incompatible types. Expected Array<long> for index field 'grpphotoids64', got string.", e.getMessage());
+ e.printStackTrace();
+ assertTrue(e.getMessage().matches(".*Duplicate.*different type.*"));
}
}
@@ -45,6 +44,7 @@ public class NameFieldCheckTestCase extends SearchDefinitionTestCase {
SearchBuilder.buildFromFile("src/test/examples/duplicatenamesindoc.sd");
fail("Should throw exception.");
} catch (Exception e) {
+ e.printStackTrace();
assertTrue(e.getMessage().matches(".*Duplicate.*"));
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
index b2968eb4a85..ae3b775f13d 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
@@ -102,9 +102,9 @@ public class RankProfileTestCase extends SearchDefinitionTestCase {
SearchBuilder builder = new SearchBuilder(registry);
builder.importString("search test {\n" +
" document test { \n" +
- " field a type tensor(x[]) { indexing: attribute \n attribute: tensor(x[10]) }\n" +
- " field b type tensor(y{}) { indexing: attribute \n attribute: tensor(y{}) }\n" +
- " field c type tensor(x[]) { indexing: attribute }\n" +
+ " field a type tensor { indexing: attribute \n attribute: tensor(x[10]) }\n" +
+ " field b type tensor { indexing: attribute \n attribute: tensor(y{}) }\n" +
+ " field c type tensor { indexing: attribute }\n" +
" }\n" +
" rank-profile p1 {}\n" +
" rank-profile p2 {}\n" +
@@ -123,7 +123,7 @@ public class RankProfileTestCase extends SearchDefinitionTestCase {
RawRankProfile rawProfile = new RawRankProfile(profile, new AttributeFields(search));
assertEquals("tensor(x[10])", findProperty(rawProfile.configProperties(), "vespa.type.attribute.a").get());
assertEquals("tensor(y{})", findProperty(rawProfile.configProperties(), "vespa.type.attribute.b").get());
- assertEquals("tensor(x[])", findProperty(rawProfile.configProperties(), "vespa.type.attribute.c").get());
+ assertFalse(findProperty(rawProfile.configProperties(), "vespa.type.attribute.c").isPresent());
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java
index 3236be983d8..c33ebc95bd2 100755
--- a/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java
@@ -10,28 +10,26 @@ import java.io.IOException;
import static org.junit.Assert.fail;
/**
- * Tests importing of document containing array type fields
+ * tests importing of document containing array type fields
*
* @author bratseth
*/
public class StructTestCase extends SearchDefinitionTestCase {
-
@Test
public void testStruct() throws IOException, ParseException {
assertConfigFile("src/test/examples/structresult.cfg",
- new DocumentmanagerConfig(Deriver.getDocumentManagerConfig("src/test/examples/struct.sd")).toString() + "\n");
+ new DocumentmanagerConfig(Deriver.getDocumentManagerConfig("src/test/examples/struct.sd")).toString() + "\n");
}
-
@Test
public void testBadStruct() throws IOException {
try {
SearchBuilder.buildFromFile("src/test/examples/badstruct.sd");
fail("Should throw exception.");
- } catch (ParseException expected) {
- // success
+ } catch (ParseException e) {
+ //ok!
+ //e.printStackTrace();
}
}
-
@Test
public void testStructAndDocumentWithSameNames() throws IOException, ParseException {
try {
@@ -43,6 +41,8 @@ public class StructTestCase extends SearchDefinitionTestCase {
/**
* Declaring a struct before a document will fail, no doc type to add it to.
+ * @throws IOException
+ * @throws ParseException
*/
@Test(expected = IllegalArgumentException.class)
public void testStructOutsideDocumentIllegal() throws IOException, ParseException {
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java
index 0007019e6b4..ecadf8e1b71 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java
@@ -19,28 +19,28 @@ public class TensorFieldTestCase {
public void requireThatTensorFieldCannotBeOfCollectionType() throws ParseException {
exception.expect(IllegalArgumentException.class);
exception.expectMessage("For search 'test', field 'f1': A field with collection type of tensor is not supported. Use simple type 'tensor' instead.");
- SearchBuilder.createFromString(getSd("field f1 type array<tensor(x{})> {}"));
+ SearchBuilder.createFromString(getSd("field f1 type array<tensor> {}"));
}
@Test
public void requireThatTensorFieldCannotBeIndexField() throws ParseException {
exception.expect(IllegalArgumentException.class);
exception.expectMessage("For search 'test', field 'f1': A field of type 'tensor' cannot be specified as an 'index' field.");
- SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: index }"));
+ SearchBuilder.createFromString(getSd("field f1 type tensor { indexing: index }"));
}
@Test
public void requireThatTensorAttributeCannotBeFastSearch() throws ParseException {
exception.expect(IllegalArgumentException.class);
exception.expectMessage("For search 'test', field 'f1': An attribute of type 'tensor' cannot be 'fast-search'.");
- SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: attribute \n attribute: fast-search }"));
+ SearchBuilder.createFromString(getSd("field f1 type tensor { indexing: attribute \n attribute: fast-search }"));
}
@Test
public void requireThatIllegalTensorTypeSpecThrowsException() throws ParseException {
exception.expect(IllegalArgumentException.class);
exception.expectMessage("For attribute field 'f1': Illegal tensor type spec: Failed parsing element 'invalid' in type spec 'tensor(invalid)'");
- SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: attribute \n attribute: tensor(invalid) }"));
+ SearchBuilder.createFromString(getSd("field f1 type tensor { indexing: attribute \n attribute: tensor(invalid) }"));
}
private static String getSd(String field) {
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidatorTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidatorTestCase.java
index a8b4065ef38..8c1a288c46d 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidatorTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidatorTestCase.java
@@ -8,7 +8,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
/**
- * @author Simon Thoresen
+ * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
*/
public class SearchDataTypeValidatorTestCase {
@@ -37,5 +37,4 @@ public class SearchDataTypeValidatorTestCase {
"'simple' for cluster 'content').", e.getMessage());
}
}
-
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java
index e43827d7693..b3ef8c6d7f2 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java
@@ -9,7 +9,6 @@ import java.util.List;
import static com.yahoo.vespa.model.application.validation.change.ConfigChangeTestUtils.newRefeedAction;
import static com.yahoo.vespa.model.application.validation.change.ConfigChangeTestUtils.newRestartAction;
-import static org.junit.Assert.assertEquals;
public class AttributeChangeValidatorTest {
@@ -111,8 +110,8 @@ public class AttributeChangeValidatorTest {
@Test
public void requireThatChangingTensorTypeOfTensorFieldRequiresRefeed() throws Exception {
new Fixture(
- "field f1 type tensor(x[]) { indexing: attribute \n attribute: tensor(x[100]) }",
- "field f1 type tensor(y[]) { indexing: attribute \n attribute: tensor(y[]) }")
+ "field f1 type tensor { indexing: attribute \n attribute: tensor(x[100]) }",
+ "field f1 type tensor { indexing: attribute \n attribute: tensor(y[]) }")
.assertValidation(newRefeedAction(
"tensor-type-change",
ValidationOverrides.empty(),
@@ -120,24 +119,10 @@ public class AttributeChangeValidatorTest {
}
@Test
- public void requireThatCompatibleTensorTypeChangeIsOk() throws Exception {
+ public void requireThatNotChangingTensorTypeOfTensorFieldIsOk() throws Exception {
new Fixture(
- "field f1 type tensor(x[],y[]) { indexing: attribute \n attribute: tensor(x[104], y[52]) }",
- "field f1 type tensor(x[200],y[]) { indexing: attribute \n attribute: tensor(x[104], y[52]) }")
+ "field f1 type tensor { indexing: attribute \n attribute: tensor(x[104], y[52]) }",
+ "field f1 type tensor { indexing: attribute \n attribute: tensor(x[104], y[52]) }")
.assertValidation();
}
-
- @Test
- public void requireIncompatibleTensorTypeChangeIsNotOk() throws Exception {
- try {
- new Fixture(
- "field f1 type tensor(x[],y[]) { indexing: attribute \n attribute: tensor(x[104], y[52]) }",
- "field f1 type tensor(x[100],y[]) { indexing: attribute \n attribute: tensor(x[104], y[52]) }")
- .assertValidation();
- }
- catch (IllegalArgumentException e) {
- assertEquals("For search 'test', field 'f1': Incompatible types. Expected tensor(x[100],y[]) for attribute 'f1', got tensor(x[104],y[52]).", e.getMessage());
- }
- }
-
}