Commit Graph

102 Commits

Author SHA1 Message Date
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
Karl Burtram
62525b9c98 Add IntelliSense binding queue (#73)
* Initial code for binding queue

* Fix-up some of the timeout wait code

* Add some initial test code

* Add missing test file

* Update the binding queue tests

* Add more test coverage and refactor a bit.  Disable reliabile connection until we can fix it..it's holding an open data reader connection.

* A few more test updates

* Initial integrate queue with language service.

* Hook up the connected binding queue into al binding calls.

* Cleanup comments and remove dead code

* More missing comments

* Fix build break.  Reenable ReliabileConnection.

* Revert all changes to SqlConnectionFactory

* Resolve merge conflicts

* Cleanup some more of the timeouts and sync code

* Address code review feedback

* Address more code review feedback
2016-10-04 14:55:59 -07:00
Benjamin Russell
1b8e9c1e86 Lingering File Handles (#71)
Fixing a bug where in various situations, the files used for temporary storage of query results would be leftover. In particular, the following changes were made:
* When the dispose query request is submitted, the corresponding query is now disposed in addition from being removed from the list of active queries
* When a query is cancelled, it is disposed after it is cancelled
* If a query already exists for a given ownerURI, the existing query is disposed before creating a new query
* All queries are disposed when the query execution service is disposed (ie, at shutdown of the service)

A unit test to verify the action of the dispose method for a ResultSet was added.

* Ensuring queries are disposed

Adding logic to dispose any queries when:
* URI that already has a query executes another query
* A request to dispose a query is submitted
* A request to cancel a query is submitted

* Small tweaks for cleanup of query execution service
2016-10-03 11:35:58 -07:00
Karl Burtram
f16d0104d0 Bump SMO to 14.0.7 to pick Batchparser updates (#72)
...bumping versions.  No review needed.
2016-09-30 15:50:38 -07:00
Sharon Ravindran
20b64eadbf Feature/save selection (#64)
* Save selection

* Add tests

* Change filename in test

* Code cleanup

* Refactor handler

* Code cleanup

* Modify tests to have query selection

* Change variable declaration
2016-09-30 13:48:37 -07:00
Anthony Dresser
d451447ebc Feature/timestamp messages (#68)
* added support for timestamps

* fixed tests

* Moved message class to own file; added 'z' to end of date strings

* added default time constructor

* removed unnecessary z

* added time string format info in comment

* changed from utc time to using local time
2016-09-30 11:46:32 -07:00
Karl Burtram
3777cceb57 Enable Quick Info hover tooltips (#65)
Pushing to include in tomorrow's partner release build.  Please send me any feedback and I'll address in the next Intellisense PR.
2016-09-26 20:11:26 -07:00
Karl Burtram
8b6e15a43b Bump SMO to 140.1.6 to pick up perf fixes (#69) 2016-09-26 16:21:00 -07:00
Brian O'Neill
57278d9322 Do not use ReliableCommand in the query execution service (#66)
* Do not use ReliableCommand in the query execution service.

* Fixing the logic to remove InfoMessage handlers from ReliableSqlConnection

* Adding test to query UDT
2016-09-26 15:42:48 -07:00
Karl Burtram
5a198e3f45 Remove task.wait from test to avoid break on build machine. (#67)
This is to fix test breaks so I'll merge now.  Please let me know if there are comments on this commit.
2016-09-26 10:29:49 -07:00
Karl Burtram
806220c4b5 Feature/autocomp options (#63)
* Enable IntelliSense settings

* Fix up some bugs in the IntelliSense settings.

* Code cleans for PR

* Fix a couple exceptions that are breaks query execute and intellisense.

* Add useLowerCase flag and settings tests
2016-09-25 12:53:28 -07:00
Anthony Dresser
f22c8a7283 Feature/batch line info (#56)
* inital pipe of line numbers and getting text from workspace services

* tests compile

* Fixed bug regarding tests using connections on mac

* updated tests

* fixed workspace service and fixed tests

* integrated feedback
2016-09-22 17:58:45 -07:00
Benjamin Russell
93a75f1ff4 Format Cell Values (#62)
* WIP for ability to localize cell values

* Changing how DateTimeOffsets are stored, getting unit tests going

* Reworking BufferFileStreamWriter to use dictionary approach

* Plumbing the DbCellValue type the rest of the way through

* Removing unused components to simplify contract

* Cleanup and making sure byte[] appears in parity with SSMS

* CR comments, small tweaks for optimizing LINQ
2016-09-22 12:00:32 -07:00
Karl Burtram
159362f01b Disable failing test while investigating 2016-09-20 23:52:31 -07:00
Benjamin Russell
8f4caa80c2 Fixing bug with incorrect row count returned (#58) 2016-09-20 21:04:22 -07:00
Karl Burtram
701aba8d46 Add some tests to increase code coverage metrics 2016-09-19 18:21:48 -07:00
Karl Burtram
30a6fdd26c Fix Connection tests break 2016-09-19 12:35:59 -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
Sharon Ravindran
55047a0196 Save results to JSON file (#49)
* Save results to JSON file

* Code cleanup

* Code review changes

*  Changed comment
2016-09-14 16:43:10 -07:00
Karl Burtram
2fbe39b637 Make the log file name unique per session (#50)
* Make the log file name unique per session

* Try to use PID for unique ID
2016-09-14 12:30:16 -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
Karl Burtram
1671f762bf Autocomplete bug fixes (#43)
Fix-up the autocomplete support to better handle binding timeouts.
Also provide a default keyword suggestion list.
2016-09-13 15:22:57 -07:00
Karl Burtram
222f9364d8 Jenkins code coverage integration (#47) 2016-09-12 22:05:45 -07:00
Karl Burtram
f94a1dea05 Merge pull request #46 from Microsoft/bug/hangingTest
Very small fix that addresses a hanging unit test
2016-09-12 21:20:17 -07:00
Benjamin Russell
47eaa30e69 Very small fix that addresses a hanging unit test
For whatever reason, launching a the HandleRequestSubsetRequest causes the
unit test to hang at the process of starting a new Task. This only appears
to happen on our build server (which runs Win2K12R2), which suggests a bug
with dotnet or XUnit. But, I've worked around it by changing that specific
unit test to be async/await and not use .Wait calls.
2016-09-12 17:21:00 -07:00
Sharon Ravindran
0bd084d9f1 Feature/save results as csv (#33)
* Code changes to save results as csv

*  changes to save resultset as csv

* removed csvHelper

* Retrieve right resultSet after batch execution]

* code clean up

* encode column names and use string.Join

* code review changes - property fix and rowBuilder removal

* changes to fix execution tests

* Code clean up

* Code clean up

* Test save as CSV

* Fix tests for Mac/Linux

* Add doc comment

* Add doc comments

* Delete file if exception occurs
2016-09-12 17:11:46 -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
Benjamin Russell
9e492f19f9 Fixing broken OSX unit test caused by inability to hide files on unix (#41) 2016-09-09 15:02:45 -07:00
Benjamin Russell
8aa3d524fc Feature: Writing Execute Results to Temp File (#35)
* WIP for buffering in temporary file

* Adding support for writing to disk for buffering

* WIP - Adding file reader, factory for reader/writer

* Making long list use generics and implement IEnumerable

* Reading/Writing from file is working

* Removing unused 'skipValue' logic

* More tweaks to file buffer

Adding logic for cleaning up the temp files
Adding fix for empty/null column names

* Adding comments and cleanup

* Unit tests for FileStreamWrapper

* WIP adding more unit tests, and finishing up wiring up the output writers

* Finishing up initial unit tests

* Fixing bugs with long fields

* Squashed commit of the following:

commit df0ffc12a46cb286d801d08689964eac08ad71dd
Author: Benjamin Russell <beruss@microsoft.com>
Date:   Wed Sep 7 14:45:39 2016 -0700

    Removing last bit of async for file writing.

    We're seeing a 8x improvement of file write speeds!

commit 08a4b9f32e825512ca24d5dc03ef5acbf7cc6d94
Author: Benjamin Russell <beruss@microsoft.com>
Date:   Wed Sep 7 11:23:06 2016 -0700

    Removing async wrappers

* Rolling back test code for Program.cs

* Changes as per code review

* Fixing broken unit tests

* More fixes for codereview
2016-09-08 17:55:11 -07:00
Kevin Cunnane
8ca88992be Credentials store API (#38)
* CredentialService initial impl with Win32 support

- Basic CredentialService APIs for Save, Read, Delete
- E2E unit tests for Credential Service
- Win32 implementation with unit tests

* Save Password support on Mac v1

- Basic keychain support on Mac using Interop with the KeyChain APIs
- All but 1 unit test passing. This will pass once API is changed, but checking this in with the existing API so that if we decide to alter behavior, we have a reference point.

* Remove Username from Credentials API

- Removed Username option from Credentials as this caused conflicting behavior on Mac vs Windows

* Cleanup Using Statements and add Copyright

* Linux CredentialStore Prototype

* Linux credential store support

- Full support for Linux credential store with tests

* Plumbed CredentialService into Program init

* Addressing Pull Request comments
2016-09-06 18:12:39 -07:00
Mitchell Sternke
76e7ea041c Merge pull request #37 from Microsoft/bug/integratedSecurityDefault
Removed cases where we set integrated security by default
2016-09-06 17:14:23 -07:00
Mitchell Sternke
4b35d77214 Removed cases where we set integrated security by default to fix linux issue 2016-09-02 17:53:02 -07:00
Mitchell Sternke
f6f59f3453 Merge branch 'dev' into feature/connectionChanged 2016-09-02 16:58:59 -07:00
Mitchell Sternke
93bf2af8bb Fire connection changed event when USE statements are executed 2016-09-02 16:43:32 -07:00
Karl Burtram
baebaeb0c4 Merge pull request #34 from Microsoft/feature/testSmo
Enable SMO-based autocomplete
2016-09-02 12:02:31 -07:00
Karl Burtram
1b7e27fe76 Get SqlConnection from casting DbConnection 2016-09-02 11:41:41 -07:00
Karl Burtram
e5367416b8 Merge branch 'dev' into feature/testSmo 2016-09-01 09:59:20 -07:00
Karl Burtram
e003bb3023 Fix nuget.config to pull from offical Nuget.org feed 2016-09-01 09:59:02 -07:00
Karl Burtram
1332fd112e Clean-up the autocomplete SMO integration. 2016-09-01 00:23:39 -07:00
Mitchell Sternke
a30ff33187 Addressing code review feedback 2016-08-31 16:04:04 -07:00
Karl Burtram
013498fc3d Setup code coverage to be runable on demand 2016-08-31 16:01:24 -07:00
Karl Burtram
f88619c09e Update unit tests to fix failures from autocomplete refactoring 2016-08-31 12:25:07 -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
Karl Burtram
b8329a7986 Merge branch 'dev' into feature/testSmo 2016-08-24 23:04:24 -07:00
Karl Burtram
89ca0c1fde Inital SMO autocomplete commit 2016-08-24 23:03:43 -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
Leila Lali
02518e022e Merge pull request #30 from Microsoft/feature/languageclient20
Upgrading to language server protocol 2.0
2016-08-24 16:02:27 -07:00
Benjamin Russell
df1772ff45 Merge pull request #25 from Microsoft/feature/queryBatchProcessing
Feature: Batch Separator Support for Query Execution
2016-08-24 15:28:32 -07:00
Benjamin Russell
0371e17028 Changes to fix code review comments and bug with handling empty batches 2016-08-24 15:25:13 -07:00