From b451bb802b6b2536b767c16a5efba0641d648240 Mon Sep 17 00:00:00 2001 From: Nikolaj Date: Wed, 21 Jun 2023 08:45:54 +0200 Subject: [PATCH] Revert "Case-insensitive tag names with SQLite provider (#14012)" This reverts commit bb7752c48340f080d692cb230ca1e16a2654f05a. --- .../Repositories/Implement/TagRepository.cs | 4 +- .../Repositories/TagRepositoryTest.cs | 40 ------------------- 2 files changed, 2 insertions(+), 42 deletions(-) diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TagRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TagRepository.cs index bc78596762..ecc6600d4c 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TagRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TagRepository.cs @@ -131,7 +131,7 @@ internal class TagRepository : EntityRepositoryBase, ITagRepository var sql1 = $@"INSERT INTO cmsTags (tag, {group}, languageId) SELECT tagSet.tag, tagSet.{group}, tagSet.languageId FROM {tagSetSql} -LEFT OUTER JOIN cmsTags ON (tagSet.tag LIKE cmsTags.tag AND tagSet.{group} = cmsTags.{group} AND COALESCE(tagSet.languageId, -1) = COALESCE(cmsTags.languageId, -1)) +LEFT OUTER JOIN cmsTags ON (tagSet.tag = cmsTags.tag AND tagSet.{group} = cmsTags.{group} AND COALESCE(tagSet.languageId, -1) = COALESCE(cmsTags.languageId, -1)) WHERE cmsTags.id IS NULL"; Database.Execute(sql1); @@ -321,7 +321,7 @@ WHERE r.tagId IS NULL"; Sql sql = GetTaggedEntitiesSql(objectType, culture); sql = sql - .WhereLike(dto => dto.Text, tag); + .Where(dto => dto.Text == tag); if (group.IsNullOrWhiteSpace() == false) { diff --git a/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs b/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs index a92123e934..1ce5eeefd9 100644 --- a/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs +++ b/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs @@ -13,7 +13,6 @@ using Umbraco.Cms.Infrastructure.Scoping; using Umbraco.Cms.Tests.Common.Builders; using Umbraco.Cms.Tests.Common.Testing; using Umbraco.Cms.Tests.Integration.Testing; -using static Umbraco.Cms.Core.Constants.Conventions; namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositories; @@ -99,45 +98,6 @@ public class TagRepositoryTest : UmbracoIntegrationTest } } - [Test] - public void Can_Create_Tag_Relations_With_Mixed_Casing() - { - var provider = ScopeProvider; - using (ScopeProvider.CreateScope()) - { - var template = TemplateBuilder.CreateTextPageTemplate(); - FileService.SaveTemplate(template); - - var contentType = - ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); - ContentTypeRepository.Save(contentType); - - var content1 = ContentBuilder.CreateSimpleContent(contentType); - var content2 = ContentBuilder.CreateSimpleContent(contentType); - DocumentRepository.Save(content1); - DocumentRepository.Save(content2); - - var repository = CreateRepository(provider); - Tag[] tags1 = { new Tag { Text = "tag1", Group = "test" } }; - repository.Assign( - content1.Id, - contentType.PropertyTypes.First().Id, - tags1, - false); - - // Note the casing is different from tags1, but both should be considered equivalent - Tag[] tags2 = { new Tag { Text = "TAG1", Group = "test" } }; - repository.Assign( - content2.Id, - contentType.PropertyTypes.First().Id, - tags2, - false); - - // The template should have only one tag, despite case differences - Assert.AreEqual(1, repository.GetTaggedEntitiesByTag(TaggableObjectTypes.Content, "tag1").Count()); - } - } - [Test] public void Can_Append_Tag_Relations() {