private VectorExpression tryDecimal64Between(VectorExpressionDescriptor.Mode mode, boolean isNot,
      ExprNodeDesc colExpr, List<ExprNodeDesc> childrenAfterNot, TypeInfo returnTypeInfo)
          throws HiveException {
    final Class<?> cl;
    if (mode == VectorExpressionDescriptor.Mode.PROJECTION) {
      cl = (isNot ? Decimal64ColumnNotBetween.class : Decimal64ColumnBetween.class);
    } else {
      cl = (isNot ? FilterDecimal64ColumnNotBetween.class : FilterDecimal64ColumnBetween.class);
    }
    return
        createDecimal64VectorExpression(
            cl, childrenAfterNot, VectorExpressionDescriptor.Mode.PROJECTION,
            /* isDecimal64ScaleEstablished */ true,
            /* decimal64ColumnScale */ ((DecimalTypeInfo) colExpr.getTypeInfo()).getScale(),
            returnTypeInfo, DataTypePhysicalVariation.NONE,
            /* dontRescaleArguments */ false,
            new GenericUDFBetween());
  }
Invoke special handling for expressions that can't be vectorized by regular
descriptor based lookup.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java