From cf46d7ec7233648136b790180ae859272253a567 Mon Sep 17 00:00:00 2001 From: mihran113 Date: Sun, 28 Jan 2024 19:27:35 +0400 Subject: [PATCH] [fix] Resolve compatibility issues with `sqlalchemy` < 2.0 versions (#3096) --- CHANGELOG.md | 3 +++ aim/storage/structured/sql_engine/entities.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a8e6756e..ce5ad75a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ - Add `min/max/first` values tracking for metrics (mihran113) - Fix bug in pytorch lightning raising lock timeout (inc0) +### Fixes +- Fix compatibility with `sqlalchemy < 2.0` versions + ## 3.17.6 - Switch to patched version of official `pynvml` (mihran113) diff --git a/aim/storage/structured/sql_engine/entities.py b/aim/storage/structured/sql_engine/entities.py index 87ed93e04..48bef9552 100644 --- a/aim/storage/structured/sql_engine/entities.py +++ b/aim/storage/structured/sql_engine/entities.py @@ -1,6 +1,7 @@ import pytz from typing import Collection, Union, List, Optional +from sqlalchemy import __version__ as sa_version from sqlalchemy import delete from sqlalchemy.orm import joinedload from sqlalchemy.exc import IntegrityError @@ -29,7 +30,7 @@ def session_commit_or_flush(session): - if getattr(session, 'autocommit', True): + if getattr(session, 'autocommit', True) and sa_version >= '2.0.0': session.commit() else: session.flush()