コード例 #1
0
        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");
        }
コード例 #2
0
 public DatasetContractDTO(ShapedDatasetContract contract)
 {
     Fields = contract.Fields.Select(f => new SchemaFieldSelectorDTO(f));
 }