From f3bee4658c3b6b646d01d2a1513828e4087d2354 Mon Sep 17 00:00:00 2001 From: cthomas Date: Wed, 11 Jun 2025 11:05:46 -0700 Subject: [PATCH] fix: not enough values to unpack error (#2753) --- letta/orm/sqlalchemy_base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/letta/orm/sqlalchemy_base.py b/letta/orm/sqlalchemy_base.py index 41466003..ae27908d 100644 --- a/letta/orm/sqlalchemy_base.py +++ b/letta/orm/sqlalchemy_base.py @@ -492,6 +492,8 @@ class SqlalchemyBase(CommonSqlalchemyMetaMixins, Base): """ identifiers = [] if identifier is None else [identifier] query, query_conditions = cls._read_multiple_preprocess(identifiers, actor, access, access_type, check_is_deleted, **kwargs) + if query is None: + raise NoResultFound(f"{cls.__name__} not found with identifier {identifier}") await db_session.execute(text("SET LOCAL enable_seqscan = OFF")) try: result = await db_session.execute(query) @@ -528,6 +530,8 @@ class SqlalchemyBase(CommonSqlalchemyMetaMixins, Base): NoResultFound: if the object is not found """ query, query_conditions = cls._read_multiple_preprocess(identifiers, actor, access, access_type, check_is_deleted, **kwargs) + if query is None: + return [] results = db_session.execute(query).scalars().all() return cls._read_multiple_postprocess(results, identifiers, query_conditions) @@ -548,6 +552,8 @@ class SqlalchemyBase(CommonSqlalchemyMetaMixins, Base): The primary accessor for ORM record(s) """ query, query_conditions = cls._read_multiple_preprocess(identifiers, actor, access, access_type, check_is_deleted, **kwargs) + if query is None: + return [] results = await db_session.execute(query) return cls._read_multiple_postprocess(results.scalars().all(), identifiers, query_conditions) @@ -577,7 +583,7 @@ class SqlalchemyBase(CommonSqlalchemyMetaMixins, Base): query_conditions.append(f"id='{identifiers}'") elif not kwargs: logger.debug(f"No identifiers provided for {cls.__name__}, returning empty list") - return [] + return None, query_conditions if kwargs: query = query.filter_by(**kwargs)