use of org.apache.storm.sql.runtime.AbstractValuesProcessor in project storm by apache.
the class PlanCompiler method compile.
public AbstractValuesProcessor compile(RelNode plan) throws Exception {
String javaCode = generateJavaSource(plan);
LOG.debug("Compiling... source code {}", javaCode);
ClassLoader cl = new CompilingClassLoader(getClass().getClassLoader(), PACKAGE_NAME + ".Processor", javaCode, null);
return (AbstractValuesProcessor) cl.loadClass(PACKAGE_NAME + ".Processor").newInstance();
}
use of org.apache.storm.sql.runtime.AbstractValuesProcessor in project storm by apache.
the class TestExprSemantic method testExpr.
private Values testExpr(List<String> exprs) throws Exception {
String sql = "SELECT " + Joiner.on(',').join(exprs) + " FROM FOO" + " WHERE ID > 0 AND ID < 2";
TestCompilerUtils.CalciteState state = TestCompilerUtils.sqlOverDummyTable(sql);
PlanCompiler compiler = new PlanCompiler(typeFactory);
AbstractValuesProcessor proc = compiler.compile(state.tree());
Map<String, DataSource> data = new HashMap<>();
data.put("FOO", new TestUtils.MockDataSource());
List<Values> values = new ArrayList<>();
ChannelHandler h = new TestUtils.CollectDataChannelHandler(values);
proc.initialize(data, h);
return values.get(0);
}
Aggregations