Add Always Encrypted Parameterization Functionality (#953)

This commit is contained in:
Jeff Trimmer
2020-05-05 12:01:24 -07:00
committed by GitHub
parent e3f1789f18
commit 82eed06847
16 changed files with 1618 additions and 9 deletions

View File

@@ -6,6 +6,7 @@
using System;
using Microsoft.SqlTools.ServiceLayer.QueryExecution.Contracts;
using Microsoft.SqlTools.Utility;
using Newtonsoft.Json;
namespace Microsoft.SqlTools.ServiceLayer.SqlContext
{
@@ -168,6 +169,11 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlContext
/// </summary>
private bool DefaultSqlCmdMode = false;
/// <summary>
/// Default value for flag to enable Always Encrypted Parameterization
/// </summary>
private bool DefaultAlwaysEncryptedParameterizationValue = false;
#endregion
#region Member Variables
@@ -653,6 +659,22 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlContext
}
}
/// <summary>
/// Set Always Encrypted Parameterization Mode
/// </summary>
[JsonProperty("alwaysEncryptedParameterization")]
public bool IsAlwaysEncryptedParameterizationEnabled
{
get
{
return GetOptionValue<bool>("alwaysEncryptedParameterization", DefaultAlwaysEncryptedParameterizationValue);
}
set
{
SetOptionValue("alwaysEncryptedParameterization", value);
}
}
#endregion
#region Public Methods
@@ -691,6 +713,7 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlContext
AnsiWarnings = newSettings.AnsiWarnings;
AnsiNulls = newSettings.AnsiNulls;
IsSqlCmdMode = newSettings.IsSqlCmdMode;
IsAlwaysEncryptedParameterizationEnabled = newSettings.IsAlwaysEncryptedParameterizationEnabled;
}
#endregion