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


##########
airflow-core/src/airflow/api_fastapi/core_api/routes/public/dags.py:
##########
@@ -115,30 +116,54 @@ def get_dags(
     session: SessionDep,
 ) -> DAGCollectionResponse:
     """Get all DAGs."""
-    dag_runs_select = None
+    query = select(DagModel)
 
-    if dag_run_state.value or dag_run_start_date_range.is_active() or 
dag_run_end_date_range.is_active():
-        dag_runs_select, _ = paginated_select(
-            statement=select(DagRun),
+    max_run_id_query = (  # ordering by id will not always be "latest run", 
but it's a simplifying assumption
+        select(DagRun.dag_id, func.max(DagRun.id).label("max_dag_run_id"))

Review Comment:
   What do you think about this @pierrejeambrun .
   
   For now let's go with just max run id since it should be performant and it's 
simple and will in most cases give the same answer / be good enough.
   
   Then, if desired, at some point in the future we can add a column to dag 
model like `last_run` or something, and it can be updated whenever a dag run 
starts, thus avoiding this expensive and complicated query?  we would not even 
need to join to dag run table.
   
   



-- 
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