Class ValidateFieldTypes

java.lang.Object
com.yahoo.schema.processing.Processor
com.yahoo.schema.processing.ValidateFieldTypes
Direct Known Subclasses:
ValidateFieldTypesDocumentsOnly

public class ValidateFieldTypes extends Processor
This Processor makes sure all fields with the same name have the same DataType. This check explicitly disregards whether a field is an index field, an attribute or a summary field. This is a requirement if we hope to move to a model where index fields, attributes and summary fields share a common field class.
Author:
Simon Thoresen Hult
  • Constructor Details

    • ValidateFieldTypes

      public ValidateFieldTypes(Schema schema, com.yahoo.config.application.api.DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles)
  • Method Details

    • process

      public void process(boolean validate, boolean documentsOnly)
      Description copied from class: Processor
      Processes the input search definition by modifying the input search and its documents, and returns the input search definition.
      Specified by:
      process in class Processor
      Parameters:
      validate - true to throw exceptions on validation errors, false to make the best possible effort at completing processing without throwing an exception. If we are not validating, emitting warnings have no effect and can (but must not) be skipped.
      documentsOnly - true to skip processing (including validation, regardless of the validate setting) of aspects not relating to document definitions (e.g rank profiles)
    • verifySearchAndDocFields

      protected final void verifySearchAndDocFields(String searchName, Map<String,com.yahoo.document.DataType> seenFields)
    • verifySummaryFields

      protected final void verifySummaryFields(String searchName, Map<String,com.yahoo.document.DataType> seenFields)