Remove Hosting InternalsVisibleTo (#2009)

This commit is contained in:
Charles Gagnon
2023-04-17 12:34:04 -07:00
committed by GitHub
parent 9d53e1dd3e
commit efc8d8f0be
13 changed files with 97 additions and 106 deletions

View File

@@ -45,7 +45,7 @@ namespace Microsoft.SqlTools.Hosting.Protocol
/// handlers for requests, responses, and events that are /// handlers for requests, responses, and events that are
/// transmitted through the channel. /// transmitted through the channel.
/// </summary> /// </summary>
internal MessageDispatcher MessageDispatcher { get; set; } public MessageDispatcher MessageDispatcher { get; set; }
/// <summary> /// <summary>
/// Initializes an instance of the protocol server using the /// Initializes an instance of the protocol server using the
@@ -158,14 +158,14 @@ namespace Microsoft.SqlTools.Hosting.Protocol
/// <param name="requestParams"></param> /// <param name="requestParams"></param>
/// <returns></returns> /// <returns></returns>
public Task<TResult> SendRequest<TParams, TResult>( public Task<TResult> SendRequest<TParams, TResult>(
RequestType<TParams, TResult> requestType, RequestType<TParams, TResult> requestType,
TParams requestParams) TParams requestParams)
{ {
return this.SendRequest(requestType, requestParams, true); return this.SendRequest(requestType, requestParams, true);
} }
public async Task<TResult> SendRequest<TParams, TResult>( public async Task<TResult> SendRequest<TParams, TResult>(
RequestType<TParams, TResult> requestType, RequestType<TParams, TResult> requestType,
TParams requestParams, TParams requestParams,
bool waitForResponse) bool waitForResponse)
{ {
@@ -182,13 +182,13 @@ namespace Microsoft.SqlTools.Hosting.Protocol
{ {
responseTask = new TaskCompletionSource<Message>(); responseTask = new TaskCompletionSource<Message>();
this.pendingRequests.Add( this.pendingRequests.Add(
this.currentMessageId.ToString(), this.currentMessageId.ToString(),
responseTask); responseTask);
} }
await this.protocolChannel.MessageWriter.WriteRequest<TParams, TResult>( await this.protocolChannel.MessageWriter.WriteRequest<TParams, TResult>(
requestType, requestType,
requestParams, requestParams,
this.currentMessageId); this.currentMessageId);
if (responseTask != null) if (responseTask != null)

View File

@@ -93,22 +93,6 @@ namespace Microsoft.SqlTools.Hosting
} }
} }
public static string ServiceProviderNotSet
{
get
{
return Keys.GetString(Keys.ServiceProviderNotSet);
}
}
public static string ServiceNotFound
{
get
{
return Keys.GetString(Keys.ServiceNotFound);
}
}
public static string ServiceNotOfExpectedType public static string ServiceNotOfExpectedType
{ {
get get
@@ -181,12 +165,6 @@ namespace Microsoft.SqlTools.Hosting
public const string IncompatibleServiceForExtensionLoader = "IncompatibleServiceForExtensionLoader"; public const string IncompatibleServiceForExtensionLoader = "IncompatibleServiceForExtensionLoader";
public const string ServiceProviderNotSet = "ServiceProviderNotSet";
public const string ServiceNotFound = "ServiceNotFound";
public const string ServiceNotOfExpectedType = "ServiceNotOfExpectedType"; public const string ServiceNotOfExpectedType = "ServiceNotOfExpectedType";

View File

@@ -149,14 +149,6 @@
<value>Service of type {0} cannot be created by ExtensionLoader&lt;{1}&gt;</value> <value>Service of type {0} cannot be created by ExtensionLoader&lt;{1}&gt;</value>
<comment></comment> <comment></comment>
</data> </data>
<data name="ServiceProviderNotSet" xml:space="preserve">
<value>SetServiceProvider() was not called to establish the required service provider</value>
<comment></comment>
</data>
<data name="ServiceNotFound" xml:space="preserve">
<value>Service {0} was not found in the service provider</value>
<comment></comment>
</data>
<data name="ServiceNotOfExpectedType" xml:space="preserve"> <data name="ServiceNotOfExpectedType" xml:space="preserve">
<value>Service of Type {0} is not compatible with registered Type {1}</value> <value>Service of Type {0} is not compatible with registered Type {1}</value>
<comment></comment> <comment></comment>

View File

@@ -1,11 +1,11 @@
# String resource file # String resource file
# #
# When processed by the String Resource Tool, this file generates # When processed by the String Resource Tool, this file generates
# both a .CS and a .RESX file with the same name as the file. # both a .CS and a .RESX file with the same name as the file.
# The .CS file contains a class which can be used to access these # The .CS file contains a class which can be used to access these
# string resources, including the ability to format in # string resources, including the ability to format in
# parameters, which are identified with the .NET {x} format # parameters, which are identified with the .NET {x} format
# (see String.Format help). # (see String.Format help).
# #
# Comments below assume the file name is SR.strings. # Comments below assume the file name is SR.strings.
# #
@@ -15,7 +15,7 @@
# #
# SMO build specific comment # SMO build specific comment
# after generating the .resx file, run srgen on it and get the .resx file # after generating the .resx file, run srgen on it and get the .resx file
# please remember to also check that .resx in, along with the # please remember to also check that .resx in, along with the
# .strings and .cs files # .strings and .cs files
[strings] [strings]
@@ -42,10 +42,6 @@ MultipleServicesFound = Multiple services found for type {0}, expected only 1
IncompatibleServiceForExtensionLoader = Service of type {0} cannot be created by ExtensionLoader<{1}> IncompatibleServiceForExtensionLoader = Service of type {0} cannot be created by ExtensionLoader<{1}>
ServiceProviderNotSet = SetServiceProvider() was not called to establish the required service provider
ServiceNotFound = Service {0} was not found in the service provider
ServiceNotOfExpectedType = Service of Type {0} is not compatible with registered Type {1} ServiceNotOfExpectedType = Service of Type {0} is not compatible with registered Type {1}
############################################################################ ############################################################################

View File

@@ -62,16 +62,6 @@
<target state="new">Service of type {0} cannot be created by ExtensionLoader&lt;{1}&gt;</target> <target state="new">Service of type {0} cannot be created by ExtensionLoader&lt;{1}&gt;</target>
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="ServiceProviderNotSet">
<source>SetServiceProvider() was not called to establish the required service provider</source>
<target state="new">SetServiceProvider() was not called to establish the required service provider</target>
<note></note>
</trans-unit>
<trans-unit id="ServiceNotFound">
<source>Service {0} was not found in the service provider</source>
<target state="new">Service {0} was not found in the service provider</target>
<note></note>
</trans-unit>
<trans-unit id="ServiceNotOfExpectedType"> <trans-unit id="ServiceNotOfExpectedType">
<source>Service of Type {0} is not compatible with registered Type {1}</source> <source>Service of Type {0} is not compatible with registered Type {1}</source>
<target state="new">Service of Type {0} is not compatible with registered Type {1}</target> <target state="new">Service of Type {0} is not compatible with registered Type {1}</target>

View File

@@ -26,10 +26,6 @@
<InternalsVisibleTo Include="Microsoft.SqlTools.ServiceLayer.UnitTests" /> <InternalsVisibleTo Include="Microsoft.SqlTools.ServiceLayer.UnitTests" />
<InternalsVisibleTo Include="Microsoft.SqlTools.ServiceLayer.IntegrationTests" /> <InternalsVisibleTo Include="Microsoft.SqlTools.ServiceLayer.IntegrationTests" />
<InternalsVisibleTo Include="Microsoft.SqlTools.ServiceLayer.Test.Common" /> <InternalsVisibleTo Include="Microsoft.SqlTools.ServiceLayer.Test.Common" />
<!-- Workaround for SRGen issues -->
<InternalsVisibleTo Include="MicrosoftSqlToolsServiceLayer" />
<InternalsVisibleTo Include="MicrosoftKustoServiceLayer" />
<InternalsVisibleTo Include="MicrosoftSqlToolsCredentials" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Localization\*.resx" /> <EmbeddedResource Include="Localization\*.resx" />

View File

@@ -10,10 +10,10 @@ namespace Microsoft.SqlTools.ServiceLayer.Utility
{ {
/// <summary> /// <summary>
/// This listener class will listen for events from the SqlClientEventSource class /// This listener class will listen for events from the SqlClientEventSource class
/// and forward them to the logger. /// and forward them to the logger.
/// </summary> /// </summary>
internal class SqlClientListener : EventListener public class SqlClientListener : EventListener
{ {
protected override void OnEventSourceCreated(EventSource eventSource) protected override void OnEventSourceCreated(EventSource eventSource)
{ {

View File

@@ -10613,6 +10613,14 @@ namespace Microsoft.SqlTools.ServiceLayer
} }
} }
public static string ServiceProviderNotSet
{
get
{
return Keys.GetString(Keys.ServiceProviderNotSet);
}
}
public static string ConnectionServiceListDbErrorNotConnected(string uri) public static string ConnectionServiceListDbErrorNotConnected(string uri)
{ {
return Keys.GetString(Keys.ConnectionServiceListDbErrorNotConnected, uri); return Keys.GetString(Keys.ConnectionServiceListDbErrorNotConnected, uri);
@@ -11043,6 +11051,11 @@ namespace Microsoft.SqlTools.ServiceLayer
return Keys.GetString(Keys.ObjectNotRenamable, urn); return Keys.GetString(Keys.ObjectNotRenamable, urn);
} }
public static string ServiceNotFound(string serviceName)
{
return Keys.GetString(Keys.ServiceNotFound, serviceName);
}
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Keys public class Keys
{ {
@@ -15278,6 +15291,12 @@ namespace Microsoft.SqlTools.ServiceLayer
public const string Permission_ImpersonateAnyLogin = "Permission_ImpersonateAnyLogin"; public const string Permission_ImpersonateAnyLogin = "Permission_ImpersonateAnyLogin";
public const string ServiceProviderNotSet = "ServiceProviderNotSet";
public const string ServiceNotFound = "ServiceNotFound";
private Keys() private Keys()
{ } { }

View File

@@ -380,7 +380,7 @@
<comment></comment> <comment></comment>
</data> </data>
<data name="QueryServiceExecutionPlanNotFound" xml:space="preserve"> <data name="QueryServiceExecutionPlanNotFound" xml:space="preserve">
<value>Could not retrieve an execution plan from the result set </value> <value>Could not retrieve an execution plan from the result set</value>
<comment></comment> <comment></comment>
</data> </data>
<data name="SqlCmdExitOnError" xml:space="preserve"> <data name="SqlCmdExitOnError" xml:space="preserve">
@@ -402,7 +402,7 @@
Parameters: 0 - lineNumber (int) </comment> Parameters: 0 - lineNumber (int) </comment>
</data> </data>
<data name="ErrorMessage" xml:space="preserve"> <data name="ErrorMessage" xml:space="preserve">
<value>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2} </value> <value>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2}</value>
<comment>. <comment>.
Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </comment> Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </comment>
</data> </data>
@@ -412,7 +412,7 @@
Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </comment> Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </comment>
</data> </data>
<data name="BinaryLiteralPrefixMissingError" xml:space="preserve"> <data name="BinaryLiteralPrefixMissingError" xml:space="preserve">
<value>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2} </value> <value>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2}</value>
<comment>. <comment>.
Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </comment> Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </comment>
</data> </data>
@@ -1745,7 +1745,7 @@
<comment></comment> <comment></comment>
</data> </data>
<data name="UnknownSizeUnit" xml:space="preserve"> <data name="UnknownSizeUnit" xml:space="preserve">
<value>Unknown size unit {0} </value> <value>Unknown size unit {0}</value>
<comment>. <comment>.
Parameters: 0 - unit (string) </comment> Parameters: 0 - unit (string) </comment>
</data> </data>
@@ -1844,7 +1844,7 @@
<comment></comment> <comment></comment>
</data> </data>
<data name="Error_InvalidDirectoryName" xml:space="preserve"> <data name="Error_InvalidDirectoryName" xml:space="preserve">
<value>Path {0} is not a valid directory </value> <value>Path {0} is not a valid directory</value>
<comment></comment> <comment></comment>
</data> </data>
<data name="Error_ExistingDirectoryName" xml:space="preserve"> <data name="Error_ExistingDirectoryName" xml:space="preserve">
@@ -3070,7 +3070,7 @@
</data> </data>
<data name="ObjectTableDescription" xml:space="preserve"> <data name="ObjectTableDescription" xml:space="preserve">
<value>Table name for the referenced object.</value> <value>Table name for the referenced object.</value>
<comment> Table property description </comment> <comment> Table property description</comment>
</data> </data>
<data name="ObjectAlias" xml:space="preserve"> <data name="ObjectAlias" xml:space="preserve">
<value>Alias</value> <value>Alias</value>
@@ -4262,7 +4262,7 @@
<comment> Operator name</comment> <comment> Operator name</comment>
</data> </data>
<data name="TFPDescription" xml:space="preserve"> <data name="TFPDescription" xml:space="preserve">
<value>Applies a trained machine learning model to input data </value> <value>Applies a trained machine learning model to input data</value>
<comment> Operator description</comment> <comment> Operator description</comment>
</data> </data>
<data name="TableValueFunction" xml:space="preserve"> <data name="TableValueFunction" xml:space="preserve">
@@ -4906,7 +4906,7 @@ The Query Processor estimates that implementing the following index could improv
<comment></comment> <comment></comment>
</data> </data>
<data name="IndexBucketCountPropertyDescription" xml:space="preserve"> <data name="IndexBucketCountPropertyDescription" xml:space="preserve">
<value>Bucket count of the hash index, note the value will always automatically round up to the next power of 2. </value> <value>Bucket count of the hash index, note the value will always automatically round up to the next power of 2.</value>
<comment></comment> <comment></comment>
</data> </data>
<data name="IndexBucketCountPropertyTitle" xml:space="preserve"> <data name="IndexBucketCountPropertyTitle" xml:space="preserve">
@@ -5843,4 +5843,13 @@ The Query Processor estimates that implementing the following index could improv
<value>Impersonate Any Login</value> <value>Impersonate Any Login</value>
<comment></comment> <comment></comment>
</data> </data>
<data name="ServiceProviderNotSet" xml:space="preserve">
<value>SetServiceProvider() was not called to establish the required service provider</value>
<comment></comment>
</data>
<data name="ServiceNotFound" xml:space="preserve">
<value>Service {0} was not found in the service provider</value>
<comment>.
Parameters: 0 - serviceName (string) </comment>
</data>
</root> </root>

View File

@@ -1,11 +1,11 @@
# String resource file # String resource file
# #
# When processed by the String Resource Tool, this file generates # When processed by the String Resource Tool, this file generates
# both a .CS and a .RESX file with the same name as the file. # both a .CS and a .RESX file with the same name as the file.
# The .CS file contains a class which can be used to access these # The .CS file contains a class which can be used to access these
# string resources, including the ability to format in # string resources, including the ability to format in
# parameters, which are identified with the .NET {x} format # parameters, which are identified with the .NET {x} format
# (see String.Format help). # (see String.Format help).
# #
# Comments below assume the file name is SR.strings. # Comments below assume the file name is SR.strings.
# #
@@ -15,7 +15,7 @@
# #
# SMO build specific comment # SMO build specific comment
# after generating the .resx file, run srgen on it and get the .resx file # after generating the .resx file, run srgen on it and get the .resx file
# please remember to also check that .resx in, along with the # please remember to also check that .resx in, along with the
# .strings and .cs files # .strings and .cs files
[strings] [strings]
@@ -166,7 +166,7 @@ QueryServiceResultSetRowCountOutOfRange = Row count must be a positive integer
QueryServiceResultSetNoColumnSchema = Could not retrieve column schema for result set QueryServiceResultSetNoColumnSchema = Could not retrieve column schema for result set
QueryServiceExecutionPlanNotFound = Could not retrieve an execution plan from the result set QueryServiceExecutionPlanNotFound = Could not retrieve an execution plan from the result set
SqlCmdExitOnError = An error was encountered during execution of batch. Exiting. SqlCmdExitOnError = An error was encountered during execution of batch. Exiting.
@@ -178,11 +178,11 @@ ParameterizationDetails (string variableName, string sqlDbType, int size, int pr
ErrorMessageHeader(int lineNumber) = Line {0} ErrorMessageHeader(int lineNumber) = Line {0}
ErrorMessage (string variableName, string sqlDataType, string literalValue) = Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2} ErrorMessage (string variableName, string sqlDataType, string literalValue) = Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2}
DateTimeErrorMessage (string variableName, string sqlDataType, string literalValue) = Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as it used an unsupported date/time format. Use one of the supported date/time formats. Literal value: {2} DateTimeErrorMessage (string variableName, string sqlDataType, string literalValue) = Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as it used an unsupported date/time format. Use one of the supported date/time formats. Literal value: {2}
BinaryLiteralPrefixMissingError (string variableName, string sqlDataType, string literalValue) = Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2} BinaryLiteralPrefixMissingError (string variableName, string sqlDataType, string literalValue) = Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2}
ParsingErrorHeader (int lineNumber, int columnNumber) = Line {0}, column {1} ParsingErrorHeader (int lineNumber, int columnNumber) = Line {0}, column {1}
@@ -194,7 +194,7 @@ ScriptTooLarge (int maxChars, int currentChars) = The current script is too larg
SerializationServiceUnsupportedFormat (string formatName) = Unsupported Save Format: {0} SerializationServiceUnsupportedFormat (string formatName) = Unsupported Save Format: {0}
SerializationServiceRequestInProgress (string filePath) = A request for file {0} is already in progress SerializationServiceRequestInProgress (string filePath) = A request for file {0} is already in progress
SerializationServiceRequestNotFound (string filePath) = Cannot serialize more data as no request for file {0} could be found SerializationServiceRequestNotFound (string filePath) = Cannot serialize more data as no request for file {0} could be found
############################################################################ ############################################################################
# Language Service # Language Service
@@ -826,7 +826,7 @@ CategoryLogShipping = Log Shipping
CategoryDBEngineTuningAdvisor = Database Engine Tuning Advisor CategoryDBEngineTuningAdvisor = Database Engine Tuning Advisor
CategoryDataCollector = Data Collector CategoryDataCollector = Data Collector
UnknownSizeUnit(unit) = Unknown size unit {0} UnknownSizeUnit(unit) = Unknown size unit {0}
UnexpectedRunType = Unexpected run type. UnexpectedRunType = Unexpected run type.
CredentialNoLongerExists = The object does no longer exist on server. CredentialNoLongerExists = The object does no longer exist on server.
UnknownServerType(string serverTypeName) = Unknown server type '{0}'. UnknownServerType(string serverTypeName) = Unknown server type '{0}'.
@@ -857,7 +857,7 @@ JobServerIsNotAvailable = Job server is not available
# Admin Service # Admin Service
NeverBackedUp = Never NeverBackedUp = Never
Error_InvalidDirectoryName = Path {0} is not a valid directory Error_InvalidDirectoryName = Path {0} is not a valid directory
Error_ExistingDirectoryName = For directory {0} a file with name {1} already exist Error_ExistingDirectoryName = For directory {0} a file with name {1} already exist
############################################################################ ############################################################################
@@ -1457,7 +1457,7 @@ ObjectSchema = Schema
ObjectSchemaDescription = Schema name for the referenced object. ObjectSchemaDescription = Schema name for the referenced object.
; Table property ; Table property
ObjectTable = Table ObjectTable = Table
; Table property description ; Table property description
ObjectTableDescription = Table name for the referenced object. ObjectTableDescription = Table name for the referenced object.
; Alias property ; Alias property
ObjectAlias = Alias ObjectAlias = Alias
@@ -2045,7 +2045,7 @@ SwitchDescription = Switch.
; Operator name ; Operator name
TFP = Predict TFP = Predict
; Operator description ; Operator description
TFPDescription = Applies a trained machine learning model to input data TFPDescription = Applies a trained machine learning model to input data
; Operator name ; Operator name
TableValueFunction = Table Valued Function TableValueFunction = Table Valued Function
; Operator description ; Operator description
@@ -2323,7 +2323,7 @@ IndexFilterPredicatePropertyDescription = Filter predicate of the index
IndexFilterPredicatePropertyTitle = Filter Predicate IndexFilterPredicatePropertyTitle = Filter Predicate
IndexIsHashPropertyDescription = Whether the index is a hash index IndexIsHashPropertyDescription = Whether the index is a hash index
IndexIsHashPropertyTitle = Is Hash IndexIsHashPropertyTitle = Is Hash
IndexBucketCountPropertyDescription = Bucket count of the hash index, note the value will always automatically round up to the next power of 2. IndexBucketCountPropertyDescription = Bucket count of the hash index, note the value will always automatically round up to the next power of 2.
IndexBucketCountPropertyTitle = Bucket Count IndexBucketCountPropertyTitle = Bucket Count
TableDesignerColumnsDisplayValueTitle = Columns TableDesignerColumnsDisplayValueTitle = Columns
ColumnStoreIndexNamePropertyTitle = Name ColumnStoreIndexNamePropertyTitle = Name
@@ -2567,3 +2567,6 @@ Permission_CreateAvailabilityGroup = Create availability group
Permission_SelectAllUserSecurables = Select All User Securables Permission_SelectAllUserSecurables = Select All User Securables
Permission_ConnectAnyDatabase = Connect Any Database Permission_ConnectAnyDatabase = Connect Any Database
Permission_ImpersonateAnyLogin = Impersonate Any Login Permission_ImpersonateAnyLogin = Impersonate Any Login
ServiceProviderNotSet = SetServiceProvider() was not called to establish the required service provider
ServiceNotFound(string serviceName) = Service {0} was not found in the service provider

View File

@@ -211,8 +211,8 @@
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="QueryServiceExecutionPlanNotFound"> <trans-unit id="QueryServiceExecutionPlanNotFound">
<source>Could not retrieve an execution plan from the result set </source> <source>Could not retrieve an execution plan from the result set</source>
<target state="new">Could not retrieve an execution plan from the result set </target> <target state="new">Could not retrieve an execution plan from the result set</target>
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="PeekDefinitionAzureError"> <trans-unit id="PeekDefinitionAzureError">
@@ -1845,8 +1845,8 @@
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="UnknownSizeUnit"> <trans-unit id="UnknownSizeUnit">
<source>Unknown size unit {0} </source> <source>Unknown size unit {0}</source>
<target state="new">Unknown size unit {0} </target> <target state="new">Unknown size unit {0}</target>
<note>. <note>.
Parameters: 0 - unit (string) </note> Parameters: 0 - unit (string) </note>
</trans-unit> </trans-unit>
@@ -1932,8 +1932,8 @@
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="Error_InvalidDirectoryName"> <trans-unit id="Error_InvalidDirectoryName">
<source>Path {0} is not a valid directory </source> <source>Path {0} is not a valid directory</source>
<target state="new">Path {0} is not a valid directory </target> <target state="new">Path {0} is not a valid directory</target>
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="Error_ExistingDirectoryName"> <trans-unit id="Error_ExistingDirectoryName">
@@ -2096,8 +2096,8 @@
Parameters: 0 - lineNumber (int) </note> Parameters: 0 - lineNumber (int) </note>
</trans-unit> </trans-unit>
<trans-unit id="ErrorMessage"> <trans-unit id="ErrorMessage">
<source>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2} </source> <source>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2}</source>
<target state="new">Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2} </target> <target state="new">Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType). Literal value: {2}</target>
<note>. <note>.
Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </note> Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </note>
</trans-unit> </trans-unit>
@@ -2108,8 +2108,8 @@
Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </note> Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </note>
</trans-unit> </trans-unit>
<trans-unit id="BinaryLiteralPrefixMissingError"> <trans-unit id="BinaryLiteralPrefixMissingError">
<source>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2} </source> <source>Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2}</source>
<target state="new">Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2} </target> <target state="new">Unable to convert {0} to a Microsoft.Data.SqlClient.SqlParameter object. The specified literal cannot be converted to {1}(Microsoft.Data.SqlDbType), as prefix 0x is expected for a binary literals. Literal value: {2}</target>
<note>. <note>.
Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </note> Parameters: 0 - variableName (string), 1 - sqlDataType (string), 2 - literalValue (string) </note>
</trans-unit> </trans-unit>
@@ -5070,8 +5070,8 @@
<note> Operator name</note> <note> Operator name</note>
</trans-unit> </trans-unit>
<trans-unit id="TFPDescription"> <trans-unit id="TFPDescription">
<source>Applies a trained machine learning model to input data </source> <source>Applies a trained machine learning model to input data</source>
<target state="new">Applies a trained machine learning model to input data </target> <target state="new">Applies a trained machine learning model to input data</target>
<note> Operator description</note> <note> Operator description</note>
</trans-unit> </trans-unit>
<trans-unit id="TableValueFunction"> <trans-unit id="TableValueFunction">
@@ -6394,8 +6394,8 @@ The Query Processor estimates that implementing the following index could improv
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="IndexBucketCountPropertyDescription"> <trans-unit id="IndexBucketCountPropertyDescription">
<source>Bucket count of the hash index, note the value will always automatically round up to the next power of 2. </source> <source>Bucket count of the hash index, note the value will always automatically round up to the next power of 2.</source>
<target state="new">Bucket count of the hash index, note the value will always automatically round up to the next power of 2. </target> <target state="new">Bucket count of the hash index, note the value will always automatically round up to the next power of 2.</target>
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="IndexBucketCountPropertyTitle"> <trans-unit id="IndexBucketCountPropertyTitle">
@@ -7137,6 +7137,16 @@ The Query Processor estimates that implementing the following index could improv
<target state="new">Impersonate Any Login</target> <target state="new">Impersonate Any Login</target>
<note></note> <note></note>
</trans-unit> </trans-unit>
<trans-unit id="ServiceProviderNotSet">
<source>SetServiceProvider() was not called to establish the required service provider</source>
<target state="new">SetServiceProvider() was not called to establish the required service provider</target>
<note></note>
</trans-unit>
<trans-unit id="ServiceNotFound">
<source>Service {0} was not found in the service provider</source>
<target state="new">Service {0} was not found in the service provider</target>
<note></note>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

View File

@@ -714,11 +714,11 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer
{ {
if (serviceProvider == null) if (serviceProvider == null)
{ {
throw new InvalidOperationException(SqlTools.Hosting.SR.ServiceProviderNotSet); throw new InvalidOperationException(SR.ServiceProviderNotSet);
} }
if (connectionService == null) if (connectionService == null)
{ {
throw new InvalidOperationException(SqlTools.Hosting.SR.ServiceProviderNotSet); throw new InvalidOperationException(SR.ServiceProviderNotSet);
} }
} }
@@ -771,7 +771,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer
/// </summary> /// </summary>
public bool IsSuccessful { get; set; } public bool IsSuccessful { get; set; }
/// <summary> /// <summary>
/// The Exception that occurred during execution, if any. /// The Exception that occurred during execution, if any.
/// </summary> /// </summary>
public Exception? Exception { get; set; } public Exception? Exception { get; set; }
} }

View File

@@ -6,7 +6,6 @@
#nullable disable #nullable disable
using System; using System;
using System.Globalization;
using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlTools.Extensibility; using Microsoft.SqlTools.Extensibility;
using Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes; using Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes;
@@ -41,7 +40,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
} }
/// <summary> /// <summary>
/// The server type /// The server type
/// </summary> /// </summary>
public SqlServerType SqlServerType { get; set; } public SqlServerType SqlServerType { get; set; }
@@ -116,12 +115,11 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
{ {
if (ServiceProvider == null) if (ServiceProvider == null)
{ {
throw new InvalidOperationException(SqlTools.Hosting.SR.ServiceProviderNotSet); throw new InvalidOperationException(SR.ServiceProviderNotSet);
} }
return ServiceProvider.GetService<ObjectExplorerService>() return ServiceProvider.GetService<ObjectExplorerService>()
?? throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, ?? throw new InvalidOperationException(SR.ServiceNotFound(nameof(ObjectExplorerService)));
SqlTools.Hosting.SR.ServiceNotFound, nameof(ObjectExplorerService)));
} }
/// <summary> /// <summary>
@@ -196,7 +194,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
} }
/// <summary> /// <summary>
/// Ensures the server objects connection context is open. This is used by all child objects, and /// Ensures the server objects connection context is open. This is used by all child objects, and
/// the only way to easily access is via the server object. This should be called during access of /// the only way to easily access is via the server object. This should be called during access of
/// any of the object properties /// any of the object properties
/// </summary> /// </summary>