use of io.questdb.cairo.sql.Function in project questdb by bluestreak01.
the class FunctionParserTest method testImplicitConstantDate.
@Test
public void testImplicitConstantDate() throws SqlException {
functions.add(new FunctionFactory() {
@Override
public String getSignature() {
return "x()";
}
@Override
public Function newInstance(int position, ObjList<Function> args, IntList argPositions, CairoConfiguration configuration1, SqlExecutionContext sqlExecutionContext) {
return new DateFunction() {
@Override
public long getDate(Record rec) {
return 0;
}
@Override
public boolean isConstant() {
return true;
}
};
}
});
Function function = parseFunction("x()", new GenericRecordMetadata(), createFunctionParser());
Assert.assertTrue(function instanceof DateConstant);
}
use of io.questdb.cairo.sql.Function 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());
}
use of io.questdb.cairo.sql.Function in project questdb by bluestreak01.
the class FunctionParserTest method testUndefinedBindVariableDefineCursor.
@Test
public void testUndefinedBindVariableDefineCursor() {
bindVariableService.clear();
functions.add(new CursorDereferenceFunctionFactory());
try (Function ignored = parseFunction("($1).n", null, createFunctionParser())) {
Assert.fail();
} catch (SqlException e) {
Assert.assertEquals(1, e.getPosition());
}
}
use of io.questdb.cairo.sql.Function in project questdb by bluestreak01.
the class FunctionParserCastFunctionsNullTest method testCastNullGeoShortBits.
@Test
public void testCastNullGeoShortBits() throws SqlException {
Function function = parseFunction("cast(null as GeOhAsH(8b))", metadata, functionParser);
Assert.assertTrue(function.isConstant());
Assert.assertEquals(ColumnType.GEOSHORT, function.getType());
Assert.assertEquals(GeoHashes.NULL, function.getGeoShort(null));
}
use of io.questdb.cairo.sql.Function in project questdb by bluestreak01.
the class FunctionParserCastFunctionsNullTest method testCastNullGeoLongBits.
@Test
public void testCastNullGeoLongBits() throws SqlException {
Function function = parseFunction("cast(null as GeOhAsH(60b))", metadata, functionParser);
Assert.assertTrue(function.isConstant());
Assert.assertEquals(ColumnType.GEOLONG, function.getType());
Assert.assertEquals(GeoHashes.NULL, function.getGeoLong(null));
}
Aggregations