public DemographicExecutionContext BuildDemographicSql(DemographicCompilerContext context, bool restrictPhi) { executionContext = new DemographicExecutionContext(context.Shape, context.QueryContext); var cohort = CteCohortInternals(context.QueryContext); new SqlValidator(Dialect.IllegalCommands).Validate(context.DemographicQuery); var dataset = CteDemographicInternals(context.DemographicQuery); var filter = CteFilterInternals(context, restrictPhi); var select = SelectFromCTE(); var parameters = compiler.BuildContextParameterSql(); executionContext.CompiledQuery = Compose(parameters, cohort, dataset, filter, select); return(executionContext); }
public DatasetExecutionContext BuildDatasetSql(DatasetCompilerContext compilerContext) { executionContext = new DatasetExecutionContext(compilerContext.Shape, compilerContext.QueryContext, compilerContext.DatasetQuery.Id.Value); var cohort = CteCohortInternals(compilerContext); new SqlValidator(Dialect.IllegalCommands).Validate(compilerContext.DatasetQuery.SqlStatement); var dataset = CteDatasetInternals(compilerContext.DatasetQuery); var filter = CteFilterInternals(compilerContext); var select = SelectFromCTE(compilerContext); var parameters = compiler.BuildContextParameterSql(); executionContext.DatasetQuery = compilerContext.DatasetQuery; executionContext.CompiledQuery = Compose(parameters, cohort, dataset, filter, select); return(executionContext); }