From f06ed85052c58b007f3c82765bea46ebf141eb22 Mon Sep 17 00:00:00 2001 From: trivernis Date: Fri, 22 Oct 2021 21:07:00 +0200 Subject: [PATCH] Fix null checking in tag selection query Signed-off-by: trivernis --- mediarepo-daemon/mediarepo-model/src/file.rs | 3 ++- mediarepo-daemon/mediarepo-model/src/tag.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mediarepo-daemon/mediarepo-model/src/file.rs b/mediarepo-daemon/mediarepo-model/src/file.rs index d187064..8163a2f 100644 --- a/mediarepo-daemon/mediarepo-model/src/file.rs +++ b/mediarepo-daemon/mediarepo-model/src/file.rs @@ -90,8 +90,9 @@ impl File { } let results: Vec<(hash::Model, Option)> = hash::Entity::find() .find_also_related(file::Entity) - .join(JoinType::Join, hash_tag::Relation::Hash.def()) + .join(JoinType::Join, hash_tag::Relation::Hash.def().rev()) .filter(condition) + .group_by(file::Column::Id) .all(&db) .await?; let files: Vec = results diff --git a/mediarepo-daemon/mediarepo-model/src/tag.rs b/mediarepo-daemon/mediarepo-model/src/tag.rs index 4645387..d5fd3c5 100644 --- a/mediarepo-daemon/mediarepo-model/src/tag.rs +++ b/mediarepo-daemon/mediarepo-model/src/tag.rs @@ -3,6 +3,7 @@ use mediarepo_core::error::RepoResult; use mediarepo_database::entities::namespace; use mediarepo_database::entities::tag; use sea_orm::prelude::*; +use sea_orm::sea_query::Expr; use sea_orm::{Condition, DatabaseConnection, Set}; #[derive(Clone)] @@ -74,7 +75,7 @@ impl Tag { all_condition = if let Some(namespace) = namespace { all_condition.add(namespace::Column::Name.eq(namespace)) } else { - all_condition.add(tag::Column::NamespaceId.eq(Option::::None)) + all_condition.add(Expr::tbl(tag::Entity, tag::Column::NamespaceId).is_null()) }; or_condition = or_condition.add(all_condition); }