string CteFilterInternals(DemographicCompilerContext context, bool restrictPhi) { var schema = ShapedDatasetContract.For(context.Shape); if (!restrictPhi) { executionContext.FieldSelectors = schema.Fields; return($"SELECT * FROM dataset"); } bool include(SchemaFieldSelector field) => field.Required || !field.Phi || field.Mask; var restricted = schema.Fields.Where(include); executionContext.FieldSelectors = restricted; var fields = string.Join(", ", restricted.Select(f => f.Name)); return($"SELECT {fields} FROM dataset"); }
public DatasetContractDTO(ShapedDatasetContract contract) { Fields = contract.Fields.Select(f => new SchemaFieldSelectorDTO(f)); }