package org.rakam.analysis.metadata;
import org.rakam.plugin.ContinuousQuery;
import org.rakam.plugin.MaterializedView;
import java.time.Instant;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
public interface QueryMetadataStore {
void createMaterializedView(String project, MaterializedView materializedView);
void deleteMaterializedView(String project, String tableName);
MaterializedView getMaterializedView(String project, String tableName);
List<MaterializedView> getMaterializedViews(String project);
boolean updateMaterializedView(String project, MaterializedView view, CompletableFuture<Instant> releaseLock);
void createContinuousQuery(String project, ContinuousQuery report);
void deleteContinuousQuery(String project, String tableName);
List<ContinuousQuery> getContinuousQueries(String project);
ContinuousQuery getContinuousQuery(String project, String tableNme);
}