@ VisibleForTesting public static boolean checkInBloomFilter ( BloomFilter bloomFilter , Object predicateValue , Type sqlType ) { if ( sqlType == TINYINT || sqlType == SMALLINT || sqlType == INTEGER || sqlType == BIGINT ) { return bloomFilter . testLong ( ( ( Number ) predicateValue ) . longValue ( ) ) ; } if ( sqlType == DOUBLE ) { return bloomFilter . testDouble ( ( Double ) predicateValue ) ; } if ( sqlType instanceof VarcharType || sqlType instanceof VarbinaryType ) { return bloomFilter . test ( ( ( Slice ) predicateValue ) . getBytes ( ) ) ; } // todo support DECIMAL, FLOAT, DATE, TIMESTAMP, and CHAR return true ; }
checks whether a value part of the effective predicate is likely to be part of this bloom filter