Skip to content

Commit c1c1f66

Browse files
committed
/* PR_START p--cte 18 */ Update default optimization level to O5.
1 parent e49bbce commit c1c1f66

File tree

7 files changed

+19
-24
lines changed

7 files changed

+19
-24
lines changed

metricflow/engine/metricflow_engine.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -100,21 +100,21 @@ class MetricFlowQueryRequest:
100100
"""
101101

102102
request_id: MetricFlowRequestId
103-
saved_query_name: Optional[str] = None
104-
metric_names: Optional[Sequence[str]] = None
105-
metrics: Optional[Sequence[MetricQueryParameter]] = None
106-
group_by_names: Optional[Sequence[str]] = None
107-
group_by: Optional[Tuple[GroupByParameter, ...]] = None
108-
limit: Optional[int] = None
109-
time_constraint_start: Optional[datetime.datetime] = None
110-
time_constraint_end: Optional[datetime.datetime] = None
111-
where_constraints: Optional[Sequence[str]] = None
112-
order_by_names: Optional[Sequence[str]] = None
113-
order_by: Optional[Sequence[OrderByQueryParameter]] = None
114-
min_max_only: bool = False
115-
sql_optimization_level: SqlQueryOptimizationLevel = SqlQueryOptimizationLevel.O4
116-
dataflow_plan_optimizations: FrozenSet[DataflowPlanOptimization] = DataflowPlanOptimization.enabled_optimizations()
117-
query_type: MetricFlowQueryType = MetricFlowQueryType.METRIC
103+
saved_query_name: Optional[str]
104+
metric_names: Optional[Sequence[str]]
105+
metrics: Optional[Sequence[MetricQueryParameter]]
106+
group_by_names: Optional[Sequence[str]]
107+
group_by: Optional[Tuple[GroupByParameter, ...]]
108+
limit: Optional[int]
109+
time_constraint_start: Optional[datetime.datetime]
110+
time_constraint_end: Optional[datetime.datetime]
111+
where_constraints: Optional[Sequence[str]]
112+
order_by_names: Optional[Sequence[str]]
113+
order_by: Optional[Sequence[OrderByQueryParameter]]
114+
min_max_only: bool
115+
sql_optimization_level: SqlQueryOptimizationLevel
116+
dataflow_plan_optimizations: FrozenSet[DataflowPlanOptimization]
117+
query_type: MetricFlowQueryType
118118

119119
@staticmethod
120120
def create_with_random_request_id( # noqa: D102
@@ -129,7 +129,7 @@ def create_with_random_request_id( # noqa: D102
129129
where_constraints: Optional[Sequence[str]] = None,
130130
order_by_names: Optional[Sequence[str]] = None,
131131
order_by: Optional[Sequence[OrderByQueryParameter]] = None,
132-
sql_optimization_level: SqlQueryOptimizationLevel = SqlQueryOptimizationLevel.O4,
132+
sql_optimization_level: SqlQueryOptimizationLevel = SqlQueryOptimizationLevel.default_level(),
133133
dataflow_plan_optimizations: FrozenSet[
134134
DataflowPlanOptimization
135135
] = DataflowPlanOptimization.enabled_optimizations(),

metricflow/plan_conversion/dataflow_to_sql.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def convert_to_sql_query_plan(
182182
self,
183183
sql_engine_type: SqlEngine,
184184
dataflow_plan_node: DataflowPlanNode,
185-
optimization_level: SqlQueryOptimizationLevel = SqlQueryOptimizationLevel.O4,
185+
optimization_level: SqlQueryOptimizationLevel = SqlQueryOptimizationLevel.default_level(),
186186
sql_query_plan_id: Optional[DagId] = None,
187187
) -> ConvertToSqlPlanResult:
188188
"""Create an SQL query plan that represents the computation up to the given dataflow plan node."""

metricflow/sql/optimizer/optimization_levels.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class SqlQueryOptimizationLevel(Enum):
2525

2626
@staticmethod
2727
def default_level() -> SqlQueryOptimizationLevel: # noqa: D102
28-
return SqlQueryOptimizationLevel.O4
28+
return SqlQueryOptimizationLevel.O5
2929

3030

3131
@dataclass(frozen=True)

tests_metricflow/examples/test_node_sql.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
from metricflow.dataset.convert_semantic_model import SemanticModelToDataSetConverter
2121
from metricflow.plan_conversion.dataflow_to_sql import DataflowToSqlQueryPlanConverter
2222
from metricflow.protocols.sql_client import SqlClient
23-
from metricflow.sql.optimizer.optimization_levels import SqlQueryOptimizationLevel
2423
from metricflow.sql.render.sql_plan_renderer import SqlQueryPlanRenderer
2524

2625
logger = logging.getLogger(__name__)
@@ -57,7 +56,6 @@ def test_view_sql_generated_at_a_node(
5756
conversion_result = to_sql_plan_converter.convert_to_sql_query_plan(
5857
sql_engine_type=sql_client.sql_engine_type,
5958
dataflow_plan_node=read_source_node,
60-
optimization_level=SqlQueryOptimizationLevel.O4,
6159
)
6260
sql_plan_at_read_node = conversion_result.sql_plan
6361
sql_at_read_node = sql_renderer.render_sql_query_plan(sql_plan_at_read_node).sql
@@ -86,7 +84,6 @@ def test_view_sql_generated_at_a_node(
8684
conversion_result = to_sql_plan_converter.convert_to_sql_query_plan(
8785
sql_engine_type=sql_client.sql_engine_type,
8886
dataflow_plan_node=filter_elements_node,
89-
optimization_level=SqlQueryOptimizationLevel.O4,
9087
)
9188
sql_plan_at_filter_elements_node = conversion_result.sql_plan
9289
sql_at_filter_elements_node = sql_renderer.render_sql_query_plan(sql_plan_at_filter_elements_node).sql

tests_metricflow/plan_conversion/test_dataflow_to_execution.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def make_execution_plan_converter( # noqa: D103
3131
),
3232
sql_plan_renderer=DefaultSqlQueryPlanRenderer(),
3333
sql_client=sql_client,
34-
sql_optimization_level=SqlQueryOptimizationLevel.O4,
34+
sql_optimization_level=SqlQueryOptimizationLevel.default_level(),
3535
)
3636

3737

tests_metricflow/plan_conversion/test_dataflow_to_sql_plan.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ def convert_and_check(
9898
sql_engine_type=sql_client.sql_engine_type,
9999
sql_query_plan_id=DagId.from_str("plan0_optimized"),
100100
dataflow_plan_node=node,
101-
optimization_level=SqlQueryOptimizationLevel.O4,
102101
)
103102
sql_query_plan = conversion_result.sql_plan
104103
display_graph_if_requested(

tests_metricflow/query_rendering/compare_rendered_query.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def render_and_check(
6363
conversion_result = dataflow_to_sql_converter.convert_to_sql_query_plan(
6464
sql_engine_type=sql_client.sql_engine_type,
6565
dataflow_plan_node=optimized_plan.sink_node,
66-
optimization_level=SqlQueryOptimizationLevel.O4,
6766
sql_query_plan_id=DagId.from_str("plan0_optimized"),
6867
)
6968
sql_query_plan = conversion_result.sql_plan

0 commit comments

Comments
 (0)