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