static boolean hadBadBloomFilters(TypeDescription.Category category,
      OrcFile.WriterVersion version) {
    switch(category) {
    case STRING:
    case CHAR:
    case VARCHAR:
      return !version.includes(OrcFile.WriterVersion.HIVE_12055);
    case DECIMAL:
      return true;
    case TIMESTAMP:
      return !version.includes(OrcFile.WriterVersion.ORC_135);
    default:
      return false;
    }
  }
Plans the list of disk ranges that the given stripe needs to read the
indexes. All of the positions are relative to the start of the stripe.
@param  fileSchema the schema for the file
@param footer the stripe footer
@param ignoreNonUtf8BloomFilter should the reader ignore non-utf8
                                encoded bloom filters
@param fileIncluded the columns (indexed by file columns) that should be
                    read
@param sargColumns true for the columns (indexed by file columns) that
                   we need bloom filters for
@param version the version of the software that wrote the file
@param bloomFilterKinds (output) the stream kind of the bloom filters
@return a list of merged disk ranges to read
llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/LlapRecordReaderUtils.java