dstandish commented on code in PR #57450:
URL: https://github.com/apache/airflow/pull/57450#discussion_r2481839854


##########
airflow-core/src/airflow/api_fastapi/common/db/dag_runs.py:
##########
@@ -33,3 +38,16 @@
     .group_by(DagRun.dag_id, DagRun.state, DagModel.dag_display_name)
     .order_by(DagRun.dag_id)
 )
+
+
+def eager_load_dag_run_for_validation() -> tuple[LoaderOption, ...]:
+    return (
+        joinedload(DagRun.dag_model),
+        selectinload(DagRun.task_instances)
+        .joinedload(TaskInstance.dag_version)
+        .joinedload(DagVersion.bundle),
+        selectinload(DagRun.task_instances_histories)
+        .joinedload(TaskInstanceHistory.dag_version)
+        .joinedload(DagVersion.bundle),
+        joinedload(DagRun.dag_run_note),
+    )

Review Comment:
   yeah i think that's a good point.  it could be that we don't need any of 
these attributes so we just make the query bigger when we could just not load 
those attrs.  it depends on what the endpoint needs.  but i would guess, for 
example, that most of them do *not* need notes. 
   
   probably also, most of them don't need to join to task instances. being more 
selective with what we load is probably better.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to