Search in sources :

Example 1 with OrFunctionFactory

use of io.questdb.griffin.engine.functions.bool.OrFunctionFactory in project questdb by bluestreak01.

the class FunctionParserTest method testBooleanConstants.

@Test
public void testBooleanConstants() throws SqlException {
    functions.add(new NotFunctionFactory());
    functions.add(new OrFunctionFactory());
    final Record record = new Record() {

        @Override
        public boolean getBool(int col) {
            // col0 = false
            return false;
        }
    };
    final GenericRecordMetadata metadata = new GenericRecordMetadata();
    metadata.add(new TableColumnMetadata("a", 1, ColumnType.BOOLEAN));
    FunctionParser functionParser = createFunctionParser();
    Function function = parseFunction("a or not false", metadata, functionParser);
    Assert.assertEquals(ColumnType.BOOLEAN, function.getType());
    Assert.assertTrue(function.getBool(record));
    Function function2 = parseFunction("a or true", metadata, functionParser);
    Assert.assertTrue(function2.getBool(record));
}
Also used : Function(io.questdb.cairo.sql.Function) OrFunctionFactory(io.questdb.griffin.engine.functions.bool.OrFunctionFactory) Record(io.questdb.cairo.sql.Record) NotFunctionFactory(io.questdb.griffin.engine.functions.bool.NotFunctionFactory) Test(org.junit.Test)

Example 2 with OrFunctionFactory

use of io.questdb.griffin.engine.functions.bool.OrFunctionFactory in project questdb by bluestreak01.

the class FunctionParserTest method assertSignatureFailure.

private void assertSignatureFailure(String signature) throws SqlException {
    functions.add(new OrFunctionFactory());
    functions.add(new FunctionFactory() {

        @Override
        public String getSignature() {
            return signature;
        }

        @Override
        public Function newInstance(int position, ObjList<Function> args, IntList argPositions, CairoConfiguration configuration, SqlExecutionContext sqlExecutionContext) {
            return null;
        }
    });
    functions.add(new NotFunctionFactory());
    final GenericRecordMetadata metadata = new GenericRecordMetadata();
    metadata.add(new TableColumnMetadata("a", 1, ColumnType.BOOLEAN));
    metadata.add(new TableColumnMetadata("b", 2, ColumnType.BOOLEAN));
    FunctionParser functionParser = createFunctionParser();
    Assert.assertNotNull(parseFunction("a or not b", metadata, functionParser));
    Assert.assertEquals(2, functionParser.getFunctionCount());
}
Also used : OrFunctionFactory(io.questdb.griffin.engine.functions.bool.OrFunctionFactory) IntList(io.questdb.std.IntList) Function(io.questdb.cairo.sql.Function) SysdateFunctionFactory(io.questdb.griffin.engine.functions.date.SysdateFunctionFactory) EqLongFunctionFactory(io.questdb.griffin.engine.functions.eq.EqLongFunctionFactory) ToStrDateFunctionFactory(io.questdb.griffin.engine.functions.date.ToStrDateFunctionFactory) SwitchFunctionFactory(io.questdb.griffin.engine.functions.conditional.SwitchFunctionFactory) EqIntFunctionFactory(io.questdb.griffin.engine.functions.eq.EqIntFunctionFactory) LengthSymbolFunctionFactory(io.questdb.griffin.engine.functions.str.LengthSymbolFunctionFactory) OrFunctionFactory(io.questdb.griffin.engine.functions.bool.OrFunctionFactory) LengthStrFunctionFactory(io.questdb.griffin.engine.functions.str.LengthStrFunctionFactory) EqDoubleFunctionFactory(io.questdb.griffin.engine.functions.eq.EqDoubleFunctionFactory) InStrFunctionFactory(io.questdb.griffin.engine.functions.bool.InStrFunctionFactory) NotFunctionFactory(io.questdb.griffin.engine.functions.bool.NotFunctionFactory) CursorDereferenceFunctionFactory(io.questdb.griffin.engine.functions.catalogue.CursorDereferenceFunctionFactory) ToStrTimestampFunctionFactory(io.questdb.griffin.engine.functions.date.ToStrTimestampFunctionFactory) ToCharBinFunctionFactory(io.questdb.griffin.engine.functions.str.ToCharBinFunctionFactory) CastStrToGeoHashFunctionFactory(io.questdb.griffin.engine.functions.cast.CastStrToGeoHashFunctionFactory) NotFunctionFactory(io.questdb.griffin.engine.functions.bool.NotFunctionFactory)

Example 3 with OrFunctionFactory

use of io.questdb.griffin.engine.functions.bool.OrFunctionFactory in project questdb by bluestreak01.

the class FunctionParserTest method testBooleanFunctions.

@Test
public void testBooleanFunctions() throws SqlException {
    functions.add(new NotFunctionFactory());
    functions.add(new OrFunctionFactory());
    final Record record = new Record() {

        @Override
        public boolean getBool(int col) {
            // col1 = true
            return col != 0;
        }
    };
    final GenericRecordMetadata metadata = new GenericRecordMetadata();
    metadata.add(new TableColumnMetadata("a", 1, ColumnType.BOOLEAN));
    metadata.add(new TableColumnMetadata("b", 2, ColumnType.BOOLEAN));
    FunctionParser functionParser = createFunctionParser();
    Function function = parseFunction("a or not b", metadata, functionParser);
    Assert.assertEquals(ColumnType.BOOLEAN, function.getType());
    Assert.assertFalse(function.getBool(record));
}
Also used : Function(io.questdb.cairo.sql.Function) OrFunctionFactory(io.questdb.griffin.engine.functions.bool.OrFunctionFactory) Record(io.questdb.cairo.sql.Record) NotFunctionFactory(io.questdb.griffin.engine.functions.bool.NotFunctionFactory) Test(org.junit.Test)

Aggregations

Function (io.questdb.cairo.sql.Function)3 NotFunctionFactory (io.questdb.griffin.engine.functions.bool.NotFunctionFactory)3 OrFunctionFactory (io.questdb.griffin.engine.functions.bool.OrFunctionFactory)3 Record (io.questdb.cairo.sql.Record)2 Test (org.junit.Test)2 InStrFunctionFactory (io.questdb.griffin.engine.functions.bool.InStrFunctionFactory)1 CastStrToGeoHashFunctionFactory (io.questdb.griffin.engine.functions.cast.CastStrToGeoHashFunctionFactory)1 CursorDereferenceFunctionFactory (io.questdb.griffin.engine.functions.catalogue.CursorDereferenceFunctionFactory)1 SwitchFunctionFactory (io.questdb.griffin.engine.functions.conditional.SwitchFunctionFactory)1 SysdateFunctionFactory (io.questdb.griffin.engine.functions.date.SysdateFunctionFactory)1 ToStrDateFunctionFactory (io.questdb.griffin.engine.functions.date.ToStrDateFunctionFactory)1 ToStrTimestampFunctionFactory (io.questdb.griffin.engine.functions.date.ToStrTimestampFunctionFactory)1 EqDoubleFunctionFactory (io.questdb.griffin.engine.functions.eq.EqDoubleFunctionFactory)1 EqIntFunctionFactory (io.questdb.griffin.engine.functions.eq.EqIntFunctionFactory)1 EqLongFunctionFactory (io.questdb.griffin.engine.functions.eq.EqLongFunctionFactory)1 LengthStrFunctionFactory (io.questdb.griffin.engine.functions.str.LengthStrFunctionFactory)1 LengthSymbolFunctionFactory (io.questdb.griffin.engine.functions.str.LengthSymbolFunctionFactory)1 ToCharBinFunctionFactory (io.questdb.griffin.engine.functions.str.ToCharBinFunctionFactory)1 IntList (io.questdb.std.IntList)1