Commit Graph

644 Commits

Author SHA1 Message Date
Karl Burtram
022282800a Move managed parser into its own project (test code coverage) (#774)
* Created New ManagedBatchParser project in .NetStandard

* Addressing PR Comments

* Resolve 'No Repository' warning.

* Move batch parser tests to integrations test project

* Fix SLN file
2019-02-07 20:13:03 -08:00
kisantia
0a172f3c8e Add DacFx Generate Deploy Plan Operation (#768)
* 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
2019-02-06 17:22:20 -08:00
Yurong He
9177a6be8b Fixed #3839 (#770)
Cloud doesn't have model.sys.assemblies. Also can't use three part naming to access. The workaround is changing the query to check if the cluster_endpoint_info exist or not
2019-01-28 21:20:42 -08:00
kisantia
1917100bfb Add DacFx Generate Deploy Script operation (#759)
* Adding DacFx Generate Deploy Script operation
2019-01-25 11:34:28 -08:00
Yurong He
adc13cff82 Unified connection support (#765)
* Added the query to get big data cluster endpoints
Added bigDataClusterEndpoints to ObjectExplorerSession
Added bigDataClusterEndpoints to ServerInfo
Fixes some tests.

* Removed bigDataClusterEndpoints from session

* Since server property to get IsBigDataCluster is not implemented yet, use query of sys.asseblies instead to unblock us. Need to use server property when it is available
Add options to ServerInfo, so no need to change the contract in the further when adding new properties. Will move the existing properties to option later

* Undo changes not needed

* Resolved PR comments.

* Fixed node is null exception when can't find NodePath.

* Added comments

* Removed not used using

* Catch sqlException for the reader of BDC endpoints and set empty list to the option.

* Added comments for returning empty nodes.
2019-01-24 20:06:35 -08:00
Alan Ren
7cc2636e6a Disconnect session (#764) 2019-01-16 22:03:18 -08:00
Arvind Ranasaria
5f6d500977 This change ensures that we send back only one 'isComplete=true' message for a given result set (#763)
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
2019-01-11 10:21:52 -08:00
Karl Burtram
0fd98df79b Update SqlClient to 4.6.0 (#761) 2019-01-07 16:22:35 -08:00
Aditya Bist
046563318a added ability to start at step (#758) 2018-12-06 17:34:48 -08:00
Arvind Ranasaria
e4808c12aa Feat/result streaming - Fix for issue #746 in toolsservice and issue Microsoft/azuredatastudio#3348 (#753)
* fix for issues 746 & azuredatastudio issue 3348

* test coverage improvement for results streaming

* addressed minor review comments

* adding generated file test/CodeCoverage/package-lock.json to workaround code coverage issue.
2018-12-04 20:49:05 -08:00
Matt Irvine
1a9a750fa8 Fix CodePages version issue (#752) 2018-11-29 16:37:59 -08:00
Karl Burtram
27bcb96597 Enable scripting for SQL Server 2019 (#751) 2018-11-29 15:56:06 -08:00
Thomas Struller-Baumann
b00f829317 Simplified code (#750) 2018-11-29 15:45:16 -08:00
Aditya Bist
2f1097028f Fixed update agent step (#748)
* fixed update step

* fix new step from edit job

* allowed to reorder steps in edit job
2018-11-29 10:47:57 -08:00
Thomas Struller-Baumann
87e8eb9ef6 Removed unnecessary IErrorDetectionStrategy (#749) 2018-11-29 10:45:58 -08:00
kisantia
d5fd968b3c DacFx import/export (#728)
Adding DacFx import/export/deploy/extract functionality
2018-11-27 16:10:46 -08:00
Karl Burtram
7a47db8806 Revert ""I have changed access modifier from Internal to Public . These classes are being refered outside. (#742)" (#747)
This reverts commit a54eff11b6.
2018-11-26 13:03:28 -08:00
NiranjanVirtuosity
a54eff11b6 "I have changed access modifier from Internal to Public . These classes are being refered outside. (#742) 2018-11-26 12:53:12 -08:00
Arvind Ranasaria
6dd9a4b5f1 Feat/result streaming (#721)
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
2018-11-26 10:24:54 -08:00
Alan Ren
c9885abb67 fix for https://github.com/Microsoft/azuredatastudio/issues/3262 (#741) 2018-11-16 21:20:58 -08:00
Karl Burtram
3c915a92f6 Send a Object Explorer session disconnect message on socket exceptions (#739)
* WIP

* WIP 2

* Send disconnect message o binding exception

* Add a try catch around the binding queue error handler
2018-11-16 12:07:05 -08:00
Matt Irvine
7f28f249de Add support for Azure Active Directory connections (#727) 2018-11-13 11:50:30 -08:00
Alan Ren
2cb7f682c5 fix for issue 3123 (#729)
* fix for issue 3123

* using seperate thread to handle the requests and fixed a typo
2018-11-08 14:48:27 -08:00
Aditya Bist
4f148a583b Agent/improvements (#720)
* add steps and schedules to edit job

* added alerts to edit data logic

* fixed c# style
2018-10-31 16:40:17 -07:00
Karl Burtram
adf10ece87 Wait for queued tasks to complete before processing subsequent tasks (#724) 2018-10-31 09:48:57 -07:00
Karl Burtram
df023da0ba Revert "Rollback SMO to latest 14.0 version (#722)" (#723)
This reverts commit 407e9feb40.
2018-10-30 17:20:25 -07:00
Karl Burtram
407e9feb40 Rollback SMO to latest 14.0 version (#722)
* Rollback SMO to latest 14.0 version

* Add back nunit package reference
2018-10-30 12:13:23 -07:00
Karl Burtram
2b6eeb19ab Update references to use non preview references (#718) 2018-10-24 17:23:23 -07:00
Karl Burtram
8460ce023d Only reopen connection on exception if it's closed (#717) 2018-10-24 15:55:27 -07:00
2966a53b70 Fix: DATETIMEOFFSET data types should be ISO formatted (#714) 2018-10-22 16:46:02 -07:00
Karl Burtram
a241a4510b Bump .Net Core SDK to 2.2.100 Preview (#715)
* Bump .Net Core SDK to 2.2

* Update travis file

* Try to fix broken AppVeyor code coverage
2018-10-22 15:54:17 -07:00
Arvind Ranasaria
1ef70ef259 Bug fix for https://github.com/Microsoft/azuredatastudio/issues/2923 and misc other fixes (#711) 2018-10-19 13:25:18 -07:00
Aditya Bist
0efed221ee Agent/improve steps (#710)
* added stepInfo for editing jobs/steps

* added schedules to history requests

* added alerts and schedules to history

* formatting

* code review comments

* removed smo import

* changed and optimized histories, steps, alerts and operators
2018-10-16 13:24:32 -07:00
Matt Irvine
8fe3d06068 Load properties used for OE node status by group instead of individually (#706) 2018-10-11 10:41:48 -07:00
Karl Burtram
7c1710d396 Reopen connections prior to creating query execution data readers (#704)
* Reopen connections prior to creating query execution data readers

* Reopen connection if an exception was rasied executing the query

* Fix unit tests
2018-10-08 12:41:04 -07:00
Matt Irvine
acf7634425 Clear OE node error message when populating children (#705) 2018-10-08 11:09:17 -07:00
Matt Irvine
f45155aa4a Fix OE and Binding Queue reliability bugs (#702) 2018-10-05 14:14:36 -07:00
Aditya Bist
6f69f7e303 Agent: Edit Job backend (#700)
* added stepInfo for editing jobs/steps

* added schedules to history requests

* added alerts and schedules to history

* formatting

* code review comments

* removed smo import
2018-10-04 13:52:08 -07:00
David Shiflet
f99061866c Upgrade SMO to 150 preview (#701)
* Switch to the unified SMO NuGet so all binaries are strong named and signed.

* use one AssemblyLoader instance for all loads

* Revert "use one AssemblyLoader instance for all loads"

This reverts commit 48c59ffd5c57152de281c87acdbcad7ddf7ab760.

* Stop creating multiple AssemblyLoadContext objects during composition, per https://github.com/dotnet/coreclr/issues/19632

* restore high entropyva property

* Improve the comment

* Update SMO to 150 and fix scripting for objects with a single quote in their name.

* restore newtonsoft reference
2018-10-03 18:33:40 -04:00
ranasaria
335e9fb38c Logging for ga (#698)
Adding a robustness change to call close on logger before process exit.
Also adding a designer.cs file needed by a script csproj that got missed out in previous checkin due to .gitignore entry.
2018-09-25 17:26:22 -07:00
AlexFsmn
41d0ef1814 Fixed correct value types when saving columns to a json file (#691) 2018-09-25 14:24:39 -07:00
ranasaria
09652cccd1 Enhanced Logging for sqltoolsservice (#695)
This change modifies the logging framework within sqltoolservice.
Moves away from custom Logger object to start using .Net tracing framework. It supports for the static Trace and TraceSource way of logging. For all new code it is recommend that we log the log messages using the existing static Logger class, while the code changes will continue to route the older Trace.Write* calls from the process to same log listeners (and thus the log targets) as used by the Logger class. Thus tracing in SMO code that uses Trace.Write* methods gets routed to the same file as the messages from rest of SQLTools Service code.
Make changes to start using .Net Frameworks codebase for all logging to unify our logging story.
Allows parameter to set tracingLevel filters that controls what kinds of message make it to the log file.
Allows a parameter to set a specific log file name so if these gets set by external code (the UI code using the tools service for example) then the external code is aware of the current log file in use.
Adding unittests to test out the existing and improved logging capabilities.


Sequences of checkins in development branch:
* Saving v1 of logging to prepare for code review. Minor cleanup and some end to end testing still remains
* Removing local launchSettings.json files
* added support for lazy listener to sqltoolsloglistener and removed incorrect changes to comments across files in previous checkin
* Converting time to local time when writing entries to the log
* move the hosting.v2 to new .net based logging code
* removing *.dgml files and addding them to .gitignore
* fixing typo of defaultTraceSource
* Addressing pull request feedback
* Adding a test to verify logging from SMO codebase
* propogating changes to v1 sqltools.hosting commandoptions.cs to the v2 version
* Fixing comments on start and stop callstack methods and whitespaces
* Commenting a test that got uncommented by mistake
* addding .gitattributes file as .sql file was observed to be misconstrued as a binary file
2018-09-24 23:55:59 -07:00
AlexFsmn
d8c088e0f6 Fixed correct max column labels for varbinary, nvarchar and varchar (#692) 2018-09-18 14:34:00 -07:00
Mustafa Sadedil
98018c5292 Save as XML feature added (#684)
Similar approach used like Save as JSON or Save as CSV.
2018-09-10 12:11:51 -07:00
Karl Burtram
066be2f46f Revert "Switch to the unified SMO NuGet" (#686)
* Revert "fixed perf tests and added more scenarios (#683)"

This reverts commit aa2b30f486.

* Revert "Switch to the unified SMO NuGet so all binaries are strong named and signed. (#682)"

This reverts commit 69961992bb.
2018-09-04 11:01:44 -07:00
David Shiflet
69961992bb Switch to the unified SMO NuGet so all binaries are strong named and signed. (#682) 2018-08-20 08:27:52 -04:00
Anthony Dresser
3c0a282333 Serialize Connection String (#680)
* add string serialization

* add unadded file

* changed code to be testable, added test

* moved test to correct location

* change to send undefined rather than error if the serialization fails

* update request name
2018-08-16 13:10:14 -07:00
Alan Ren
df3c312984 Fix for https://github.com/Microsoft/sqlopsstudio/issues/1317 (#681)
* Fix for https://github.com/Microsoft/sqlopsstudio/issues/1317

* formatting the code
2018-08-14 14:00:46 -07:00
Alan Ren
fb157520d9 fix for https://github.com/Microsoft/sqlopsstudio/issues/2066 (#677) 2018-08-10 16:28:01 -07:00
David Shiflet
5cdab53da8 Upgrade SMO packages to fix issue with scripting tables (#678)
* Upgrade SMO packages to fix issue with scripting tables when Script Dependencies is true on the script options.

* use linux style import with case matching file name
2018-08-09 08:11:18 -04:00