59 Commits
Author SHA1 Message Date
Benjamin Russell 01c414a65a Fixing backup service tests that utilized the file browser service host 2017-10-19 14:52:00 -07:00
Benjamin Russell 4016a05b48 Actually fixing the service host requirements by using the EventFlowValidator 2017-10-19 14:39:20 -07:00
Benjamin Russell 639cd91fe2 Moving event flow validatior into test.common 2017-10-19 14:27:37 -07:00
Benjamin Russell 189612ce57 Fixing derived exception issue in workspace test 2016-11-10 12:04:35 -08:00
Benjamin Russell 9ff9a02932 Fixing derived exception issue in workspace test 2016-11-10 11:09:35 -08: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
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
Benjamin Russell b4460332af Merge branch 'dev' 2016-09-09 17:18:25 -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
Benjamin Russell 062c40368d Adding support for query cancellation
Query cancellation support is added via CancellationToken mechanisms that
were implemented previously. This change adds a new request type
"query/cancel" that will issue the cancellation token. Unit tests were
also added.
2016-08-15 15:23:07 -07:00
Benjamin Russell 1acc8c9122 Fixing up error logging
Fixing issue where plaintext passwords could be written to logs
Fixing up todo issues where error events needed to be passed back from the
service layer when the hosting component fails.
2016-08-12 17:38:41 -07:00
Benjamin Russell ba144bd5d0 Unit tests for the message reader 2016-08-12 17:37:07 -07:00
Benjamin Russell fe79f6e85c Fixing infinite exception loop bug
Fixing issue where submitting a malformed JSON RPC request results in the
message reader entering into an infinite loop of throwing and catching
exceptions without reading anything from the input stream.

At the same time, this change also fixes a potential memory leak where the
message read buffer is never reinstantiated or shrunk. This issue is fixed
by shifting buffer contents after a message was read successfully, or if
an error occurs during parsing.
2016-08-12 15:37:16 -07:00
Benjamin Russell c596a0db7a Small tweaks to query execution
* Adding comments where missing
* Adding "# rows affected" only if there was 0 or more
2016-08-11 17:41:18 -07:00
Benjamin Russell 9890e828bd Adding unit tests to the updated message mechanism 2016-08-11 16:39:33 -07:00
Benjamin Russell 1be4daf41d Adding enhanced support for messages from server
* Adding error flag for Query class
* Adding message capture for messages from server (using SqlConnection
cast)
* Adding better handling of SELECT queries with 0 results
* Adding affected row count message
* Adding SqlError unwrapping (using SqlException cast)
* Removing DbException handling from QueryExecutionService and into Query
class
2016-08-11 15:45:59 -07:00
Benjamin Russell a2983539a7 Merge branch 'feature/queryExecutionV1' into dev 2016-08-10 16:55:22 -07:00
Benjamin Russell 793ad383c1 Small bug fix for unit tests 2016-08-10 16:54:56 -07:00
Benjamin Russell 68c25f506e Adding changes as requested for code review 2016-08-10 16:40:36 -07:00
Benjamin Russell 8167330e16 Finishing up unit tests 2016-08-10 15:14:56 -07:00
Benjamin Russell 430860dd5d Merge branch 'dev' into feature/queryExecutionV1 2016-08-09 11:15:22 -07:00
Benjamin Russell d783fd505b Second batch of unit tests
Making slight changes to RequestContext to make it easier to mock
2016-08-09 11:10:54 -07:00
Benjamin Russell 9f371cd0bc Unit tests, part 1 2016-08-05 18:38:21 -07:00
Benjamin Russell a5582889bf Forgot to make corresponding changes in other files 2016-08-05 15:11:58 -07:00
Benjamin Russell a06003c966 Another change for @anthonydresser 2016-08-05 15:08:28 -07:00
Benjamin Russell 368a98c8e0 Quick fix for @anthonydresser 2016-08-05 14:55:59 -07:00
Benjamin Russell 315c1fd7b0 Merge branch 'feature/connectUsingService' into feature/queryExecutionV1 2016-08-05 11:22:52 -07:00
Benjamin Russell 0740e81dab Stub files for tests for query execution 2016-08-05 11:11:50 -07:00
Benjamin Russell 05e4c4f3a9 Final changes before V1 testing 2016-08-04 17:20:52 -07:00
Benjamin Russell 719a0f091a Merge branch 'feature/connectUsingService' into feature/queryExecutionV1 2016-08-04 16:11:48 -07:00
Benjamin Russell 3ba22c94ac WIP for QueryExecution, mostly complete 2016-08-04 14:48:58 -07:00
Benjamin Russell 1618b77790 Merge branch 'dev' into feature/queryExecutionV1 2016-08-03 15:42:26 -07:00
Benjamin Russell d191b0483c Small bugfix after the previous merge
My mistake, didn't pay enough attention when performing the refactoring as
requested in the last code review.
2016-08-03 15:41:11 -07:00
Benjamin Russell 92c1481f14 Merge branch 'dev' into feature/queryExecutionV1 2016-08-03 15:00:01 -07:00
Benjamin Russell 13fd97ef90 Fixing issues as per suggestions from @kevcunnane 2016-08-03 14:51:17 -07:00
Benjamin Russell da3d45a3e7 WIP for query execution 2016-08-03 14:27:53 -07:00
Benjamin Russell f1eebd989a Adding other global files as solution items 2016-08-03 14:27:09 -07:00
Benjamin Russell b2f44031b7 Switching from ISqlConnection to DbConnection
This is a fairly minor change that will save tons of time as we develop
this service. The DbConnection and associated Db* abstract classes
ask for synchronous versions of the code and allow the addition of async
code. The SqlClient implementation already implements Db* abstract
classes, so we can piggy back off that for our dependency injection layer.

Tests and existing code has been updated to handle the change, as well
2016-08-02 18:19:51 -07:00
Benjamin Russell f40aa31c67 Merge branch 'dev' into feature/queryExecutionV1
Also adding a fancy new mocked out reader for mocking db calls.
2016-08-01 14:27:57 -07:00
Benjamin Russell d53c0d3f45 Correcting InternalsVisibleTo attribute 2016-07-29 17:14:40 -07:00
Benjamin Russell e83d2704b9 Fixing project names to fix VS bugs
For whatever reason, Visual Studio throws a fit if a referenced project has a name
and the folder name (which is used to reference the project) is different than that name.
To solve this issue, I've renamed all the projects and folders to match their project
names as stated in the project.json.
2016-07-29 16:55:44 -07:00
Benjamin Russell d78c1947e0 Stubbing out connectionservice with guid id 2016-07-29 12:52:24 -07:00
Benjamin Russell bc0383b6e6 Expanding SqlConnection to be more like DBConnection
Also shifting the Connect operation to be async
2016-07-27 18:03:55 -07:00
Benjamin Russell 2ea5cf3457 Quick refactor of the connection service
Refactoring to match the layout of the other services.
2016-07-27 16:45:01 -07:00
Benjamin Russell b1f0453341 Merge branch 'dev' into feature/componentizeServiceHost 2016-07-25 16:34:51 -07:00
Benjamin Russell 639ab4f205 Small items for code review iteration
* Removing unused OutputType and OutputWrittenEventArgs classes
* Adding class comment blocks
* Tweaking a couple comment blocks as per @kcunanne comments
2016-07-25 13:33:04 -07:00
Benjamin Russell 6664de2252 Renaming callbacks to be more sane 2016-07-25 12:37:48 -07:00
Benjamin Russell 46032d3e2e Making singleton instances threadsafe 2016-07-25 12:15:03 -07:00
Benjamin Russell 31576d0731 Renaming namespaces to prevent issues with class names 2016-07-25 11:43:26 -07:00
Benjamin Russell bd83045a0a Applying refactor to test project
For some strange reason, the using statements don't seem to want to work
for the Message type. The full name has been used instead, but it's an
ugly workaround for the time being.
2016-07-22 16:56:34 -07:00
Benjamin Russell b9f041cdf4 The last 10% of the refactor
This will build successfully
2016-07-22 16:41:23 -07:00
Benjamin Russell 85668cb3de First major portion of refactor 90%
The overall architecture of the service host is completed here. However,
this doesn't build because the EditorSession dependencies haven't been
worked out just yet.
2016-07-22 11:49:50 -07:00
Benjamin Russell 5d776863d8 Moving the WorkspaceService contracts into a contract folder
I'm not convinced yet that this is the best place for these files, but it
will be ok for now.
This doesn't build
2016-07-21 16:53:53 -07:00
Benjamin Russell 9ec6265602 Separated LanguageServer into different components
LanguageServer ->
LanguageService - for any functionality that deals with parsing SQL
ServerService - for any functionality that is required to manage the
service layer
WorkspaceService - for any functionality that deals with managing the
state of the workspace, session, or text document

Namespace changes have not been applied yet, so this doesn't build yet.
2016-07-21 14:29:41 -07:00
Benjamin Russell eb25f56e64 Renaming all the namespaces for ServiceHost
Also wiring up the namespace changes to make the servicehost component
build.
NOTE: This will not build
2016-07-21 13:39:01 -07:00
Benjamin Russell f1e6b8a4e4 Changing the default namespace
... to better match the nomenclature we're using internally for the
difference between the UX and the Service Layer.
2016-07-21 12:17:53 -07:00
Benjamin Russell a7eb53cc06 Moving the MessageProtocol files into ServiceHost/Protocol
The contracts for the basic protocol have been moved into their own
/Protocol/Contracts folder. No code changes have been made to change the
namespaces or class names
2016-07-21 12:15:22 -07:00
Benjamin Russell 9edeb19946 Renaming the classes for the ServiceHost
NOTE: This is a WIP commit, it will not build
2016-07-21 12:00:53 -07:00
Benjamin Russell 1b592aeaef Moving LanguageServer to ServiceHost
NOTE: This is a WIP commit
2016-07-21 11:36:38 -07:00