Commit Graph

20 Commits

Author SHA1 Message Date
Karl Burtram
f00136cffb Fix namespaces for code moved to separate class libraries (#263)
* Create ServiceHost a service-specific class

* Renaming hosting namespace

* Rename credentials namespace

* Fix namespaces
2017-03-02 14:41:06 -08:00
Connor Quagliana
c055c459a0 Update connection logic to handle multiple connections per URI (#176)
* Add CancelTokenKey for uniquely identifying cancelations of Connections associated with an OwnerUri and ConnectionType string.

* Update ConnectionInfo to use ConcurrentDictionary of DbConnection instances. Add wrapper functions for the ConcurrentDictionary. 

* Refactor Connect and Disconnect in ConnectionService.

* Update ConnectionService: Handle multiple connections per ConnectionInfo. Handle cancelation tokens uniquely identified with CancelTokenKey. Add GetOrOpenConnection() for other services to request an existing or create a new DbConnection.

* Add ConnectionType.cs for ConnectionType strings.

* Add ConnectionType string to ConnectParams, ConnectionCompleteNotification, DisconnectParams.

* Update Query ExecuteInternal to use the dedicated query connection and GetOrOpenConnection().

* Update test library to account for multiple connections in ConnectionInfo.

* Write tests ensuring multiple connections don’t create redundant data.

* Write tests ensuring database changes affect all connections of a given ConnectionInfo.

* Write tests for TRANSACTION statements and temp tables.
2017-01-18 17:59:41 -08:00
Mitchell Sternke
8408bc6dff Feature/connect cancel (#74)
* Implemented connection cancellation

* Made connect requests return immediately and created a separate connection complete notification

* Fix spelling

* Fix sorting

* Add separate lock for cancellation source map
2016-10-04 15:45:52 -07:00
Mitchell Sternke
803a19d716 Made connection errors more user-friendly (#57) 2016-09-21 11:59:03 -07:00
Benjamin Russell
41198e9357 Adding sr.strings file and removing hard-coded strings (#52)
* Strings sweep for connection service

* String sweep for credentials service

* String sweep for hosting

* String sweep for query execution service

* String sweep for Workspace service

* Renaming utility namespace to match standards

Renaming Microsoft.SqlTools.EditorServices.Utility to
Microsoft.SqlTools.ServiceLayer.Utility to match the naming changes done a
while back. Also renaming them on the files that use them

* Namespace change on reliable connection

* Adding the new resx and designer files

* Final bug fixes for srgen

Fixing flakey moq package name

* Removing todo as per @kevcunnane

* Adding using statements as per @llali's comment

* Fixing issues from broken unit tests

Note: This feature contains changes that will break the contract for
saving as CSV and JSON. On success, null is returned as a message instead
of "Success". Changes will be made to the vscode component to handle this
change.
2016-09-16 16:18:25 -07:00
Mitchell Sternke
f2a5654a20 Feature/reliable connection (#44)
* Initial commit of reliable connection port

* Made ReliableSqlConnection inherit from DbConnection instead of IDbConnection

* Cleanup

* Fixed autocomplete service to use reliable connection

* Fix copyright headers

* Renamed ConnectResponse.Server to ServerInfo

* Removed unused using

* Addressing code review feedback
2016-09-13 18:10:26 -07:00
Kevin Cunnane
14b6348b20 Connect should return actual DB Name (#42)
- On Connecting to a server with no DB specified, we will actually get a connection to Master or some default DB.
- This DB should be used when notifying others of a new connection, and when returning information to the caller so that the correct name can be displayed in the UI.
- Added basic unit tests to cover this scenario
2016-09-12 11:32:02 -07:00
Mitchell Sternke
a30ff33187 Addressing code review feedback 2016-08-31 16:04:04 -07:00
Mitchell Sternke
3fe6e330fe Added support for most sql connection string properties 2016-08-30 17:31:34 -07:00
Mitchell Sternke
015bb26d9a Merge branch 'dev' into feature/listDatabases 2016-08-25 16:52:35 -07:00
Mitchell Sternke
b4df9de238 Convert member to property 2016-08-24 16:06:40 -07:00
Mitchell Sternke
7d3d593a80 Added request to list databases on the server for the current connection 2016-08-24 16:03:08 -07:00
Mitchell Sternke
14399ede65 Added inner exceptions on connection failure and fixed a param validation bug 2016-08-22 16:26:02 -07:00
Mitchell Sternke
6ffdf644ba Addressing code review feedback 2016-08-16 15:27:26 -07:00
Mitchell Sternke
a6cc14d31f Cleaned up connection management code 2016-08-16 13:48:36 -07:00
Mitchell Sternke
f3231fba56 Addressing PR 14 feedback 2016-08-09 10:17:29 -07:00
Mitchell Sternke
5c03ba336d Added disconnect and connect when already connected service code 2016-08-05 17:46:16 -07:00
Mitchell Sternke
8fba793a46 Incremental checkin of connection work 2016-08-05 10:56:51 -07:00
Kevin Cunnane
402e25f77d Per editor Connect support v0.1
- Basic plumbing to support connections for a URI rather than global connections. Typical use case is editor requests to connect, but this isn't the only possible use
- Tests pass but need updating to cover new functionality, and re-enable AutoCompleteService test once there is a ServiceDiscovery component that registers and returns services. This is necessary as .Instance won't allow for dependency injection and proper testing.
2016-08-04 14:01:17 -07:00
Benjamin Russell
13fd97ef90 Fixing issues as per suggestions from @kevcunnane 2016-08-03 14:51:17 -07:00