From 422fd8e2746477bd2a16746ebf2799a44f306cb7 Mon Sep 17 00:00:00 2001 From: Shannon Date: Thu, 22 Mar 2018 17:17:01 +1100 Subject: [PATCH] Fixes many hard coded SQL table names with the proposed new prefix --- .../Migrations/Upgrade/V_8_0_0/SuperZero.cs | 2 +- .../Upgrade/V_8_0_0/VariantsMigration.cs | 18 ++-- .../Implement/ContentRepositoryBase.cs | 4 +- .../Implement/ContentTypeRepositoryBase.cs | 10 +- .../Implement/DocumentRepository.cs | 8 +- .../Implement/DomainRepository.cs | 4 +- .../Implement/MemberTypeRepository.cs | 2 +- .../Persistence/Mappers/DataTypeMapperTest.cs | 5 +- .../Mappers/PropertyTypeMapperTest.cs | 5 +- .../Persistence/NPocoTests/NPocoSqlTests.cs | 21 ++-- .../ContentTypeRepositorySqlClausesTest.cs | 4 +- ...aTypeDefinitionRepositorySqlClausesTest.cs | 4 +- .../Querying/MediaRepositorySqlClausesTest.cs | 6 +- .../Repositories/ContentRepositoryTest.cs | 14 +-- .../Repositories/LanguageRepositoryTest.cs | 23 +++++ .../Repositories/MemberRepositoryTest.cs | 8 +- .../Services/ContentServiceTests.cs | 2 +- .../UmbracoExamine/IndexInitializer.cs | 2 +- .../NuCache/PublishedSnapshotService.cs | 24 ++--- .../XmlPublishedCache/XmlStore.cs | 96 ++++++++++--------- 20 files changed, 145 insertions(+), 117 deletions(-) diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/SuperZero.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/SuperZero.cs index f9b1a959f8..ba29880e79 100644 --- a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/SuperZero.cs +++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/SuperZero.cs @@ -25,7 +25,7 @@ Database.Execute("update umbracoUser2UserGroup set userId=-1 where userId=0;"); Database.Execute("update umbracoNode set nodeUser=-1 where nodeUser=0;"); - Database.Execute("update uContentVersion set userId=-1 where userId=0;"); + Database.Execute($"update {Constants.DatabaseSchema.Tables.ContentVersion} set userId=-1 where userId=0;"); Database.Execute("delete from umbracoUser where id=0;"); } } diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs index e8b06c4a31..78d6bf1085 100644 --- a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs +++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs @@ -29,20 +29,20 @@ namespace Umbraco.Core.Migrations.Upgrade.V_8_0_0 MigrateContent(); MigrateVersions(); - if (Database.Fetch(@"SELECT uContentVersion.nodeId, COUNT(uContentVersion.id) -FROM uContentVersion -JOIN uDocumentVersion ON uContentVersion.id=uDocumentVersion.id -WHERE uDocumentVersion.published=1 -GROUP BY uContentVersion.nodeId -HAVING COUNT(uContentVersion.id) > 1").Any()) + if (Database.Fetch($@"SELECT {Constants.DatabaseSchema.Tables.ContentVersion}.nodeId, COUNT({Constants.DatabaseSchema.Tables.ContentVersion}.id) +FROM {Constants.DatabaseSchema.Tables.ContentVersion} +JOIN {Constants.DatabaseSchema.Tables.DocumentVersion} ON {Constants.DatabaseSchema.Tables.ContentVersion}.id={Constants.DatabaseSchema.Tables.DocumentVersion}.id +WHERE {Constants.DatabaseSchema.Tables.DocumentVersion}.published=1 +GROUP BY {Constants.DatabaseSchema.Tables.ContentVersion}.nodeId +HAVING COUNT({Constants.DatabaseSchema.Tables.ContentVersion}.id) > 1").Any()) { Debugger.Break(); throw new Exception("Migration failed: duplicate 'published' document versions."); } - if (Database.Fetch(@"SELECT v1.nodeId, v1.id, COUNT(v2.id) -FROM uContentVersion v1 -LEFT JOIN uContentVersion v2 ON v1.nodeId=v2.nodeId AND v2.[current]=1 + if (Database.Fetch($@"SELECT v1.nodeId, v1.id, COUNT(v2.id) +FROM {Constants.DatabaseSchema.Tables.ContentVersion} v1 +LEFT JOIN {Constants.DatabaseSchema.Tables.ContentVersion} v2 ON v1.nodeId=v2.nodeId AND v2.[current]=1 GROUP BY v1.nodeId, v1.id HAVING COUNT(v2.id) <> 1").Any()) { diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentRepositoryBase.cs index 95377af479..17e00b3e76 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentRepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentRepositoryBase.cs @@ -502,13 +502,13 @@ namespace Umbraco.Core.Persistence.Repositories.Implement { case "VERSIONDATE": case "UPDATEDATE": - return GetDatabaseFieldNameForOrderBy("uContentVersion", "versionDate"); + return GetDatabaseFieldNameForOrderBy(Constants.DatabaseSchema.Tables.ContentVersion, "versionDate"); case "CREATEDATE": return GetDatabaseFieldNameForOrderBy("umbracoNode", "createDate"); case "NAME": return GetDatabaseFieldNameForOrderBy("umbracoNode", "text"); case "PUBLISHED": - return GetDatabaseFieldNameForOrderBy("uDocument", "published"); + return GetDatabaseFieldNameForOrderBy(Constants.DatabaseSchema.Tables.Document, "published"); case "OWNER": //TODO: This isn't going to work very nicely because it's going to order by ID, not by letter return GetDatabaseFieldNameForOrderBy("umbracoNode", "nodeUser"); diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs index 3ce03f759a..d33980ac46 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs @@ -1091,11 +1091,11 @@ ORDER BY contentTypeId, id"; pt.contentTypeId AS contentTypeId, pt.id AS id, pt.uniqueID AS " + sqlSyntax.GetQuotedColumnName("key") + @", pt.propertyTypeGroupId AS groupId, - pt.Alias AS alias, pt." + sqlSyntax.GetQuotedColumnName("Description") + @" AS " + sqlSyntax.GetQuotedColumnName("desc") + @", pt.mandatory AS mandatory, + pt.Alias AS alias, pt." + sqlSyntax.GetQuotedColumnName("Description") + @" AS " + sqlSyntax.GetQuotedColumnName("desc") + $@", pt.mandatory AS mandatory, pt.Name AS name, pt.sortOrder AS sortOrder, pt.validationRegExp AS regexp, pt.variations as variations, dt.nodeId as dataTypeId, dt.dbType as dbType, dt.propertyEditorAlias as editorAlias FROM cmsPropertyType pt -INNER JOIN uDataType as dt ON pt.dataTypeId = dt.nodeId +INNER JOIN {Constants.DatabaseSchema.Tables.DataType} as dt ON pt.dataTypeId = dt.nodeId WHERE pt.contentTypeId IN (@ids) ORDER BY contentTypeId, groupId, id"; @@ -1238,9 +1238,9 @@ WHERE cmsContentType." + aliasColumn + @" LIKE @pattern", public bool HasContainerInPath(string contentPath) { var ids = contentPath.Split(',').Select(int.Parse); - var sql = new Sql(@"SELECT COUNT(*) FROM cmsContentType -INNER JOIN uContent ON cmsContentType.nodeId=uContent.contentTypeId -WHERE uContent.nodeId IN (@ids) AND cmsContentType.isContainer=@isContainer", new { ids, isContainer = true }); + var sql = new Sql($@"SELECT COUNT(*) FROM cmsContentType +INNER JOIN {Constants.DatabaseSchema.Tables.Content} ON cmsContentType.nodeId={Constants.DatabaseSchema.Tables.Content}.contentTypeId +WHERE {Constants.DatabaseSchema.Tables.Content}.nodeId IN (@ids) AND cmsContentType.isContainer=@isContainer", new { ids, isContainer = true }); return Database.ExecuteScalar(sql) > 0; } diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs index 10620ee34d..084e8b6f59 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs @@ -355,12 +355,12 @@ namespace Umbraco.Core.Persistence.Repositories.Implement entity.ResetDirtyProperties(); // troubleshooting - //if (Database.ExecuteScalar("SELECT COUNT(*) FROM uDocumentVersion JOIN uContentVersion ON uDocumentVersion.id=uContentVersion.id WHERE published=1 AND nodeId=" + content.Id) > 1) + //if (Database.ExecuteScalar($"SELECT COUNT(*) FROM {Constants.DatabaseSchema.Tables.DocumentVersion} JOIN {Constants.DatabaseSchema.Tables.ContentVersion} ON {Constants.DatabaseSchema.Tables.DocumentVersion}.id={Constants.DatabaseSchema.Tables.ContentVersion}.id WHERE published=1 AND nodeId=" + content.Id) > 1) //{ // Debugger.Break(); // throw new Exception("oops"); //} - //if (Database.ExecuteScalar("SELECT COUNT(*) FROM uDocumentVersion JOIN uContentVersion ON uDocumentVersion.id=uContentVersion.id WHERE [current]=1 AND nodeId=" + content.Id) > 1) + //if (Database.ExecuteScalar($"SELECT COUNT(*) FROM {Constants.DatabaseSchema.Tables.DocumentVersion} JOIN {Constants.DatabaseSchema.Tables.ContentVersion} ON {Constants.DatabaseSchema.Tables.DocumentVersion}.id={Constants.DatabaseSchema.Tables.ContentVersion}.id WHERE [current]=1 AND nodeId=" + content.Id) > 1) //{ // Debugger.Break(); // throw new Exception("oops"); @@ -500,12 +500,12 @@ namespace Umbraco.Core.Persistence.Repositories.Implement entity.ResetDirtyProperties(); // troubleshooting - //if (Database.ExecuteScalar("SELECT COUNT(*) FROM uDocumentVersion JOIN uContentVersion ON uDocumentVersion.id=uContentVersion.id WHERE published=1 AND nodeId=" + content.Id) > 1) + //if (Database.ExecuteScalar($"SELECT COUNT(*) FROM {Constants.DatabaseSchema.Tables.DocumentVersion} JOIN {Constants.DatabaseSchema.Tables.ContentVersion} ON {Constants.DatabaseSchema.Tables.DocumentVersion}.id={Constants.DatabaseSchema.Tables.ContentVersion}.id WHERE published=1 AND nodeId=" + content.Id) > 1) //{ // Debugger.Break(); // throw new Exception("oops"); //} - //if (Database.ExecuteScalar("SELECT COUNT(*) FROM uDocumentVersion JOIN uContentVersion ON uDocumentVersion.id=uContentVersion.id WHERE [current]=1 AND nodeId=" + content.Id) > 1) + //if (Database.ExecuteScalar($"SELECT COUNT(*) FROM {Constants.DatabaseSchema.Tables.DocumentVersion} JOIN {Constants.DatabaseSchema.Tables.ContentVersion} ON {Constants.DatabaseSchema.Tables.DocumentVersion}.id={Constants.DatabaseSchema.Tables.ContentVersion}.id WHERE [current]=1 AND nodeId=" + content.Id) > 1) //{ // Debugger.Break(); // throw new Exception("oops"); diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/DomainRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/DomainRepository.cs index 9f4785c620..f75d82bd4e 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/DomainRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/DomainRepository.cs @@ -91,7 +91,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement if (entity.RootContentId.HasValue) { - var contentExists = Database.ExecuteScalar("SELECT COUNT(*) FROM uContent WHERE nodeId = @id", new { id = entity.RootContentId.Value }); + var contentExists = Database.ExecuteScalar($"SELECT COUNT(*) FROM {Constants.DatabaseSchema.Tables.Content} WHERE nodeId = @id", new { id = entity.RootContentId.Value }); if (contentExists == 0) throw new NullReferenceException("No content exists with id " + entity.RootContentId.Value); } @@ -129,7 +129,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement if (entity.RootContentId.HasValue) { - var contentExists = Database.ExecuteScalar("SELECT COUNT(*) FROM uContent WHERE nodeId = @id", new { id = entity.RootContentId.Value }); + var contentExists = Database.ExecuteScalar($"SELECT COUNT(*) FROM {Constants.DatabaseSchema.Tables.Content} WHERE nodeId = @id", new { id = entity.RootContentId.Value }); if (contentExists == 0) throw new NullReferenceException("No content exists with id " + entity.RootContentId.Value); } diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs index 6fef47679b..68cd81fa51 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs @@ -148,7 +148,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement "cmsPropertyType.Name", "cmsPropertyType.Description", "cmsPropertyType.mandatory", "cmsPropertyType.UniqueID", "cmsPropertyType.validationRegExp", "cmsPropertyType.dataTypeId", "cmsPropertyType.sortOrder AS PropertyTypeSortOrder", "cmsPropertyType.propertyTypeGroupId AS PropertyTypesGroupId", "cmsMemberType.memberCanEdit", "cmsMemberType.viewOnProfile", - "uDataType.propertyEditorAlias", "uDataType.dbType", "cmsPropertyTypeGroup.id AS PropertyTypeGroupId", + $"{Constants.DatabaseSchema.Tables.DataType}.propertyEditorAlias", $"{Constants.DatabaseSchema.Tables.DataType}.dbType", "cmsPropertyTypeGroup.id AS PropertyTypeGroupId", "cmsPropertyTypeGroup.text AS PropertyGroupName", "cmsPropertyTypeGroup.uniqueID AS PropertyGroupUniqueID", "cmsPropertyTypeGroup.sortorder AS PropertyGroupSortOrder", "cmsPropertyTypeGroup.contenttypeNodeId") .From() diff --git a/src/Umbraco.Tests/Persistence/Mappers/DataTypeMapperTest.cs b/src/Umbraco.Tests/Persistence/Mappers/DataTypeMapperTest.cs index 848a60641f..a65464a629 100644 --- a/src/Umbraco.Tests/Persistence/Mappers/DataTypeMapperTest.cs +++ b/src/Umbraco.Tests/Persistence/Mappers/DataTypeMapperTest.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using Umbraco.Core; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence.SqlSyntax; @@ -37,7 +38,7 @@ namespace Umbraco.Tests.Persistence.Mappers string column = new DataTypeMapper().Map(new SqlCeSyntaxProvider(), "DatabaseType"); // Assert - Assert.That(column, Is.EqualTo("[uDataType].[dbType]")); + Assert.That(column, Is.EqualTo($"[{Constants.DatabaseSchema.Tables.DataType}].[dbType]")); } [Test] @@ -48,7 +49,7 @@ namespace Umbraco.Tests.Persistence.Mappers string column = new DataTypeMapper().Map(new SqlCeSyntaxProvider(), "EditorAlias"); // Assert - Assert.That(column, Is.EqualTo("[uDataType].[propertyEditorAlias]")); + Assert.That(column, Is.EqualTo($"[{Constants.DatabaseSchema.Tables.DataType}].[propertyEditorAlias]")); } } } diff --git a/src/Umbraco.Tests/Persistence/Mappers/PropertyTypeMapperTest.cs b/src/Umbraco.Tests/Persistence/Mappers/PropertyTypeMapperTest.cs index 9b1baafd51..208b6e3749 100644 --- a/src/Umbraco.Tests/Persistence/Mappers/PropertyTypeMapperTest.cs +++ b/src/Umbraco.Tests/Persistence/Mappers/PropertyTypeMapperTest.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using Umbraco.Core; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence.SqlSyntax; @@ -54,7 +55,7 @@ namespace Umbraco.Tests.Persistence.Mappers string column = new PropertyTypeMapper().Map(new SqlCeSyntaxProvider(), "PropertyEditorAlias"); // Assert - Assert.That(column, Is.EqualTo("[uDataType].[propertyEditorAlias]")); + Assert.That(column, Is.EqualTo($"[{Constants.DatabaseSchema.Tables.DataType}].[propertyEditorAlias]")); } [Test] @@ -64,7 +65,7 @@ namespace Umbraco.Tests.Persistence.Mappers string column = new PropertyTypeMapper().Map(new SqlCeSyntaxProvider(), "ValueStorageType"); // Assert - Assert.That(column, Is.EqualTo("[uDataType].[dbType]")); + Assert.That(column, Is.EqualTo($"[{Constants.DatabaseSchema.Tables.DataType}].[dbType]")); } } } diff --git a/src/Umbraco.Tests/Persistence/NPocoTests/NPocoSqlTests.cs b/src/Umbraco.Tests/Persistence/NPocoTests/NPocoSqlTests.cs index 927324bfbd..a7b75cbd6d 100644 --- a/src/Umbraco.Tests/Persistence/NPocoTests/NPocoSqlTests.cs +++ b/src/Umbraco.Tests/Persistence/NPocoTests/NPocoSqlTests.cs @@ -1,5 +1,6 @@ using System.Diagnostics; using NUnit.Framework; +using Umbraco.Core; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Querying; @@ -202,7 +203,7 @@ namespace Umbraco.Tests.Persistence.NPocoTests public void Can_Select_From_With_Type() { var expected = Sql(); - expected.SelectAll().From("[uContent]"); + expected.SelectAll().From($"[{Constants.DatabaseSchema.Tables.Content}]"); var sql = Sql(); sql.SelectAll().From(); @@ -217,9 +218,9 @@ namespace Umbraco.Tests.Persistence.NPocoTests { var expected = Sql(); expected.SelectAll() - .From("[uDocumentVersion]") - .InnerJoin("[uContentVersion]") - .On("[uDocumentVersion].[id] = [uContentVersion].[id]"); + .From($"[{Constants.DatabaseSchema.Tables.DocumentVersion}]") + .InnerJoin($"[{Constants.DatabaseSchema.Tables.ContentVersion}]") + .On($"[{Constants.DatabaseSchema.Tables.DocumentVersion}].[id] = [{Constants.DatabaseSchema.Tables.ContentVersion}].[id]"); var sql = Sql(); sql.SelectAll().From() @@ -235,7 +236,7 @@ namespace Umbraco.Tests.Persistence.NPocoTests public void Can_OrderBy_With_Type() { var expected = Sql(); - expected.SelectAll().From("[uContent]").OrderBy("([uContent].[contentTypeId])"); + expected.SelectAll().From($"[{Constants.DatabaseSchema.Tables.Content}]").OrderBy($"([{Constants.DatabaseSchema.Tables.Content}].[contentTypeId])"); var sql = Sql(); sql.SelectAll().From().OrderBy(x => x.ContentTypeId); @@ -249,7 +250,7 @@ namespace Umbraco.Tests.Persistence.NPocoTests public void Can_GroupBy_With_Type() { var expected = Sql(); - expected.SelectAll().From("[uContent]").GroupBy("[uContent].[contentTypeId]"); + expected.SelectAll().From($"[{Constants.DatabaseSchema.Tables.Content}]").GroupBy($"[{Constants.DatabaseSchema.Tables.Content}].[contentTypeId]"); var sql = Sql(); sql.SelectAll().From().GroupBy(x => x.ContentTypeId); @@ -263,7 +264,7 @@ namespace Umbraco.Tests.Persistence.NPocoTests public void Can_Use_Where_Predicate() { var expected = Sql(); - expected.SelectAll().From("[uContent]").Where("([uContent].[nodeId] = @0)", 1045); + expected.SelectAll().From($"[{Constants.DatabaseSchema.Tables.Content}]").Where($"([{Constants.DatabaseSchema.Tables.Content}].[nodeId] = @0)", 1045); var sql = Sql(); sql.SelectAll().From().Where(x => x.NodeId == 1045); @@ -278,9 +279,9 @@ namespace Umbraco.Tests.Persistence.NPocoTests { var expected = Sql(); expected.SelectAll() - .From("[uContent]") - .Where("([uContent].[nodeId] = @0)", 1045) - .Where("([uContent].[contentTypeId] = @0)", 1050); + .From($"[{Constants.DatabaseSchema.Tables.Content}]") + .Where($"([{Constants.DatabaseSchema.Tables.Content}].[nodeId] = @0)", 1045) + .Where($"([{Constants.DatabaseSchema.Tables.Content}].[contentTypeId] = @0)", 1050); var sql = Sql(); sql.SelectAll() diff --git a/src/Umbraco.Tests/Persistence/Querying/ContentTypeRepositorySqlClausesTest.cs b/src/Umbraco.Tests/Persistence/Querying/ContentTypeRepositorySqlClausesTest.cs index ba8155dc0a..4c10c4da41 100644 --- a/src/Umbraco.Tests/Persistence/Querying/ContentTypeRepositorySqlClausesTest.cs +++ b/src/Umbraco.Tests/Persistence/Querying/ContentTypeRepositorySqlClausesTest.cs @@ -94,7 +94,7 @@ namespace Umbraco.Tests.Persistence.Querying expected.SelectAll() .From("[cmsPropertyTypeGroup]") .RightJoin("[cmsPropertyType]").On("[cmsPropertyTypeGroup].[id] = [cmsPropertyType].[propertyTypeGroupId]") - .InnerJoin("[uDataType]").On("[cmsPropertyType].[dataTypeId] = [uDataType].[nodeId]"); + .InnerJoin($"[{Constants.DatabaseSchema.Tables.DataType}]").On($"[cmsPropertyType].[dataTypeId] = [{Constants.DatabaseSchema.Tables.DataType}].[nodeId]"); var sql = Sql(); sql.SelectAll() @@ -140,7 +140,7 @@ namespace Umbraco.Tests.Persistence.Querying expected.SelectAll() .From("[cmsPropertyTypeGroup]") .RightJoin("[cmsPropertyType]").On("[cmsPropertyTypeGroup].[id] = [cmsPropertyType].[propertyTypeGroupId]") - .InnerJoin("[uDataType]").On("[cmsPropertyType].[dataTypeId] = [uDataType].[nodeId]") + .InnerJoin($"[{Constants.DatabaseSchema.Tables.DataType}]").On($"[cmsPropertyType].[dataTypeId] = [{Constants.DatabaseSchema.Tables.DataType}].[nodeId]") .Where("([cmsPropertyType].[contentTypeId] = @0)", 1050); var sql = Sql(); diff --git a/src/Umbraco.Tests/Persistence/Querying/DataTypeDefinitionRepositorySqlClausesTest.cs b/src/Umbraco.Tests/Persistence/Querying/DataTypeDefinitionRepositorySqlClausesTest.cs index 2b3611cb02..e52da368c7 100644 --- a/src/Umbraco.Tests/Persistence/Querying/DataTypeDefinitionRepositorySqlClausesTest.cs +++ b/src/Umbraco.Tests/Persistence/Querying/DataTypeDefinitionRepositorySqlClausesTest.cs @@ -19,8 +19,8 @@ namespace Umbraco.Tests.Persistence.Querying var expected = new Sql(); expected.Select("*") - .From("[uDataType]") - .InnerJoin("[umbracoNode]").On("[uDataType].[nodeId] = [umbracoNode].[id]") + .From($"[{Constants.DatabaseSchema.Tables.DataType}]") + .InnerJoin("[umbracoNode]").On($"[{Constants.DatabaseSchema.Tables.DataType}].[nodeId] = [umbracoNode].[id]") .Where("([umbracoNode].[nodeObjectType] = @0)", new Guid("30a2a501-1978-4ddb-a57b-f7efed43ba3c")); var sql = Sql(); diff --git a/src/Umbraco.Tests/Persistence/Querying/MediaRepositorySqlClausesTest.cs b/src/Umbraco.Tests/Persistence/Querying/MediaRepositorySqlClausesTest.cs index 4def2621fd..246379bed3 100644 --- a/src/Umbraco.Tests/Persistence/Querying/MediaRepositorySqlClausesTest.cs +++ b/src/Umbraco.Tests/Persistence/Querying/MediaRepositorySqlClausesTest.cs @@ -19,9 +19,9 @@ namespace Umbraco.Tests.Persistence.Querying var expected = new Sql(); expected.Select("*") - .From("[uContentVersion]") - .InnerJoin("[uContent]").On("[uContentVersion].[nodeId] = [uContent].[nodeId]") - .InnerJoin("[umbracoNode]").On("[uContent].[nodeId] = [umbracoNode].[id]") + .From($"[{Constants.DatabaseSchema.Tables.ContentVersion}]") + .InnerJoin($"[{Constants.DatabaseSchema.Tables.Content}]").On($"[{Constants.DatabaseSchema.Tables.ContentVersion}].[nodeId] = [{Constants.DatabaseSchema.Tables.Content}].[nodeId]") + .InnerJoin("[umbracoNode]").On($"[{Constants.DatabaseSchema.Tables.Content}].[nodeId] = [umbracoNode].[id]") .Where("([umbracoNode].[nodeObjectType] = @0)", new Guid("b796f64c-1f99-4ffb-b886-4bf4bc011a9c")); var sql = Sql(); diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs index 65a32942df..f6f7048315 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs @@ -152,7 +152,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(true, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(true, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // change something // save = update the current (draft) version @@ -168,7 +168,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(true, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(true, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // unpublish = no impact on versions ((Content) content1).PublishedState = PublishedState.Unpublishing; @@ -183,7 +183,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(false, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(false, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // change something // save = update the current (draft) version @@ -198,7 +198,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(false, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(false, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // publish = version ((Content) content1).PublishValues(); @@ -214,7 +214,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(true, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(true, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // change something // save = update the current (draft) version @@ -232,7 +232,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(true, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(true, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // publish = new version content1.Name = "name-4"; @@ -250,7 +250,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId); // misc checks - Assert.AreEqual(true, scope.Database.ExecuteScalar("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id })); + Assert.AreEqual(true, scope.Database.ExecuteScalar($"SELECT published FROM {Constants.DatabaseSchema.Tables.Document} WHERE nodeId=@id", new { id = content1.Id })); // all versions var allVersions = repository.GetAllVersions(content1.Id).ToArray(); diff --git a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs index 3d0b484a50..d56936df9e 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs @@ -219,6 +219,29 @@ namespace Umbraco.Tests.Persistence.Repositories // Assert Assert.That(languageBR.HasIdentity, Is.True); Assert.That(languageBR.Id, Is.EqualTo(6)); //With 5 existing entries the Id should be 6 + Assert.IsFalse(languageBR.IsDefaultVariantLanguage); + Assert.IsFalse(languageBR.Mandatory); + } + } + + [Test] + public void Can_Perform_Add_On_LanguageRepository_With_Boolean_Properties() + { + // Arrange + var provider = TestObjects.GetScopeProvider(Logger); + using (var scope = provider.CreateScope()) + { + var repository = CreateRepository(provider); + + // Act + var languageBR = new Language("pt-BR") { CultureName = "pt-BR", IsDefaultVariantLanguage = true, Mandatory = true }; + repository.Save(languageBR); + + // Assert + Assert.That(languageBR.HasIdentity, Is.True); + Assert.That(languageBR.Id, Is.EqualTo(6)); //With 5 existing entries the Id should be 6 + Assert.IsTrue(languageBR.IsDefaultVariantLanguage); + Assert.IsTrue(languageBR.Mandatory); } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs index a625cc14d1..4f901935dc 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs @@ -323,8 +323,8 @@ namespace Umbraco.Tests.Persistence.Repositories } var sql = provider.SqlContext.Sql(); - sql.Select("umbracoNode.*", "uContent.contentTypeId", "cmsContentType.alias AS ContentTypeAlias", "uContentVersion.versionId", - "uContentVersion.versionDate", "cmsMember.Email", + sql.Select("umbracoNode.*", $"{Constants.DatabaseSchema.Tables.Content}.contentTypeId", "cmsContentType.alias AS ContentTypeAlias", $"{Constants.DatabaseSchema.Tables.ContentVersion}.versionId", + $"{Constants.DatabaseSchema.Tables.ContentVersion}.versionDate", "cmsMember.Email", "cmsMember.LoginName", "cmsMember.Password", Constants.DatabaseSchema.Tables.PropertyData + ".id AS PropertyDataId", Constants.DatabaseSchema.Tables.PropertyData + ".propertytypeid", Constants.DatabaseSchema.Tables.PropertyData + ".dateValue", Constants.DatabaseSchema.Tables.PropertyData + ".intValue", @@ -341,7 +341,7 @@ namespace Umbraco.Tests.Persistence.Repositories .LeftJoin().On(left => left.ContentTypeId, right => right.ContentTypeId) .LeftJoin().On(left => left.NodeId, right => right.DataTypeId) .LeftJoin().On(left => left.PropertyTypeId, right => right.Id) - .Append("AND " + Constants.DatabaseSchema.Tables.PropertyData + ".versionId = uContentVersion.id") + .Append("AND " + Constants.DatabaseSchema.Tables.PropertyData + $".versionId = {Constants.DatabaseSchema.Tables.ContentVersion}.id") .Where(x => x.NodeObjectType == NodeObjectTypeId); return sql; } @@ -359,7 +359,7 @@ namespace Umbraco.Tests.Persistence.Repositories .LeftJoin().On(left => left.ContentTypeId, right => right.ContentTypeId) .LeftJoin().On(left => left.NodeId, right => right.DataTypeId) .LeftJoin().On(left => left.PropertyTypeId, right => right.Id) - .Append("AND " + Constants.DatabaseSchema.Tables.PropertyData + ".versionId = uContentVersion.id") + .Append("AND " + Constants.DatabaseSchema.Tables.PropertyData + $".versionId = {Constants.DatabaseSchema.Tables.ContentVersion}.id") .Where(x => x.NodeObjectType == NodeObjectTypeId); return sql; } diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs index 5dd11b2812..a67d71d081 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs @@ -36,7 +36,7 @@ namespace Umbraco.Tests.Services [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, PublishedRepositoryEvents = true, WithApplication = true)] public class ContentServiceTests : TestWithSomeContentBase { - //TODO Add test to verify there is only ONE newest document/content in uDocument table after updating. + //TODO Add test to verify there is only ONE newest document/content in {Constants.DatabaseSchema.Tables.Document} table after updating. //TODO Add test to delete specific version (with and without deleting prior versions) and versions by date. public override void SetUp() diff --git a/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs b/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs index c5b161f44a..6e82f7d21e 100644 --- a/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs +++ b/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs @@ -168,7 +168,7 @@ namespace Umbraco.Tests.UmbracoExamine //var query = new Mock>(); //query // .Setup(x => x.GetWhereClauses()) - // .Returns(new List> { new Tuple("uDocument.published", new object[] { 1 }) }); + // .Returns(new List> { new Tuple($"{Constants.DatabaseSchema.Tables.Document}.published", new object[] { 1 }) }); var scopeProvider = new Mock(); //scopeProvider // .Setup(x => x.Query()) diff --git a/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs b/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs index bf1fd2473b..df264ac51c 100644 --- a/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs +++ b/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs @@ -1251,12 +1251,12 @@ WHERE cmsContentNu.nodeId IN ( { // assume number of ctypes won't blow IN(...) // must support SQL-CE - db.Execute(@"DELETE FROM cmsContentNu + db.Execute($@"DELETE FROM cmsContentNu WHERE cmsContentNu.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = contentObjectType, ctypes = contentTypeIdsA }); } @@ -1318,12 +1318,12 @@ WHERE cmsContentNu.nodeId IN ( { // assume number of ctypes won't blow IN(...) // must support SQL-CE - db.Execute(@"DELETE FROM cmsContentNu + db.Execute($@"DELETE FROM cmsContentNu WHERE cmsContentNu.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = mediaObjectType, ctypes = contentTypeIdsA }); } @@ -1376,12 +1376,12 @@ WHERE cmsContentNu.nodeId IN ( { // assume number of ctypes won't blow IN(...) // must support SQL-CE - db.Execute(@"DELETE FROM cmsContentNu + db.Execute($@"DELETE FROM cmsContentNu WHERE cmsContentNu.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = memberObjectType, ctypes = contentTypeIdsA }); } @@ -1423,13 +1423,13 @@ WHERE cmsContentNu.nodeId IN ( var contentObjectType = Constants.ObjectTypes.Document; var db = scope.Database; - var count = db.ExecuteScalar(@"SELECT COUNT(*) + var count = db.ExecuteScalar($@"SELECT COUNT(*) FROM umbracoNode -JOIN uDocument ON umbracoNode.id=uDocument.nodeId +JOIN {Constants.DatabaseSchema.Tables.Document} ON umbracoNode.id={Constants.DatabaseSchema.Tables.Document}.nodeId LEFT JOIN cmsContentNu nuEdited ON (umbracoNode.id=nuEdited.nodeId AND nuEdited.published=0) LEFT JOIN cmsContentNu nuPublished ON (umbracoNode.id=nuPublished.nodeId AND nuPublished.published=1) WHERE umbracoNode.nodeObjectType=@objType -AND nuEdited.nodeId IS NULL OR (uDocument.published=1 AND nuPublished.nodeId IS NULL);" +AND nuEdited.nodeId IS NULL OR ({Constants.DatabaseSchema.Tables.Document}.published=1 AND nuPublished.nodeId IS NULL);" , new { objType = contentObjectType }); return count == 0; diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs index 8c56ffd87f..4c5047fdb3 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs +++ b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs @@ -494,16 +494,18 @@ AND (umbracoNode.id=@id)"; return xml; } - public XmlNode GetPreviewXmlNode(int contentId) - { - const string sql = @"SELECT umbracoNode.id, umbracoNode.parentId, umbracoNode.sortOrder, umbracoNode.Level, -cmsPreviewXml.xml, uDocument.published + private static readonly string PreviewXmlNodeSql = $@"SELECT umbracoNode.id, umbracoNode.parentId, umbracoNode.sortOrder, umbracoNode.Level, +cmsPreviewXml.xml, {Constants.DatabaseSchema.Tables.Document}.published FROM umbracoNode JOIN cmsPreviewXml ON (cmsPreviewXml.nodeId=umbracoNode.id) -JOIN uDocument ON (uDocument.nodeId=umbracoNode.id) +JOIN {Constants.DatabaseSchema.Tables.Document} ON ({Constants.DatabaseSchema.Tables.Document}.nodeId=umbracoNode.id) WHERE umbracoNode.nodeObjectType = @nodeObjectType AND (umbracoNode.id=@id)"; + public XmlNode GetPreviewXmlNode(int contentId) + { + var sql = PreviewXmlNodeSql; + XmlDto xmlDto; using (var scope = _scopeProvider.CreateScope()) { @@ -837,32 +839,32 @@ AND (umbracoNode.id=@id)"; #region Database - private const string ReadTreeCmsContentXmlSql = @"SELECT + private static readonly string ReadTreeCmsContentXmlSql = $@"SELECT umbracoNode.id, umbracoNode.parentId, umbracoNode.sortOrder, umbracoNode.level, umbracoNode.path, - cmsContentXml.xml, cmsContentXml.rv, uDocument.published + cmsContentXml.xml, cmsContentXml.rv, {Constants.DatabaseSchema.Tables.Document}.published FROM umbracoNode JOIN cmsContentXml ON (cmsContentXml.nodeId=umbracoNode.id) -JOIN uDocument ON (uDocument.nodeId=umbracoNode.id) -WHERE umbracoNode.nodeObjectType = @nodeObjectType AND uDocument.published=1 +JOIN {Constants.DatabaseSchema.Tables.Document} ON ({Constants.DatabaseSchema.Tables.Document}.nodeId=umbracoNode.id) +WHERE umbracoNode.nodeObjectType = @nodeObjectType AND {Constants.DatabaseSchema.Tables.Document}.published=1 ORDER BY umbracoNode.level, umbracoNode.sortOrder"; - private const string ReadBranchCmsContentXmlSql = @"SELECT + private static readonly string ReadBranchCmsContentXmlSql = $@"SELECT umbracoNode.id, umbracoNode.parentId, umbracoNode.sortOrder, umbracoNode.level, umbracoNode.path, - cmsContentXml.xml, cmsContentXml.rv, uDocument.published + cmsContentXml.xml, cmsContentXml.rv, {Constants.DatabaseSchema.Tables.Document}.published FROM umbracoNode JOIN cmsContentXml ON (cmsContentXml.nodeId=umbracoNode.id) -JOIN uDocument ON (uDocument.nodeId=umbracoNode.id) -WHERE umbracoNode.nodeObjectType = @nodeObjectType AND uDocument.published=1 AND (umbracoNode.id = @id OR umbracoNode.path LIKE @path) +JOIN {Constants.DatabaseSchema.Tables.Document} ON ({Constants.DatabaseSchema.Tables.Document}.nodeId=umbracoNode.id) +WHERE umbracoNode.nodeObjectType = @nodeObjectType AND {Constants.DatabaseSchema.Tables.Document}.published=1 AND (umbracoNode.id = @id OR umbracoNode.path LIKE @path) ORDER BY umbracoNode.level, umbracoNode.sortOrder"; - private const string ReadCmsContentXmlForContentTypesSql = @"SELECT + private static readonly string ReadCmsContentXmlForContentTypesSql = $@"SELECT umbracoNode.id, umbracoNode.parentId, umbracoNode.sortOrder, umbracoNode.level, umbracoNode.path, - cmsContentXml.xml, cmsContentXml.rv, uDocument.published + cmsContentXml.xml, cmsContentXml.rv, {Constants.DatabaseSchema.Tables.Document}.published FROM umbracoNode JOIN cmsContentXml ON (cmsContentXml.nodeId=umbracoNode.id) -JOIN uDocument ON (uDocument.nodeId=umbracoNode.id) -JOIN uContent ON (uDocument.nodeId=uContent.nodeId) -WHERE umbracoNode.nodeObjectType = @nodeObjectType AND uDocument.published=1 AND uContent.contentTypeId IN (@ids) +JOIN {Constants.DatabaseSchema.Tables.Document} ON ({Constants.DatabaseSchema.Tables.Document}.nodeId=umbracoNode.id) +JOIN {Constants.DatabaseSchema.Tables.Content} ON ({Constants.DatabaseSchema.Tables.Document}.nodeId={Constants.DatabaseSchema.Tables.Content}.nodeId) +WHERE umbracoNode.nodeObjectType = @nodeObjectType AND {Constants.DatabaseSchema.Tables.Document}.published=1 AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ids) ORDER BY umbracoNode.level, umbracoNode.sortOrder"; private const string ReadMoreCmsContentXmlSql = @"SELECT @@ -873,13 +875,13 @@ JOIN cmsContentXml ON (cmsContentXml.nodeId=umbracoNode.id) WHERE umbracoNode.nodeObjectType = @nodeObjectType ORDER BY umbracoNode.level, umbracoNode.sortOrder"; - private const string ReadCmsPreviewXmlSql1 = @"SELECT + private static readonly string ReadCmsPreviewXmlSql1 = $@"SELECT umbracoNode.id, umbracoNode.parentId, umbracoNode.sortOrder, umbracoNode.level, umbracoNode.path, - cmsPreviewXml.xml, cmsPreviewXml.rv, uDocument.published + cmsPreviewXml.xml, cmsPreviewXml.rv, {Constants.DatabaseSchema.Tables.Document}.published FROM umbracoNode JOIN cmsPreviewXml ON (cmsPreviewXml.nodeId=umbracoNode.id) -JOIN uDocument ON (uDocument.nodeId=umbracoNode.id) -WHERE umbracoNode.nodeObjectType = @nodeObjectType AND uDocument.published=1 +JOIN {Constants.DatabaseSchema.Tables.Document} ON ({Constants.DatabaseSchema.Tables.Document}.nodeId=umbracoNode.id) +WHERE umbracoNode.nodeObjectType = @nodeObjectType AND {Constants.DatabaseSchema.Tables.Document}.published=1 AND (umbracoNode.path=@path OR"; // @path LIKE concat(umbracoNode.path, ',%')"; private const string ReadCmsPreviewXmlSql2 = @") @@ -1711,15 +1713,15 @@ WHERE cmsContentXml.nodeId IN ( // db.Execute(@"DELETE cmsContentXml //FROM cmsContentXml //JOIN umbracoNode ON (cmsContentXml.nodeId=umbracoNode.Id) - //JOIN uContent ON (cmsContentXml.nodeId=uContent.nodeId) + //JOIN {Constants.DatabaseSchema.Tables.Content} ON (cmsContentXml.nodeId={Constants.DatabaseSchema.Tables.Content}.nodeId) //WHERE umbracoNode.nodeObjectType=@objType - //AND uContent.contentTypeId IN (@ctypes)", - db.Execute(@"DELETE FROM cmsContentXml + //AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes)", + db.Execute($@"DELETE FROM cmsContentXml WHERE cmsContentXml.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = contentObjectType, ctypes = contentTypeIdsA }); } @@ -1782,15 +1784,15 @@ WHERE cmsPreviewXml.nodeId IN ( // db.Execute(@"DELETE cmsPreviewXml //FROM cmsPreviewXml //JOIN umbracoNode ON (cmsPreviewXml.nodeId=umbracoNode.Id) - //JOIN uContent ON (cmsPreviewXml.nodeId=uContent.nodeId) + //JOIN {Constants.DatabaseSchema.Tables.Content} ON (cmsPreviewXml.nodeId={Constants.DatabaseSchema.Tables.Content}.nodeId) //WHERE umbracoNode.nodeObjectType=@objType - //AND uContent.contentTypeId IN (@ctypes)", - db.Execute(@"DELETE FROM cmsPreviewXml + //AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes)", + db.Execute($@"DELETE FROM cmsPreviewXml WHERE cmsPreviewXml.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = contentObjectType, ctypes = contentTypeIdsA }); } @@ -1805,7 +1807,7 @@ WHERE cmsPreviewXml.nodeId IN ( long total; do { - // .GetPagedResultsByQuery implicitely adds (uDocument.newest = 1) which + // .GetPagedResultsByQuery implicitely adds ({Constants.DatabaseSchema.Tables.Document}.newest = 1) which // is what we want for preview (ie latest version of a content, published or not) var descendants = _documentRepository.GetPage(query, pageIndex++, groupSize, out total, "Path", Direction.Ascending, true); const bool published = true; // previewXml contains edit content! @@ -1857,15 +1859,15 @@ WHERE cmsContentXml.nodeId IN ( // db.Execute(@"DELETE cmsContentXml //FROM cmsContentXml //JOIN umbracoNode ON (cmsContentXml.nodeId=umbracoNode.Id) - //JOIN uContent ON (cmsContentXml.nodeId=uContent.nodeId) + //JOIN {Constants.DatabaseSchema.Tables.Content} ON (cmsContentXml.nodeId={Constants.DatabaseSchema.Tables.Content}.nodeId) //WHERE umbracoNode.nodeObjectType=@objType - //AND uContent.contentTypeId IN (@ctypes)", - db.Execute(@"DELETE FROM cmsContentXml + //AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes)", + db.Execute($@"DELETE FROM cmsContentXml WHERE cmsContentXml.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = mediaObjectType, ctypes = contentTypeIdsA }); } @@ -1926,15 +1928,15 @@ WHERE cmsContentXml.nodeId IN ( // db.Execute(@"DELETE cmsContentXml //FROM cmsContentXml //JOIN umbracoNode ON (cmsContentXml.nodeId=umbracoNode.Id) - //JOIN uContent ON (cmsContentXml.nodeId=uContent.nodeId) + //JOIN {Constants.DatabaseSchema.Tables.Content} ON (cmsContentXml.nodeId={Constants.DatabaseSchema.Tables.Content}.nodeId) //WHERE umbracoNode.nodeObjectType=@objType - //AND uContent.contentTypeId IN (@ctypes)", - db.Execute(@"DELETE FROM cmsContentXml + //AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes)", + db.Execute($@"DELETE FROM cmsContentXml WHERE cmsContentXml.nodeId IN ( SELECT id FROM umbracoNode - JOIN uContent ON uContent.nodeId=umbracoNode.id + JOIN {Constants.DatabaseSchema.Tables.Content} ON {Constants.DatabaseSchema.Tables.Content}.nodeId=umbracoNode.id WHERE umbracoNode.nodeObjectType=@objType - AND uContent.contentTypeId IN (@ctypes) + AND {Constants.DatabaseSchema.Tables.Content}.contentTypeId IN (@ctypes) )", new { objType = memberObjectType, ctypes = contentTypeIdsA }); } @@ -1977,9 +1979,9 @@ WHERE cmsContentXml.nodeId IN ( var contentObjectType = Constants.ObjectTypes.Document; var db = scope.Database; - var count = db.ExecuteScalar(@"SELECT COUNT(*) + var count = db.ExecuteScalar($@"SELECT COUNT(*) FROM umbracoNode -JOIN uDocument ON (umbracoNode.id=uDocument.nodeId and uDocument.published=1) +JOIN {Constants.DatabaseSchema.Tables.Document} ON (umbracoNode.id={Constants.DatabaseSchema.Tables.Document}.nodeId and {Constants.DatabaseSchema.Tables.Document}.published=1) LEFT JOIN cmsContentXml ON (umbracoNode.id=cmsContentXml.nodeId) WHERE umbracoNode.nodeObjectType=@objType AND cmsContentXml.nodeId IS NULL OR cmsContentXml.xml NOT LIKE '% key=""' @@ -2018,9 +2020,9 @@ AND cmsPreviewXml.nodeId IS NULL OR cmsPreviewXml.xml NOT LIKE '% key=""' var mediaObjectType = Constants.ObjectTypes.Media; var db = scope.Database; - var count = db.ExecuteScalar(@"SELECT COUNT(*) + var count = db.ExecuteScalar($@"SELECT COUNT(*) FROM umbracoNode -JOIN uDocument ON (umbracoNode.id=uDocument.nodeId and uDocument.published=1) +JOIN {Constants.DatabaseSchema.Tables.Document} ON (umbracoNode.id={Constants.DatabaseSchema.Tables.Document}.nodeId and {Constants.DatabaseSchema.Tables.Document}.published=1) LEFT JOIN cmsContentXml ON (umbracoNode.id=cmsContentXml.nodeId) WHERE umbracoNode.nodeObjectType=@objType AND cmsContentXml.nodeId IS NULL OR cmsContentXml.xml NOT LIKE '% key=""'