@Override
  public TransformResultMetadata getResultMetadata() {
    return BOOLEAN_SV_NO_DICTIONARY_METADATA;
  }
@Test
  public void testLogicalOperatorNullLiteral() {
    ExpressionContext intEqualsExpr =
        RequestContextUtils.getExpression(String.format("EQUALS(%s, null)", INT_SV_COLUMN));
    ExpressionContext longEqualsExpr =
        RequestContextUtils.getExpression(String.format("EQUALS(%s, null)", LONG_SV_COLUMN));
    String functionName = getFunctionName();
    ExpressionContext expression = ExpressionContext.forFunction(
        new FunctionContext(FunctionContext.Type.TRANSFORM, functionName,
            Arrays.asList(intEqualsExpr, longEqualsExpr)));
    TransformFunction transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
    assertEquals(transformFunction.getName(), functionName);
    TransformResultMetadata resultMetadata = transformFunction.getResultMetadata();
    assertEquals(resultMetadata.getDataType(), FieldSpec.DataType.BOOLEAN);
    assertTrue(resultMetadata.isSingleValue());
    assertFalse(resultMetadata.hasDictionary());
    boolean[] expectedValues = new boolean[NUM_ROWS];
    RoaringBitmap nullBitmap = new RoaringBitmap();
    nullBitmap.add(0L, NUM_ROWS);
    testTransformFunctionWithNull(transformFunction, expectedValues, nullBitmap);
  }