From 2a30a648f796f0f7f83125dfd5776ccc651a3563 Mon Sep 17 00:00:00 2001 From: Hai Cao Date: Wed, 28 Jun 2023 09:52:55 -0700 Subject: [PATCH] Fix copying result header behavior #2125 (#2125) --- .../QueryExecution/Contracts/CopyResultsRequest.cs | 5 +++++ .../QueryExecution/QueryExecutionService.cs | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs index 9ec3928a..33c55e06 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs @@ -22,6 +22,11 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.Contracts /// public class CopyResultsRequestParams : SubsetParams { + /// + /// Whether to include the column headers. + /// + public bool IncludeHeaders { get; set; } + /// /// The selections. /// diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs index 19b47e1c..b6731a85 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs @@ -729,7 +729,9 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution var lastRowIndex = rowRanges.Last().End; var builder = new StringBuilder(); var pageSize = 200; - if (Settings.QueryEditorSettings.Results.CopyIncludeHeaders) + + // We need to respect IncludeHeaders from parameters instead of getting the config value as ADS can explicitly ask for headers + if (requestParams.IncludeHeaders) { Validate.IsNotNullOrEmptyString(nameof(requestParams.OwnerUri), requestParams.OwnerUri); Query query;