Search in sources :

Example 11 with FunctionFactory

use of io.questdb.griffin.FunctionFactory in project questdb by bluestreak01.

the class EqDoubleFunctionFactoryTest method testRightNaNTimestampNaN.

@Test
public void testRightNaNTimestampNaN() throws SqlException {
    FunctionFactory factory = getFunctionFactory();
    ObjList<Function> args = new ObjList<>();
    args.add(new TimestampConstant(Numbers.LONG_NaN) {

        @Override
        public boolean isConstant() {
            return false;
        }
    });
    args.add(new DoubleConstant(Double.NaN));
    IntList argPositions = new IntList();
    argPositions.add(1);
    argPositions.add(2);
    Function function = factory.newInstance(4, args, argPositions, configuration, sqlExecutionContext);
    Assert.assertTrue(function.getBool(null));
    Assert.assertFalse(function.isConstant());
}
Also used : Function(io.questdb.cairo.sql.Function) DoubleConstant(io.questdb.griffin.engine.functions.constants.DoubleConstant) TimestampConstant(io.questdb.griffin.engine.functions.constants.TimestampConstant) ObjList(io.questdb.std.ObjList) FunctionFactory(io.questdb.griffin.FunctionFactory) IntList(io.questdb.std.IntList) Test(org.junit.Test) AbstractFunctionFactoryTest(io.questdb.griffin.engine.AbstractFunctionFactoryTest)

Aggregations

Function (io.questdb.cairo.sql.Function)11 FunctionFactory (io.questdb.griffin.FunctionFactory)11 AbstractFunctionFactoryTest (io.questdb.griffin.engine.AbstractFunctionFactoryTest)10 IntList (io.questdb.std.IntList)10 ObjList (io.questdb.std.ObjList)10 Test (org.junit.Test)10 DoubleConstant (io.questdb.griffin.engine.functions.constants.DoubleConstant)7 DateConstant (io.questdb.griffin.engine.functions.constants.DateConstant)3 FloatConstant (io.questdb.griffin.engine.functions.constants.FloatConstant)3 TimestampConstant (io.questdb.griffin.engine.functions.constants.TimestampConstant)3 Record (io.questdb.cairo.sql.Record)1 InTimestampStrFunctionFactory (io.questdb.griffin.engine.functions.bool.InTimestampStrFunctionFactory)1