public QueryPlan GeneratePlan(FrostIDMLStatement statement) { var plan = new QueryPlan(); if (statement is SelectStatement) { plan = new SelectQueryPlanGenerator(_process).GeneratePlan((statement as SelectStatement)); } if (statement is InsertStatement) { plan = new InsertQueryPlanGenerator(_process).GeneratePlan((statement as InsertStatement)); } if (statement is UpdateStatement) { plan = new UpdateQueryPlanGenerator(_process).GeneratePlan((statement as UpdateStatement)); } if (statement is DeleteStatement) { plan = new DeleteQueryPlanGenerator(_process).GeneratePlan((statement as DeleteStatement)); } return(plan); }
static void GeneratePlan(SelectStatement statement) { var executor = new QueryPlanExecutor(); var generator = new SelectQueryPlanGenerator(); var plan = generator.GeneratePlan(statement); executor.Execute(plan); }
public QueryPlan GeneratePlan(IStatement statement) { var plan = new QueryPlan(); if (statement is SelectStatement) { plan = new SelectQueryPlanGenerator().GeneratePlan((statement as SelectStatement)); } return(plan); }