@Override public boolean checkValue(ColumnVector columnVector, int idx) { DoubleColumnVector col = (DoubleColumnVector) columnVector; return bloomFilter.testDouble(col.vector[idx]); } }
@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; }
float vFloat = ((FloatObjectInspector) valObjectInspector). get(arguments[0].get()); return bloomFilter.testDouble(vFloat); case DOUBLE: double vDouble = ((DoubleObjectInspector) valObjectInspector). get(arguments[0].get()); return bloomFilter.testDouble(vDouble); case DECIMAL: HiveDecimalWritable vDecimal = ((HiveDecimalObjectInspector) valObjectInspector).
@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; }
@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; }
@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; }