From e2394b7d79587593bbff16cb8405360548287d52 Mon Sep 17 00:00:00 2001 From: TheBobBobs <84781603+TheBobBobs@users.noreply.github.com> Date: Tue, 12 May 2026 00:01:56 +0000 Subject: [PATCH] fix: empty ORLists now return false (#1297) * fix: empty ORLists now return false * fix: replace invalid tags with false when building sql query --- src/tagstudio/core/library/alchemy/visitors.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tagstudio/core/library/alchemy/visitors.py b/src/tagstudio/core/library/alchemy/visitors.py index 35dcf56a..2420bfe2 100644 --- a/src/tagstudio/core/library/alchemy/visitors.py +++ b/src/tagstudio/core/library/alchemy/visitors.py @@ -6,7 +6,7 @@ import re from typing import TYPE_CHECKING, override import structlog -from sqlalchemy import ColumnElement, and_, distinct, func, or_, select +from sqlalchemy import ColumnElement, and_, distinct, false, func, or_, select from sqlalchemy.orm import Session from sqlalchemy.sql.operators import ilike_op @@ -163,6 +163,9 @@ class SQLBoolExpressionBuilder(BaseVisitor[ColumnElement[bool]]): continue case ConstraintType.Tag: ids = self.__get_tag_ids(term.value) + if len(ids) == 0: + bool_expressions.append(false()) + continue if not only_single: tag_ids.update(ids) continue