From 9d8ed023241d51f0a48578b5c81dd1fb6eb500b4 Mon Sep 17 00:00:00 2001 From: Jesse Kinkead Date: Thu, 16 Jun 2022 10:10:14 -0700 Subject: [PATCH] Add cache_ok flag to sqlalchemy TypeDecorators. --- airflow/utils/sqlalchemy.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/airflow/utils/sqlalchemy.py b/airflow/utils/sqlalchemy.py index ab0bc5dff8cc7..a6270ea0087bf 100644 --- a/airflow/utils/sqlalchemy.py +++ b/airflow/utils/sqlalchemy.py @@ -60,6 +60,8 @@ class UtcDateTime(TypeDecorator): impl = TIMESTAMP(timezone=True) + cache_ok = True + def process_bind_param(self, value, dialect): if value is not None: if not isinstance(value, datetime.datetime): @@ -110,6 +112,8 @@ class ExtendedJSON(TypeDecorator): impl = Text + cache_ok = True + def db_supports_json(self): """Checks if the database supports JSON (i.e. is NOT MSSQL)""" return not conf.get("database", "sql_alchemy_conn").startswith("mssql") @@ -212,6 +216,8 @@ class Interval(TypeDecorator): impl = Text + cache_ok = True + attr_keys = { datetime.timedelta: ('days', 'seconds', 'microseconds'), relativedelta.relativedelta: (