From c21203c5c230a93b630b9bb6e65a571a6ca69220 Mon Sep 17 00:00:00 2001 From: Benjin Dubishar Date: Wed, 3 May 2023 18:44:17 -0700 Subject: [PATCH] Adding ability to only load properties and metadata for a SqlProject (#2040) * Adding property quick-loading * Remove whitespace --- Packages.props | 2 +- ...Server.DacFx.Projects.162.0.32-alpha.nupkg | Bin 59808 -> 0 bytes ...lServer.DacFx.Projects.162.1.3-alpha.nupkg | Bin 0 -> 60504 bytes .../SqlProjects/SqlProjectsService.cs | 55 +++++++++--------- .../SqlProjects/SqlProjectsServiceTests.cs | 35 ++++++++++- 5 files changed, 64 insertions(+), 28 deletions(-) delete mode 100644 bin/nuget/Microsoft.SqlServer.DacFx.Projects.162.0.32-alpha.nupkg create mode 100644 bin/nuget/Microsoft.SqlServer.DacFx.Projects.162.1.3-alpha.nupkg diff --git a/Packages.props b/Packages.props index 09e8d178..80e19e34 100644 --- a/Packages.props +++ b/Packages.props @@ -23,7 +23,7 @@ - + diff --git a/bin/nuget/Microsoft.SqlServer.DacFx.Projects.162.0.32-alpha.nupkg b/bin/nuget/Microsoft.SqlServer.DacFx.Projects.162.0.32-alpha.nupkg deleted file mode 100644 index bea4926a56593c40a7f1082a0d699300bfe08026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59808 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 literal 0 HcmV?d00001 diff --git a/src/Microsoft.SqlTools.ServiceLayer/SqlProjects/SqlProjectsService.cs b/src/Microsoft.SqlTools.ServiceLayer/SqlProjects/SqlProjectsService.cs index f9112560..5224c827 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/SqlProjects/SqlProjectsService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/SqlProjects/SqlProjectsService.cs @@ -105,20 +105,20 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects internal async Task HandleOpenSqlProjectRequest(SqlProjectParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri!), requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri), requestContext); } internal async Task HandleCloseSqlProjectRequest(SqlProjectParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => Projects.TryRemove(requestParams.ProjectUri!, out _), requestContext); + await RunWithErrorHandling(() => Projects.TryRemove(requestParams.ProjectUri, out _), requestContext); } internal async Task HandleCreateSqlProjectRequest(Contracts.CreateSqlProjectParams requestParams, RequestContext requestContext) { await RunWithErrorHandling(async () => { - await SqlProject.CreateProjectAsync(requestParams.ProjectUri!, new SqlServer.Dac.Projects.CreateSqlProjectParams() { ProjectType = requestParams.SqlProjectType, DspVersion = requestParams.DatabaseSchemaProvider }); - this.GetProject(requestParams.ProjectUri!); // load into the cache + await SqlProject.CreateProjectAsync(requestParams.ProjectUri, new SqlServer.Dac.Projects.CreateSqlProjectParams() { ProjectType = requestParams.SqlProjectType, DspVersion = requestParams.DatabaseSchemaProvider }); + this.GetProject(requestParams.ProjectUri); // load into the cache }, requestContext); } @@ -130,21 +130,21 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects { Success = true, ErrorMessage = null, - IsCrossPlatformCompatible = GetProject(requestParams.ProjectUri).CrossPlatformCompatible + IsCrossPlatformCompatible = GetProject(requestParams.ProjectUri, onlyLoadProperties: true).CrossPlatformCompatible }; }, requestContext); } internal async Task HandleUpdateProjectForCrossPlatformRequest(SqlProjectParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri).UpdateForCrossPlatform(), requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).UpdateForCrossPlatform(), requestContext); } internal async Task HandleGetProjectPropertiesRequest(SqlProjectParams requestParams, RequestContext requestContext) { await RunWithErrorHandling(() => { - SqlProject project = GetProject(requestParams.ProjectUri); + SqlProject project = GetProject(requestParams.ProjectUri, onlyLoadProperties: true); return new GetProjectPropertiesResult() { @@ -157,19 +157,19 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects DefaultCollation = project.Properties.DefaultCollation, DatabaseSource = project.Properties.DatabaseSource, ProjectStyle = project.SqlProjStyle, - DatabaseSchemaProvider = project.DatabaseSchemaProvider + DatabaseSchemaProvider = project.Properties.DatabaseSchemaProvider }; }, requestContext); } internal async Task HandleSetDatabaseSourceRequest(SetDatabaseSourceParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri).Properties.DatabaseSource = requestParams.DatabaseSource, requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).Properties.DatabaseSource = requestParams.DatabaseSource, requestContext); } internal async Task HandleSetDatabaseSchemaProviderRequest(SetDatabaseSchemaProviderParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri).DatabaseSchemaProvider = requestParams.DatabaseSchemaProvider, requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).Properties.DatabaseSchemaProvider = requestParams.DatabaseSchemaProvider, requestContext); } #endregion @@ -365,21 +365,23 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects { await RunWithErrorHandling(() => { + SqlProject project = GetProject(requestParams.ProjectUri, onlyLoadProperties: true); + return new GetDatabaseReferencesResult() { Success = true, ErrorMessage = null, - SystemDatabaseReferences = GetProject(requestParams.ProjectUri).DatabaseReferences.OfType().ToArray(), - DacpacReferences = GetProject(requestParams.ProjectUri).DatabaseReferences.OfType().ToArray(), - SqlProjectReferences = GetProject(requestParams.ProjectUri).DatabaseReferences.OfType().ToArray(), - NugetPackageReferences = GetProject(requestParams.ProjectUri).DatabaseReferences.OfType().ToArray() + SystemDatabaseReferences = project.DatabaseReferences.OfType().ToArray(), + DacpacReferences = project.DatabaseReferences.OfType().ToArray(), + SqlProjectReferences = project.DatabaseReferences.OfType().ToArray(), + NugetPackageReferences = project.DatabaseReferences.OfType().ToArray() }; }, requestContext); } internal async Task HandleAddSystemDatabaseReferenceRequest(AddSystemDatabaseReferenceParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri!).DatabaseReferences.Add( + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).DatabaseReferences.Add( new SystemDatabaseReference( requestParams.SystemDatabase, requestParams.SuppressMissingDependencies, @@ -393,7 +395,7 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects { requestParams.Validate(); - SqlProject project = GetProject(requestParams.ProjectUri!); + SqlProject project = GetProject(requestParams.ProjectUri, onlyLoadProperties: true); DacpacReference reference; if (!string.IsNullOrWhiteSpace(requestParams.DatabaseLiteral)) // same server, different database via database name literal @@ -426,7 +428,7 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects { requestParams.Validate(); - SqlProject project = GetProject(requestParams.ProjectUri!); + SqlProject project = GetProject(requestParams.ProjectUri, onlyLoadProperties: true); SqlProjectReference reference; if (!string.IsNullOrWhiteSpace(requestParams.DatabaseLiteral)) // same server, different database via database name literal @@ -463,7 +465,7 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects { requestParams.Validate(); - SqlProject project = GetProject(requestParams.ProjectUri!); + SqlProject project = GetProject(requestParams.ProjectUri, onlyLoadProperties: true); NugetPackageReference reference; if (!string.IsNullOrWhiteSpace(requestParams.DatabaseLiteral)) // same server, different database via database name literal @@ -495,7 +497,7 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects internal async Task HandleDeleteDatabaseReferenceRequest(DeleteDatabaseReferenceParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri!).DatabaseReferences.Delete(requestParams.Name!), requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).DatabaseReferences.Delete(requestParams.Name!), requestContext); } #endregion @@ -510,26 +512,26 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects { Success = true, ErrorMessage = null, - SqlCmdVariables = GetProject(requestParams.ProjectUri).SqlCmdVariables.ToArray() + SqlCmdVariables = GetProject(requestParams.ProjectUri, onlyLoadProperties: true).SqlCmdVariables.ToArray() }; }, requestContext); } internal async Task HandleAddSqlCmdVariableRequest(AddSqlCmdVariableParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri!).SqlCmdVariables.Add(new SqlCmdVariable(requestParams.Name, requestParams.DefaultValue)), requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).SqlCmdVariables.Add(new SqlCmdVariable(requestParams.Name, requestParams.DefaultValue)), requestContext); } internal async Task HandleDeleteSqlCmdVariableRequest(DeleteSqlCmdVariableParams requestParams, RequestContext requestContext) { - await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri!).SqlCmdVariables.Delete(requestParams.Name), requestContext); + await RunWithErrorHandling(() => GetProject(requestParams.ProjectUri, onlyLoadProperties: true).SqlCmdVariables.Delete(requestParams.Name), requestContext); } internal async Task HandleUpdateSqlCmdVariableRequest(AddSqlCmdVariableParams requestParams, RequestContext requestContext) { await RunWithErrorHandling(() => { - SqlProject project = GetProject(requestParams.ProjectUri!); + SqlProject project = GetProject(requestParams.ProjectUri, onlyLoadProperties: true); project.SqlCmdVariables.Delete(requestParams.Name); // idempotent (won't throw if doesn't exist) project.SqlCmdVariables.Add(new SqlCmdVariable(requestParams.Name, requestParams.DefaultValue)); }, requestContext); @@ -541,11 +543,12 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlProjects #region Helper methods - private SqlProject GetProject(string projectUri) + private SqlProject GetProject(string projectUri, bool onlyLoadProperties = false) { - if (!Projects.ContainsKey(projectUri)) + if (!Projects.ContainsKey(projectUri) // if not already loaded, load according to onlyLoadProperties flag + || (Projects[projectUri].OnlyPropertiesLoaded && !onlyLoadProperties)) // if already loaded, check flag to see if it needs to be reopened as fully-loaded { - Projects[projectUri] = SqlProject.OpenProject(projectUri); + Projects[projectUri] = SqlProject.OpenProject(projectUri, onlyLoadProperties); } return Projects[projectUri]; diff --git a/test/Microsoft.SqlTools.ServiceLayer.IntegrationTests/SqlProjects/SqlProjectsServiceTests.cs b/test/Microsoft.SqlTools.ServiceLayer.IntegrationTests/SqlProjects/SqlProjectsServiceTests.cs index ec87835d..49f25868 100644 --- a/test/Microsoft.SqlTools.ServiceLayer.IntegrationTests/SqlProjects/SqlProjectsServiceTests.cs +++ b/test/Microsoft.SqlTools.ServiceLayer.IntegrationTests/SqlProjects/SqlProjectsServiceTests.cs @@ -1031,7 +1031,40 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects }, setMock.Object); setMock.AssertSuccess(nameof(service.HandleSetDatabaseSchemaProviderRequest)); - Assert.AreEqual("Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider", service.Projects[projectUri].DatabaseSchemaProvider); + Assert.AreEqual("Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider", service.Projects[projectUri].Properties.DatabaseSchemaProvider); + } + + [Test] + public async Task TestLoadOnlyProperties() + { + // Verify new project results in full-load + SqlProjectsService service = new(); + string projectUri = await service.CreateSqlProject(); + Assert.IsFalse(service.Projects[projectUri].OnlyPropertiesLoaded, "Project should be fully-loaded when initially created."); + + // Verify metadata calls only load properties + service.Projects.Clear(); + SqlProjectParams projParams = new SqlProjectParams() { ProjectUri = projectUri }; + await service.HandleGetProjectPropertiesRequest(projParams, new MockRequest().Object); + await service.HandleGetSqlCmdVariablesRequest(projParams, new MockRequest().Object); + await service.HandleGetDatabaseReferencesRequest(projParams, new MockRequest().Object); + + Assert.IsTrue(service.Projects[projectUri].OnlyPropertiesLoaded, "Project should be partially-loaded after only property/metadata actions"); + + // Verify file call on already-opened project results in full-load + MockRequest scriptsMock = new(); + await service.HandleGetSqlObjectScriptsRequest(projParams, scriptsMock.Object); + + scriptsMock.AssertSuccess(nameof(service.HandleGetSqlObjectScriptsRequest)); + Assert.IsFalse(service.Projects[projectUri].OnlyPropertiesLoaded, "Project should be fully-loaded after getting a list of files"); + + // Verify file call on unopened project results in full-load + service.Projects.Clear(); + scriptsMock = new(); + await service.HandleGetPreDeploymentScriptsRequest(projParams, scriptsMock.Object); + + scriptsMock.AssertSuccess(nameof(service.HandleGetSqlObjectScriptsRequest)); + Assert.IsFalse(service.Projects[projectUri].OnlyPropertiesLoaded, "Project should be fully-loaded when initially opened for a list of files"); } #region Helpers