pierrejeambrun commented on code in PR #46626:
URL: https://github.com/apache/airflow/pull/46626#discussion_r1952277612
##########
airflow/models/dagrun.py:
##########
@@ -300,6 +297,21 @@ def validate_run_id(self, key: str, run_id: str) -> str |
None:
f"The run_id provided '{run_id}' does not match regex pattern
'{regex}' or '{RUN_ID_REGEX}'"
)
+ @provide_session
+ def dag_versions(self, session: Session = NEW_SESSION) -> list[DagVersion]:
+ """
+ Return the DAG versions associated with the TIs of this DagRun.
+
+ :param session: database session
+ """
+ tis = session.scalars(
+ select(TI.dag_version_id).where(TI.run_id == self.run_id,
TI.dag_id == self.dag_id).distinct()
+ ).all()
+ tih = session.scalars(
+ select(TIH.dag_version_id).where(TIH.run_id == self.run_id,
TIH.dag_id == self.dag_id).distinct()
+ ).all()
+ return list(tis + tih)
Review Comment:
I’m not sure if this will have any effect on the “dag_versions” method.
Counting on caching to not emit the following requests ?
Maybe we can transform that into a relationship or a hybrid property so we
can use loading options / explicitly select them ?
--
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]