use of com.srotya.sidewinder.core.api.SqlApi in project sidewinder by srotya.
the class CalciteTest method main.
public static void main(String[] args) throws IOException, ClassNotFoundException, SQLException {
ScheduledExecutorService bgt = Executors.newScheduledThreadPool(1, new BackgrounThreadFactory("sidewinderbg-tasks"));
MemStorageEngine engine = new MemStorageEngine();
engine.configure(new HashMap<>(), bgt);
SqlApi api = new SqlApi(engine);
api.initCalcite();
long ts = System.currentTimeMillis();
TimeSeries s = engine.getOrCreateTimeSeries("db1", "m1", "v1", Arrays.asList("t=1", "p=2"), 1024, false);
for (int i = 0; i < 100; i++) {
s.addDataPoint(TimeUnit.MILLISECONDS, ts + i * 1000, i);
}
String queryResults = api.queryResults("db1", "select * from db1.m1 where time_stamp>1519945488603");
System.out.println(queryResults);
}
use of com.srotya.sidewinder.core.api.SqlApi in project sidewinder by srotya.
the class SidewinderServer method registerWebAPIs.
private void registerWebAPIs(Environment env, Map<String, String> conf, ScheduledExecutorService bgTasks) throws SQLException, ClassNotFoundException {
env.jersey().register(new GrafanaQueryApi(storageEngine));
env.jersey().register(new MeasurementOpsApi(storageEngine));
env.jersey().register(new DatabaseOpsApi(storageEngine));
env.jersey().register(new SqlApi(storageEngine));
if (Boolean.parseBoolean(conf.getOrDefault("jersey.influx", "true"))) {
env.jersey().register(new InfluxApi(storageEngine));
}
env.healthChecks().register("restapi", new RestAPIHealthCheck());
if (Boolean.parseBoolean(conf.getOrDefault(ConfigConstants.AUTH_BASIC_ENABLED, ConfigConstants.FALSE))) {
logger.info("Enabling basic authentication");
AuthFilter<BasicCredentials, Principal> basicCredentialAuthFilter = new BasicCredentialAuthFilter.Builder<>().setAuthenticator(new BasicAuthenticator(conf.get(ConfigConstants.AUTH_BASIC_USERS))).setAuthorizer(new AllowAllAuthorizer()).setPrefix("Basic").buildAuthFilter();
env.jersey().register(basicCredentialAuthFilter);
}
}
Aggregations