Commit Graph

270 Commits

Author SHA1 Message Date
Karl Burtram
69bbb652da Add more code coverage tests. (#129) 2016-10-29 19:59:58 -07:00
Karl Burtram
ab1316b1fb Next batch of code coverage tests. (#128)
Auto-merging test-only changes.  Please review the commit and I'll make changes in next iteration.

* Add more tests to boast code coverage

* Add more reliable connection tests.
2016-10-29 15:34:51 -07:00
Karl Burtram
6cdaa6e808 Add more test cases for code coverage (#127)
Next round of code coverage test cases.  Please review the commit for next iteration.

* Add connection retry tests

* More test coverage

* Update diagnostics end-to-end test
2016-10-29 12:10:02 -07:00
Karl Burtram
f46fc0c787 Add additional test cases (#125)
Test-only changes for code coverage.  Please review the comment and I'll include the changes in the next iteration.

* Add more tests

* Add some more additional test cases
2016-10-28 20:33:32 -07:00
Sharon Ravindran
931235c604 Refactor error messages (#122) 2016-10-28 12:26:31 -07:00
Anthony Dresser
96c3e746ad change time when the batch time is set (#118) 2016-10-28 11:52:39 -07:00
Karl Burtram
9bd5839812 Add end-to-end language service tests. (#123)
Test-only code coverage changes.  Please review the commit and I'll follow-up on next iteration.
2016-10-28 01:04:48 -07:00
Karl Burtram
6b589f45bb Fix some typos in code coverage merge. 2016-10-27 19:00:06 -07:00
Karl Burtram
da84ae9f3b Code coverage improvements (#121)
These are test-only changes to improve code coverage so I'll merge directly.  Please review the commit and I'll pickup those changes in the next iteration.

* Add integration test batch file

* Exclude Linux and MacOS from Windows code coverage builds

* Enable code coverage for test driver e2e tests

* Use the windows only build for code coverage runs
2016-10-27 18:18:31 -07:00
Karl Burtram
d42a92dd94 Test fixes to enable integration suites 2016-10-26 22:44:21 -07:00
Karl Burtram
b0f7ba4084 Turn on disabled tests in integration suite (#120)
No real code changes, just reenabling disabled tests in integration test runs.
2016-10-27 05:00:14 +00:00
Karl Burtram
4bc490db7c Add switch for setting test build configuration (#119)
This is build config-only so I'm merging to get updated build tonight.
2016-10-27 04:32:57 +00:00
Mitchell Sternke
67d1d800a3 Test driver improvements (#117)
* Refactored the test driver to work with xunit in addition to the command line

* Fix behavior of property
2016-10-25 17:16:33 -07:00
Leila Lali
cac3ae5eeb changing the setting namespace (#116) 2016-10-25 17:09:42 -07:00
Karl Burtram
649ea7d05c Suggestion list cleanups (#115)
* Add additional autocomplete words

* Add another word to default completion list

* Add colorization keywords and fix minor bugs.
2016-10-25 17:21:37 +00:00
Karl Burtram
1d7e6e353f Feature/cleanups1 (#114)
* Intellisense cleanups.

* Additional intellisense cleanups for default list

* Add missing Monitor.Exit in completion resolve

* A couple more cleanups.

* Bug fixes for auto-complete.

* Add comment regarding conditional logic
2016-10-24 18:11:49 +00:00
Sharon Ravindran
2a688cb87f Make save result async (#107)
* Make save results asynchronous

* Prevent write share of file

* Lock objects in stages

* Create Save result objects

* refactor and write rows in batches

* CHange batchSize from test value

* Remove await in handler

* Removing the file reader as a member of the resultset

* Change Dispose to wait for save

* Change concurrentBag

* PascalCase variables

* Modify function signature and tests

* Safe file methods

* refactor ResultSets to Ilist and remove ToList

* Change dictionary key and prevent add to saveTasks during dispose

* Simplify row concatenation

* Fix prevent add

* Fix prevent add

* Add methods to expose saveTasks and isBeingDisposed
2016-10-21 20:07:21 -07:00
Mitchell Sternke
b389d275a2 Added test driver program for service host (#113)
* Added test driver program for service host

* Fix typo
2016-10-21 17:49:37 -07:00
Leila Lali
5a7b412c38 changed the icons for the completion list based on the sql type (#112)
* changed the icons for the completion list based on the sql type
2016-10-21 15:50:12 -07:00
Karl Burtram
854a6a0eca Switch back to event from locks to fix blocking issues. (#111) 2016-10-21 15:46:33 -07:00
Leila Lali
b3d793dc85 Fixed autocomplete bugs (#110)
Autocomplete for items with special characters doesn't add [ ]
Autocomplete default list shows when it shouldn't..like in comments or literals
2016-10-21 15:03:48 -07:00
Mitchell Sternke
f35b9fda27 Added option --enable-logging to enable diagnostic logging (#106)
* Added option --enable-logging to enable diagnostic logging

* Addressing feedback

* Addressing feedback, round 2
2016-10-20 17:56:33 -07:00
Benjamin Russell
989ad065dd Bug/srgen in lab builds (#109)
This isn't much of a change from the change that was backed out. The only change was a version bump of the SRGen nuget package.

* Reenabling running SRGen when running lab builds, improving failure logic, updating SRGen package

* Vbump for srgen package testing

* Final vbump of srgen package
2016-10-20 16:54:41 -07:00
Karl Burtram
fd7a2a5748 Bump SMO to 140.1.9 (#108)
version bump only
2016-10-20 14:57:40 -07:00
Benjamin Russell
34e9da6dbf Revert "Reenabling running SRGen when running lab builds, improving failure logic, updating SRGen package (#91)"
This reverts commit c14c7d187f.
2016-10-20 11:33:26 -07:00
sgreenmsft
aa5432d0be Sgreen/update messages (#97)
Update messages to fix typo and remove (s).
2016-10-19 14:55:09 -07:00
Benjamin Russell
2721de1de7 Fixing a broken unit test (#98) 2016-10-19 14:52:05 -07:00
Benjamin Russell
c14c7d187f Reenabling running SRGen when running lab builds, improving failure logic, updating SRGen package (#91) 2016-10-19 14:27:56 -07:00
Leila Lali
09c6c52292 disabling the language capabilities which we're not supporting this release (#100)
* disabling the language capabilities which we're not supporting this release
2016-10-19 14:27:03 -07:00
Karl Burtram
4ee6de63f5 Rollback build break from previous check-in (#105) 2016-10-19 13:04:02 -07:00
Benjamin Russell
11ca99f419 Handling NOCOUNT being set (#96)
After much thinking, this change brings the message behavior into line with SSMS, including if the NOCOUNT is set. This is a somewhat non-obvious solution, but the StatementCompleted event handler will only be fired if there is a record count to return. We'll add the message for number of records if the StatementCompleted event is fired, otherwise we won't add any messages while processing the resultsets of the batch. If any messages are returned from the server, we'll capture those. Then, if at the end of the batch, we haven't collected any messages from StatementCompleted events or server messages, then we'll add the "completed successfully" message.
This matches behavior of SSMS that will only emit a "completed successfully" message if there were no other messages for the batch.

* Solution to issue, some unit tests needed to be tweaked

* Comments for the event handler
2016-10-19 11:10:13 -07:00
Mitchell Sternke
b62f67607f Redefined ordering for list databases to be by name (#103) 2016-10-19 10:57:20 -07:00
Karl Burtram
b001f428bf Fix a binding causing autosuggestions to fail (#104) 2016-10-19 10:35:53 -07:00
Mitchell Sternke
a3335708c6 Feature/reliable connection tests (#102)
* Ported ReliableConnectionTests from DacFx and added a few more tests

* Fix style

* Created integration tests configuration and fixed minor test issue
2016-10-18 12:19:16 -07:00
Leila Lali
3443e9bcf7 fix the build issue in windows 2016-10-17 10:10:06 -07:00
Karl Burtram
c05dcbbc75 Use private SqlClient to fix UDT issue (#99)
This is only a version bump so I'm going to merge now to try and make Monday's build.
2016-10-15 22:35:34 -07:00
Benjamin Russell
2eeed98a63 Returning start/end and elapsed time with batch summaries (#92)
Returning start/end and elapsed timestamps for batches with the batch summary.
2016-10-13 12:14:22 -07:00
Karl Burtram
2f876714ed Disable test causing failures in lab builds (#93) 2016-10-12 19:58:04 -07:00
Benjamin Russell
fa7e13d9c5 Cancel Query Part 2 (#89)
Moving some logic around such that when a query is cancelled, it isn't thrown away, allowing reading of the partial results, a la SSMS.
Adding a configure await to fix a tenacious bug causing query cancellations to hang for 20s or more.
Capturing sql errors for user cancellation, to return all user cancelation scenarios using the same messages. (ie, cancelling during ExecuteReaderAsync will yield a error from the server whereas cancelling during ReadAsync throws a TaskCancelledException
No changes to protocol, just implementation changes.

* Test of try/finally

* Fixed issue where resultsets are unreadable after query cancellation

* Fix for await/async issue
2016-10-12 17:41:48 -07:00
Sharon Ravindran
71fabd5c75 Fix/merge xml rows (#85)
* Concatenate rows for 'for Xml' and 'for Json'

* Modify select

* remove get set for isSingleColumnXmlJsonResultSet

* Remove toList
2016-10-12 17:24:12 -07:00
Karl Burtram
c5f44ccee1 Switch from events to locks during parsing (#87)
* Switch from event to locks in binding.

* Remove unneeded null check.
2016-10-12 15:09:24 -07:00
Mitchell Sternke
9f39ac6014 Feature/sql exception bug check (#90)
* Added test for OSX/Linux to check for the SqlException error code bug in .NET core

* fix style

* closed summary
2016-10-12 14:00:33 -07:00
Benjamin Russell
253298b158 Removing SRGen from the publish task, making build.sh executable (#82) 2016-10-11 10:54:11 -07:00
Benjamin Russell
60edcc3057 Make query execution truly asynchronous (#83)
The two main changes in this pull request:
Launching query execution as an asynchronous task that performs a callback upon completion or failure of a query. (Which also sets us up for callbacks progressive results)
Moving away from using the Result of a query execution to return an error. Instead we'll use an error event to return an error
Additionally, some nice refactoring and cleaning up of the unit tests to take advantage of the cool RequestContext mock tooling by @kevcunnane

* Initial commit of refactor to run execution truely asynchronously

* Moving the storage of the task into Query class

Callbacks for completion of a query and failure of a query are setup as
events in the Query class. This actually sets us up for a very nice
framework for adding batch and resultset completion callbacks.

However, this also exposes a problem with cancelling queries and returning
errors -- we don't properly handle errors during execution of a query
(aside from DB errors).

* Wrapping things up in order to submit for code review

* Adding fixes as per comments
2016-10-11 10:51:52 -07:00
Mitchell Sternke
a2f2dd7b5e Disabled MARS by default (#88)
* Disabled MARS by default

* Addressing feedback

* Added check for unhandled ObjectDisposedException
2016-10-10 17:15:26 -07:00
Mitchell Sternke
8511f5db43 Fixed issue where mac connections would not time out as expected (#81)
* Fixed issue where mac connections would not time out as expected

* Made check specific to OSX

* Added check for linux
2016-10-10 17:14:24 -07:00
Leila Lali
a3089978e1 Setting the rpath for System.Security.Cryptography.Native.dylib at bu… (#84)
* Setting the rpath for System.Security.Cryptography.Native.dylib at build time for mac
2016-10-10 08:47:35 -07:00
Karl Burtram
f32b0290bb Remove extra level of tasks in binding queue (#79)
* Remove extra layer of tasks in binding queue

* Change order of assigning result to avoid race condition

* Add timeout log for the metadata lock event

* Fix test cases
2016-10-08 00:06:35 +00:00
sgreenmsft
03d7fd94c8 VSTS 8499785. Close SqlToolsService after VS Code exits. (#80)
VSTS 8499785. Close SqlToolsService after VS Code exits.
2016-10-07 16:30:54 -07:00
Sharon Ravindran
fea9bb43c5 Support 'for XML and for JSON' queries (#75)
* Set isXMl and isJson for 'for xml/json' resultSets

* Change string comparison

* Modify if-else
2016-10-06 11:35:29 -07:00