* Part1 : Changes to make cmdcmd script to work with parameters in script
* Stop SQL intellisense for SQLCMD
* Adding test for Intellisense handling of SQLCMD page
* Removing unintentional spacing changes caused by formatting
* Updating with smaller CR comments. Will discuss regarding script vs other options in batch info
* Removing unintentional change
* Adding latest PR comments
* Fix serialization tests & don't block thread
- Fixed potential null ref when closing streams
- Always clean up serialization queue if an error occurs
- Stop blocking dispatcher thread by not awaiting task that processes the message
- Improved error logging in EventFlowValidator to help debug issues
- Close stream on exception
* updating dacfx with private nuget for testing
* Updating to real dacfx-preview version
* Removing additional refs added by nuget package manager (these were not there previously)
Added a method that handles serialization requests
Support splitting save over multiple requests to reduce overall message size
Added unit tests
String changes used a new version of the string tool for generation.
Will publish PR separately for the changes to build & localization
so this can run on Mac without .Net Core 1.0
* Adding ICompletionExtension interface
* Adding extension loading and execution logic
* Fixing compilation error in VS 2017
* Using MEF for completion extension discovery
* using await on GetCompletionItems
* Adding an integration test for completion extension and update the completion extension interface
* Update the completion extension test
* Fix issues based on review comments
* Remove try/cache based on review comments, fix a integration test.
* More changes based on review comments
* Fixing SendResult logic for completion extension loading
* Only load completion extension from the assembly passed in, add more comments in the test
* Adding right assert messages in the test.
* More fixes based on review comments
* Dropping ICompletionExtensionProvider, load assembly only if it's loaded at the first time or updated since last load.
* Fix based on the latest review comments
* Adding missing TSQL functions in default completion list
* Update jsonrpc documentation for completion/extLoad
* Fix Schema compare Publish and Script generation task to return back error messages correctly.
* Elaborating test a bit more to cover tasks
* Validate one task at a time for better clarity
* send back only errors not whole messages since task view doesnt have a good way (other than hover text) to show long messages
* Fixing the negative test cases
* First cut of scmp Save related changes and some test refactoring
* Adding Exclude/Include objects in saving
* Add diff entry validation as part of test
* Adding PR comments - major change is change to nameparts in place of name hence preserving any "."/"[" in name and avoiding any string operations
* One more UT scenario addition for create excluded object
* initial open scmp changes
* more open scmp changes and adding tests
* moving some common test code
* simplify endpoint info parsing
* addressing comments and moving more common test code
* addressing comments
* Adding some default values to match DacFx deploy Extension and other tools. This help the default behavior but doesn't fix the issue.
* Fixing a test for default values and adding comment
* fixing the order of setting backup properties so that they are correctly propogated to actual action
* Adding a backup type specific test and enabling 'few' old ones which seem to work consistentenly
* Adding finally block, close connection and name change as per PR comments
* Initial code for Including/Excluding individual changes (no tests added yet)
* Adding Exclude include tests. Default options call and additional options tests.
* Taking PR comments
* Retry in test for reliability
* Fix for : 4045: Cannot cancel a Query. Query runs too long.
HandleExecuteRequest was returning a task to awaiter - which was getting waited on. changed it to async function to start task in new thread and return nothing to awaiter . Also the cancellation token set by cancel request was getting checked only after making the connection to execute batches. Added an additional check for cancellation token befor the connection has been made.
Fix for 4319: Error showing dbs when using AAD in... 1.5.0-alpha.74
David has already created a new version of SMO nuget with the fix. - incorporating the same (150.18096.0-preview).
* Adding awaitable internal task for tests to run properly
* Adding more cancel tests
* successfully sends list of differences to ADS
* bumping dacfx nuget package version
* add second schema compare try for case when first db to db comparison fails but works on second try
* move schemacompare out of dacfx folders
* capitalizing
* more capitalizing
* addressing comments
* First cut of CMS get Server Api - returns only names
* Adding Proper naming and some more functions
* Adding add remove Server and tests for it
* Changing relative path to derive from KeyChain.Urn and Nuget update
* Adding async thread for requests
* Addressing CR comments and adding one more test
* Adressed PR comments around naming
* initial adding upgrade plan
* upgrade plan request from ADS works
* now data loss operations are returned
* fixes after rebasing
* refactoring to use GenerateDeployPlan instead of UpgradePlan
* improving test
* Addressing comments
* changing abstract execute to virtual
* changed GenerateDeployPlanOepration to use Execute()
* addressing comments
* simplyfing deploy options
* adding deploy options to deploy and generate script operations
Fixes:
The streaming protocol is now tightened to ensure that only the last message for a result set contain isCompleted=true. Now isCompleted=true is never sent in isAvailable message.
Tightened logic in sending messages to make sure that no duplicate messages get sent out due to concurrent processing.
Made a fix to a null reference exception when processing special action which was a pre-existing benign bug.
Testing: Added 1 more new test that runs existing tests concurrently 1000 times to make sure no random timing issues are observed and tightened verifications to existing tests to ensure no duplicate messages and only one isComplete=true message is sent across.
* tightening the protocal to ensure only one message (the last one) with completed=true is sent back for a single result set within a query batch
This changes adds the following two notifications from the results processing within a batch. These new notifications allows a consumer to stream results from a resultset instead of getting them all at once after the entire resultset has been fetched.
ResultsAvailable
This is issued after at least 1 row has been fetched for this resultset.
ResultsUpdated
This is issued periodically as more rows are available on this resultset. The final send of this notification when all rows have been fetched has the property 'Complete' set to true in the ResultSummary object.
Detailed Change Log:
* Initial completed implementation of QueryResults stream feature. 3 unittests still need fixing
* Fix for the 3 failing test. I will look into making MockBehavior strict again for the three tests later
* Making GetReader/GetWriter use filestream objects in FileShare.ReadWrite mode so the file can be concurrently read and written
* Changing resultsAvailable also to fire off on a timer instead of after 1st row
* adding a project for clr TableValuedFunction to produce result set with delays after each row. This is helpful in end to end testing.
* Fixing up some tests and simplifying implementation of result update timer
* Address review comments
* Some test fixes
* Disabled flaky test verification