This is an automated email from the ASF dual-hosted git repository.

rahulvats pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new b8c26aefefa fix: quote reserved MySQL keyword 'interval' in 
deadline_alert queries using SQLAlchemy table/column (#63494)
b8c26aefefa is described below

commit b8c26aefefaffb3d0a89e1e235e58ee198588ff8
Author: Pranay Kumar Karvi <[email protected]>
AuthorDate: Tue Mar 17 19:33:48 2026 +0530

    fix: quote reserved MySQL keyword 'interval' in deadline_alert queries 
using SQLAlchemy table/column (#63494)
---
 .../0101_3_2_0_ui_improvements_for_deadlines.py    | 29 ++++++++++++++--------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git 
a/airflow-core/src/airflow/migrations/versions/0101_3_2_0_ui_improvements_for_deadlines.py
 
b/airflow-core/src/airflow/migrations/versions/0101_3_2_0_ui_improvements_for_deadlines.py
index 91bed2ebe71..7bd50818105 100644
--- 
a/airflow-core/src/airflow/migrations/versions/0101_3_2_0_ui_improvements_for_deadlines.py
+++ 
b/airflow-core/src/airflow/migrations/versions/0101_3_2_0_ui_improvements_for_deadlines.py
@@ -73,6 +73,15 @@ DEADLINE_ALERT_REQUIRED_FIELDS = {REFERENCE_KEY, 
CALLBACK_KEY, INTERVAL_KEY}
 DEFAULT_BATCH_SIZE = 1000
 ENCODING_TYPE = "deadline_alert"
 
+deadline_alert_table = sa.table(
+    "deadline_alert",
+    sa.column("reference"),
+    sa.column("interval"),
+    sa.column("callback_def"),
+    sa.column("id"),
+    sa.column("serialized_dag_id"),
+)
+
 
 def upgrade() -> None:
     """Make changes to enable adding DeadlineAlerts to the UI."""
@@ -280,11 +289,11 @@ def validate_written_data(
     #   disable validation for large deployments where performance is 
critical??
 
     validation_result = conn.execute(
-        sa.text("""
-                SELECT reference, interval, callback_def
-                FROM deadline_alert
-                WHERE id = :alert_id
-                """),
+        sa.select(
+            deadline_alert_table.c.reference,
+            deadline_alert_table.c.interval,
+            deadline_alert_table.c.callback_def,
+        ).where(deadline_alert_table.c.id == sa.bindparam("alert_id")),
         {"alert_id": deadline_alert_id},
     ).fetchone()
 
@@ -661,11 +670,11 @@ def migrate_deadline_alert_data_back_to_serialized_dag() 
-> None:
                 restored_deadline_objects = []
 
                 alert_result = conn.execute(
-                    sa.text("""
-                            SELECT reference, interval, callback_def
-                            FROM deadline_alert
-                            WHERE serialized_dag_id = :serialized_dag_id
-                            """),
+                    sa.select(
+                        deadline_alert_table.c.reference,
+                        deadline_alert_table.c.interval,
+                        deadline_alert_table.c.callback_def,
+                    ).where(deadline_alert_table.c.serialized_dag_id == 
sa.bindparam("serialized_dag_id")),
                     {"serialized_dag_id": serialized_dag_id},
                 ).fetchall()
 

Reply via email to