Skip to content

Commit 6fc1365

Browse files
revert the rules list entirely.
1 parent c35aa8f commit 6fc1365

File tree

1 file changed

+10
-59
lines changed

1 file changed

+10
-59
lines changed

dbt_semantic_interfaces/transformations/pydantic_rule_set.py

Lines changed: 10 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,11 @@
1010
from dbt_semantic_interfaces.transformations.add_input_metric_measures import (
1111
AddInputMetricMeasuresRule,
1212
)
13-
from dbt_semantic_interfaces.transformations.boolean_aggregations import (
14-
BooleanAggregationRule,
15-
)
1613
from dbt_semantic_interfaces.transformations.boolean_measure import (
1714
BooleanMeasureAggregationRule,
1815
)
19-
from dbt_semantic_interfaces.transformations.convert_count import (
20-
ConvertCountMetricToSumRule,
21-
ConvertCountToSumRule,
22-
)
16+
from dbt_semantic_interfaces.transformations.convert_count import ConvertCountToSumRule
2317
from dbt_semantic_interfaces.transformations.convert_median import (
24-
ConvertMedianMetricToPercentile,
2518
ConvertMedianToPercentileRule,
2619
)
2720
from dbt_semantic_interfaces.transformations.cumulative_type_params import (
@@ -58,66 +51,24 @@ def _implements_protocol(self) -> SemanticManifestTransformRuleSet[PydanticSeman
5851
return self
5952

6053
@property
61-
def legacy_measure_update_rules(
62-
self,
63-
) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa: D
64-
"""Legacy rules - Primarily editing legacy measures."""
54+
def primary_rules(self) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa:
55+
return (LowerCaseNamesRule(),)
56+
57+
@property
58+
def secondary_rules(self) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa: D
6559
return (
60+
CreateProxyMeasureRule(),
6661
BooleanMeasureAggregationRule(),
6762
ConvertCountToSumRule(),
6863
ConvertMedianToPercentileRule(),
69-
)
70-
71-
@property
72-
def convert_legacy_measures_to_metrics_rules(
73-
self,
74-
) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa: D
75-
"""Rules that create or update metrics to replace the use of legacy measures.
76-
77-
Should run after all measures are processed and fixed, but before polishing
78-
all metrics (because the metrics need to be created here to be polished later).
79-
"""
80-
return (
81-
# CreateProxyMeasureRule should always run FIRST in this sequence.
82-
CreateProxyMeasureRule(), # FIRST, I SAY!
83-
# This populates "input_measures" for metric fields.
84-
# This does NOT add new metrics or depend on most newly-added metrics, but it must
85-
# run after CreateProxyMeasureRule() to ensure we have all the metrics we will need.
8664
AddInputMetricMeasuresRule(),
87-
FlattenSimpleMetricsWithMeasureInputsRule(),
88-
ReplaceInputMeasuresWithSimpleMetricsTransformationRule(),
89-
)
90-
91-
@property
92-
def general_metric_update_rules(
93-
self,
94-
) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa: D
95-
"""These rules apply once all metrics exist; they apply universally to any metric that meet their criteria.
96-
97-
These should be run AFTER all metrics exist.
98-
"""
99-
return (
10065
SetCumulativeTypeParamsRule(),
10166
RemovePluralFromWindowGranularityRule(),
102-
ConvertMedianMetricToPercentile(),
103-
ConvertCountMetricToSumRule(),
104-
BooleanAggregationRule(),
67+
# The following steps upgrade from old-style measure-including models to new-style metric-only models
68+
FlattenSimpleMetricsWithMeasureInputsRule(),
69+
ReplaceInputMeasuresWithSimpleMetricsTransformationRule(),
10570
)
10671

107-
@property
108-
def primary_rules(self) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa:
109-
return (LowerCaseNamesRule(),)
110-
111-
@property
112-
def secondary_rules(self) -> Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]: # noqa: D
113-
"""Secondary rules - Primarily editing, copying, or adapting measures and metrics."""
114-
# Order matters here!
115-
return [
116-
*self.legacy_measure_update_rules,
117-
*self.convert_legacy_measures_to_metrics_rules,
118-
*self.general_metric_update_rules,
119-
]
120-
12172
@property
12273
def all_rules(self) -> Sequence[Sequence[SemanticManifestTransformRule[PydanticSemanticManifest]]]: # noqa: D
12374
return self.primary_rules, self.secondary_rules

0 commit comments

Comments
 (0)