diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs
index 7490b33c..31d0026d 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs
@@ -14,6 +14,9 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
///
public class ConnectionInfo
{
+ ///
+ /// Constructor
+ ///
public ConnectionInfo(ISqlConnectionFactory factory, string ownerUri, ConnectionDetails details)
{
Factory = factory;
@@ -27,12 +30,24 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
///
public Guid ConnectionId { get; private set; }
+ ///
+ /// URI identifying the owner/user of the connection. Could be a file, service, resource, etc.
+ ///
public string OwnerUri { get; private set; }
+ ///
+ /// Factory used for creating the SQL connection associated with the connection info.
+ ///
public ISqlConnectionFactory Factory {get; private set;}
+ ///
+ /// Properties used for creating/opening the SQL connection.
+ ///
public ConnectionDetails ConnectionDetails { get; private set; }
+ ///
+ /// The connection to the SQL database that commands will be run against.
+ ///
public DbConnection SqlConnection { get; set; }
}
}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectMessages.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectMessages.cs
deleted file mode 100644
index 543b18f5..00000000
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectMessages.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-using Microsoft.SqlTools.ServiceLayer.Hosting.Protocol.Contracts;
-
-namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
-{
- ///
- /// Parameters for the Connect Request.
- ///
- public class ConnectParams
- {
- ///
- /// A URI identifying the owner of the connection. This will most commonly be a file in the workspace
- /// or a virtual file representing an object in a database.
- ///
- public string OwnerUri { get; set; }
- ///
- /// Contains the required parameters to initialize a connection to a database.
- /// A connection will identified by its server name, database name and user name.
- /// This may be changed in the future to support multiple connections with different
- /// connection properties to the same database.
- ///
- public ConnectionDetails Connection { get; set; }
- }
-
- ///
- /// Message format for the connection result response
- ///
- public class ConnectResponse
- {
- ///
- /// A GUID representing a unique connection ID
- ///
- public string ConnectionId { get; set; }
-
- ///
- /// Gets or sets any connection error messages
- ///
- public string Messages { get; set; }
- }
-
- ///
- /// Provides high level information about a connection.
- ///
- public class ConnectionSummary
- {
- ///
- /// Gets or sets the connection server name
- ///
- public string ServerName { get; set; }
-
- ///
- /// Gets or sets the connection database name
- ///
- public string DatabaseName { get; set; }
-
- ///
- /// Gets or sets the connection user name
- ///
- public string UserName { get; set; }
- }
-
- ///
- /// Message format for the initial connection request
- ///
- public class ConnectionDetails : ConnectionSummary
- {
- ///
- /// Gets or sets the connection password
- ///
- ///
- public string Password { get; set; }
-
- // TODO Handle full set of properties
- }
-
- ///
- /// Connect request mapping entry
- ///
- public class ConnectionRequest
- {
- public static readonly
- RequestType Type =
- RequestType.Create("connection/connect");
- }
-}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectParams.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectParams.cs
new file mode 100644
index 00000000..31dad8c5
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectParams.cs
@@ -0,0 +1,26 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Parameters for the Connect Request.
+ ///
+ public class ConnectParams
+ {
+ ///
+ /// A URI identifying the owner of the connection. This will most commonly be a file in the workspace
+ /// or a virtual file representing an object in a database.
+ ///
+ public string OwnerUri { get; set; }
+ ///
+ /// Contains the required parameters to initialize a connection to a database.
+ /// A connection will identified by its server name, database name and user name.
+ /// This may be changed in the future to support multiple connections with different
+ /// connection properties to the same database.
+ ///
+ public ConnectionDetails Connection { get; set; }
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectMessagesExtensions.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectParamsExtensions.cs
similarity index 64%
rename from src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectMessagesExtensions.cs
rename to src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectParamsExtensions.cs
index d15adae6..b9e73e09 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectMessagesExtensions.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectParamsExtensions.cs
@@ -27,23 +27,4 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
);
}
}
-
- ///
- /// Extension methods to ConnectionSummary
- ///
- public static class ConnectionSummaryExtensions
- {
- ///
- /// Create a copy of a ConnectionSummary object
- ///
- public static ConnectionSummary Clone(this ConnectionSummary summary)
- {
- return new ConnectionSummary()
- {
- ServerName = summary.ServerName,
- DatabaseName = summary.DatabaseName,
- UserName = summary.UserName
- };
- }
- }
}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectResponse.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectResponse.cs
new file mode 100644
index 00000000..c325c64f
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectResponse.cs
@@ -0,0 +1,23 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Message format for the connection result response
+ ///
+ public class ConnectResponse
+ {
+ ///
+ /// A GUID representing a unique connection ID
+ ///
+ public string ConnectionId { get; set; }
+
+ ///
+ /// Gets or sets any connection error messages
+ ///
+ public string Messages { get; set; }
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedNotification.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedNotification.cs
new file mode 100644
index 00000000..c0daee6d
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedNotification.cs
@@ -0,0 +1,19 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using Microsoft.SqlTools.ServiceLayer.Hosting.Protocol.Contracts;
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// ConnectionChanged notification mapping entry
+ ///
+ public class ConnectionChangedNotification
+ {
+ public static readonly
+ EventType Type =
+ EventType.Create("connection/connectionchanged");
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedMessages.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedParams.cs
similarity index 68%
rename from src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedMessages.cs
rename to src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedParams.cs
index 94454bc5..3db86f34 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedMessages.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionChangedParams.cs
@@ -3,8 +3,6 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
-using Microsoft.SqlTools.ServiceLayer.Hosting.Protocol.Contracts;
-
namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
{
///
@@ -22,15 +20,4 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
///
public ConnectionSummary Connection { get; set; }
}
-
- ///
- /// ConnectionChanged notification mapping entry
- ///
- public class ConnectionChangedNotification
- {
- public static readonly
- EventType Type =
- EventType.Create("connection/connectionchanged");
- }
-
}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs
new file mode 100644
index 00000000..0acac867
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs
@@ -0,0 +1,21 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Message format for the initial connection request
+ ///
+ public class ConnectionDetails : ConnectionSummary
+ {
+ ///
+ /// Gets or sets the connection password
+ ///
+ ///
+ public string Password { get; set; }
+
+ // TODO Handle full set of properties
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionRequest.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionRequest.cs
new file mode 100644
index 00000000..50251e12
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionRequest.cs
@@ -0,0 +1,19 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using Microsoft.SqlTools.ServiceLayer.Hosting.Protocol.Contracts;
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Connect request mapping entry
+ ///
+ public class ConnectionRequest
+ {
+ public static readonly
+ RequestType Type =
+ RequestType.Create("connection/connect");
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionSummary.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionSummary.cs
new file mode 100644
index 00000000..11549e85
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionSummary.cs
@@ -0,0 +1,28 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Provides high level information about a connection.
+ ///
+ public class ConnectionSummary
+ {
+ ///
+ /// Gets or sets the connection server name
+ ///
+ public string ServerName { get; set; }
+
+ ///
+ /// Gets or sets the connection database name
+ ///
+ public string DatabaseName { get; set; }
+
+ ///
+ /// Gets or sets the connection user name
+ ///
+ public string UserName { get; set; }
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionSummaryExtensions.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionSummaryExtensions.cs
new file mode 100644
index 00000000..02bc7623
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionSummaryExtensions.cs
@@ -0,0 +1,26 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Extension methods to ConnectionSummary
+ ///
+ public static class ConnectionSummaryExtensions
+ {
+ ///
+ /// Create a copy of a ConnectionSummary object
+ ///
+ public static ConnectionSummary Clone(this ConnectionSummary summary)
+ {
+ return new ConnectionSummary()
+ {
+ ServerName = summary.ServerName,
+ DatabaseName = summary.DatabaseName,
+ UserName = summary.UserName
+ };
+ }
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectMessages.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectParams.cs
similarity index 63%
rename from src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectMessages.cs
rename to src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectParams.cs
index c078b308..91bc7faf 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectMessages.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectParams.cs
@@ -3,8 +3,6 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
-using Microsoft.SqlTools.ServiceLayer.Hosting.Protocol.Contracts;
-
namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
{
///
@@ -18,14 +16,4 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
///
public string OwnerUri { get; set; }
}
-
- ///
- /// Disconnect request mapping entry
- ///
- public class DisconnectRequest
- {
- public static readonly
- RequestType Type =
- RequestType.Create("connection/disconnect");
- }
}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectRequest.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectRequest.cs
new file mode 100644
index 00000000..cbf67ef2
--- /dev/null
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/DisconnectRequest.cs
@@ -0,0 +1,19 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using Microsoft.SqlTools.ServiceLayer.Hosting.Protocol.Contracts;
+
+namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
+{
+ ///
+ /// Disconnect request mapping entry
+ ///
+ public class DisconnectRequest
+ {
+ public static readonly
+ RequestType Type =
+ RequestType.Create("connection/disconnect");
+ }
+}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/IntellisenseCache.cs b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/IntellisenseCache.cs
index ca4c155a..eea72771 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/IntellisenseCache.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/IntellisenseCache.cs
@@ -14,14 +14,17 @@ using Microsoft.SqlTools.ServiceLayer.Workspace.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.LanguageServices
{
-
internal class IntellisenseCache
{
- // connection used to query for intellisense info
+ ///
+ /// connection used to query for intellisense info
+ ///
private DbConnection connection;
- // number of documents (URI's) that are using the cache for the same database
- // the autocomplete service uses this to remove unreferenced caches
+ ///
+ /// Number of documents (URI's) that are using the cache for the same database.
+ /// The autocomplete service uses this to remove unreferenced caches.
+ ///
public int ReferenceCount { get; set; }
public IntellisenseCache(ISqlConnectionFactory connectionFactory, ConnectionDetails connectionDetails)