public Datum lessThan(Datum datum) { if (this.type() == Type.NULL_TYPE || datum.type() == Type.NULL_TYPE) { return NullDatum.get(); } return DatumFactory.createBool(compareTo(datum) < 0); }
public Datum equalsTo(Datum datum) { if (this instanceof NullDatum || datum instanceof NullDatum) { return NullDatum.get(); } else { return DatumFactory.createBool(compareTo(datum) == 0); } }
@Override public Datum terminate(FunctionContext ctx) { AvgContext avgCtx = (AvgContext) ctx; if (avgCtx.count == 0) { return NullDatum.get(); } return DatumFactory.createFloat8((double) avgCtx.sum / avgCtx.count); }
@Override public Datum getPartialResult(FunctionContext ctx) { SumContext sumCtx = (SumContext) ctx; if (sumCtx.hasNonNull) { return DatumFactory.createInt8(sumCtx.sum); } else { return NullDatum.get(); } }
@Override public Datum equalsTo(Datum datum) { if (datum.type() == ANY) { AnyDatum other = (AnyDatum) datum; return val.equalsTo(other.val); } return DatumFactory.createBool(false); }
public Datum greaterThan(Datum datum) { if (this.type() == Type.NULL_TYPE || datum.type() == Type.NULL_TYPE) { return NullDatum.get(); } return DatumFactory.createBool(compareTo(datum) > 0); }
@Override public Datum terminate(FunctionContext ctx) { SumContext sumCtx = (SumContext)ctx; if (sumCtx.hasNonNull) { return DatumFactory.createFloat8(sumCtx.sum); } else { return NullDatum.get(); } }
public Datum notEqualsTo(Datum datum) { if (this instanceof NullDatum || datum instanceof NullDatum) { return NullDatum.get(); } else { return DatumFactory.createBool(compareTo(datum) != 0); } }
@Override public Datum terminate(FunctionContext ctx) { SumContext sumCtx = (SumContext) ctx; if (sumCtx.hasNonNull) { return DatumFactory.createInt8(sumCtx.sum); } else { return NullDatum.get(); } }
public Datum greaterThanEqual(Datum datum) { if (this.type() == Type.NULL_TYPE || datum.type() == Type.NULL_TYPE) { return NullDatum.get(); } return DatumFactory.createBool(compareTo(datum) >= 0); }
@Override public Datum terminate(FunctionContext ctx) { VarianceContext varianceCtx = (VarianceContext) ctx; if (varianceCtx.count == 0) { return NullDatum.get(); } else if (varianceCtx.count == 1) { return DatumFactory.createFloat8(0); } return DatumFactory.createFloat8(varianceCtx.squareSumOfDiff / varianceCtx.count); } }
public Datum notEqualsTo(Datum datum) { if (this instanceof NullDatum || datum instanceof NullDatum) { return NullDatum.get(); } else { return DatumFactory.createBool(compareTo(datum) != 0); } }
@Override public Datum getPartialResult(FunctionContext ctx) { SumContext sumCtx = (SumContext) ctx; if (sumCtx.hasNonNull) { return DatumFactory.createInt8(sumCtx.sum); } else { return NullDatum.get(); } }
public Datum lessThanEqual(Datum datum) { if (this.type() == Type.NULL_TYPE || datum.type() == Type.NULL_TYPE) { return NullDatum.get(); } return DatumFactory.createBool(compareTo(datum) <= 0); }
@Override public Datum terminate(FunctionContext ctx) { VarianceContext varianceCtx = (VarianceContext) ctx; if (varianceCtx.count == 0) { return NullDatum.get(); } else if (varianceCtx.count == 1) { return DatumFactory.createFloat8(0); } return DatumFactory.createFloat8(varianceCtx.squareSumOfDiff / varianceCtx.count); } }
public Datum equalsTo(Datum datum) { if (this instanceof NullDatum || datum instanceof NullDatum) { return NullDatum.get(); } else { return DatumFactory.createBool(compareTo(datum) == 0); } }
@Override public Datum terminate(FunctionContext ctx) { AvgContext avgCtx = (AvgContext) ctx; if (avgCtx.count == 0) { return NullDatum.get(); } return DatumFactory.createFloat8(avgCtx.sum / avgCtx.count); }
@Override public Datum terminate(FunctionContext ctx) { VarianceContext varianceCtx = (VarianceContext) ctx; if (varianceCtx.count <= 1) { return NullDatum.get(); } return DatumFactory.createFloat8(varianceCtx.squareSumOfDiff / (varianceCtx.count - 1)); } }
@Override public Datum getPartialResult(FunctionContext ctx) { SumContext sumCtx = (SumContext)ctx; if (sumCtx.hasNonNull) { return DatumFactory.createFloat8(sumCtx.sum); } else { return NullDatum.get(); } }
@Override public Datum terminate(FunctionContext ctx) { VarianceContext varianceCtx = (VarianceContext) ctx; if (varianceCtx.count <= 1) { return NullDatum.get(); } return DatumFactory.createFloat8(varianceCtx.squareSumOfDiff / (varianceCtx.count - 1)); } }