Commit Graph

58 Commits

Author SHA1 Message Date
Charles Gagnon
8ba59859dc Correct typo in NodeType for SecurityPolicy (#796) 2019-04-08 07:39:31 -07: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
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
Matt Irvine
8fe3d06068 Load properties used for OE node status by group instead of individually (#706) 2018-10-11 10:41:48 -07:00
Matt Irvine
f45155aa4a Fix OE and Binding Queue reliability bugs (#702) 2018-10-05 14:14:36 -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
Leila Lali
7322854c7b fixed the bug with view triggers in object explorer (#639) 2018-06-18 11:36:24 -07:00
Alex Tercete
bd11fd2129 Override GetNodePathName for custom-named table nodes (#601) 2018-04-10 13:30:22 -07:00
Matt Irvine
167948256c Use object names instead of labels in node paths (#600) 2018-04-06 14:36:47 -07:00
Matt Irvine
3937ebef38 Include inline functions as table-valued functions in Object Explorer (#594) 2018-03-21 15:48:20 -07:00
Matt Irvine
365fe2282e Support Object Explorer FindNodes request (#589) 2018-03-15 10:47:52 -07:00
Leila Lali
c40c740a73 fixed the bug with loading default constraints in oe (#582)
* fixed the bug with loading default constraints in oe
2018-02-09 08:51:41 -08:00
Leila Lali
4d4e0b1194 The filter for the function is valid for all sql version except for DW (#574) 2018-01-08 09:34:44 -08:00
Matt Irvine
1c2b44fe74 Mark database OE nodes as leaf nodes if they are unavailable (#569) 2017-12-13 10:58:23 -08:00
Leila Lali
dedca05721 fixed the keys filter to support 2012 and 2014 also (#565)
* fixed the keys filter to support 2 all sql versions also
2017-12-11 10:34:26 -08:00
Kevin Cunnane
392325036e Fix uplevel SQL Server support and differentiate External and FileTable types in object explorer list (#567)
* Differentiate External and FileTable types in object explorer list
- Add (External) and (File Table) to the labels
- Pre-fetch these properties to avoid perf hit

Note on testing: These are both quite hard to initialize, so adding tests to the integration tests would require always having a server with Polybase enabled / FileTable enabled. Given this I feel it should be OK to use manual testing. Long term, we should have unit-level tests that cover the functionality or figure out how to have a perfect pre-configured server and a set of tests to run the breadth of this logic against it.

* Fix handling of vNext servers to default to latest known version
- Default uplevel / unknown versions to the latest version
- In the IsValidFor check also just see if the server version registers as "All" since this is the default for unknown servers. This is a backup handler, the 1st fix is the primary one
2017-12-08 17:52:49 -08:00
Leila Lali
1ec297efe2 improving OE tables expand (#555)
* improving OE tables expand for dw database
2017-12-01 14:49:42 -08:00
Leila Lali
864c4f60cd Adding Indexes of all types to OE indexes folder (#557) 2017-12-01 13:40:21 -08:00
Leila Lali
7a3baf6620 loading database status for all databases in the server to fix the perf issue (#547) 2017-11-15 15:46:53 -08:00
Saurabh Singh
3d7b87eca2 Add unknown status for DB Nodes whose status is not known (#524) 2017-10-25 12:06:10 -07:00
Karl Burtram
11cb154d6d Add Database status to OE tree node (#485) 2017-10-10 16:32:54 -07:00
Leila Lali
f09b9f4c30 Fixing the bug with connections on database make restore fail (#473)
* closing the connections that don't need to be open and keeping track of the connections that should stay open
2017-10-05 20:06:31 -07:00
Leila Lali
69fad36198 fixed the issue with restore task title (#454)
* fixed the issue with restore task title

* addressed cr comments
2017-09-10 18:10:37 -07:00
Kate Shin
14ec5be961 Create remote file browser service (#448)
* code refactoring

* Add filebrowser service and tests

* change dataset reference

* Address pr comments

* add more tests

* address pr comments

* address pr comments and added more tests

* minor change

* minor fix

* Fix test break and add dataset result check
2017-09-08 13:57:56 -07:00
Leila Lali
eb61423f89 added a binding queue for oe to force one operation on a node at a time (#441)
* added a binding queue for oe to force one operation on a node at a time

* setting node subtype to temporal for temporal tables

* disposing oe service on shutdown
2017-08-22 15:15:01 -07:00
Aditya Bist
3915688332 added support for more object scripting (#435)
* added support for more object scripting

* allow using script options in scripting

* added tests for scripting all objects
2017-08-16 17:11:41 -07:00
Karl Burtram
4e9ff42dfc Update to SMO built with .Net 2.0 RTM SDK (#437)
* Pick up .Net 2 RTM SMO dependencies

* Add missing NUPKG files

* Remove preview framework nuget packages
2017-08-16 16:08:03 -07:00
Leila Lali
4b97aa8c43 fixed the issues with restore options (#431)
* fixed the issues with restore options connecting to server without db name
2017-08-14 13:29:40 -07:00
Karl Burtram
5dcc82c3d6 Upgrade to net core 2.0 (#356)
* Initial .net core 2.0 conversion

* Convert a few more projects to .net core 2.0

* Convert a few more projects to .net core 2.0

* Fix build.cmd errors

* Add mising nuget package

* Remove dead code

* Add checked in references to workaround nuget package issues

* Update SLN file to refer to correct csproj files

* Rename applications to workaround .net core tooling bug

* Update nuget package with SQL Parser changes

* Add PreserveCompliationContext to avoid MEF bug

* Update smo version to pickup .net core 2 changes

* Pickup latest SMO changes to fix merge break

* Actually pickup correct SMO binaries

* Add support for SLES 12.2

* Fix break running archiving on Linux

* Revert "Add support for SLES 12.2"

This reverts commit 95cdb6d0e35a425be5c0081345d214079cbdc3db.

* Update to latest SMO build

* Install .Net Core 2 during install phase

* Move .Net Core install

* Try to reference dotnet.exe directly

* Fix code coverage script for CSPROJ instead of project.json

* Turn off test that is unreliable in AppVeyor builds.

* Fix appveyor.yml line feed.

* Turn off another flaky test failing in AppVeyor
2017-07-05 16:18:14 -07:00
Leila Lali
276f70ab3b modified the default value for OE session (#394) 2017-06-23 15:37:04 -07:00
Leila Lali
c28a97e6fa Fix/integrationtests (#391)
* fixed the problem with parsing sql2017 version
2017-06-22 09:20:58 -07:00
Leila Lali
71b349f67b Supporting SQL DW in Object explorer (#380)
* supporting sql dw in oe
2017-06-15 12:53:32 -07:00
Leila Lali
85dc0b9ae2 setting user status in oe if user is disabled (#378)
* setting user status in oe if disabled
2017-06-14 15:54:50 -07:00
Kevin Cunnane
869cd1439f Add LanguageFlavorNotification handling and refactor LanguageService (#375)
* Add LanguageFlavorNotification handling and refactor LanguageService
- Added new notification handler for language flavor changed
- Refactored the LanguageService so that it no longer relies on so many intertwined static calls, which meant it was impossible to test without modifying the static instance. This will help with test reliability in the future, and prep for replacing the instance with a service provider.

* Skip if not an MSSQL doc and add test

* Handle definition requests

* Fix diagnostics handling
2017-06-12 13:28:24 -07:00
Leila Lali
b60a865706 handling offline and inassisable db in oe (#369)
* handling offline and inassisable db in oe
2017-06-07 12:21:24 -07:00
Leila Lali
950b44137b using the new smo method to initialize the smo collections (#367)
* using the new smo method to initialize the smo collections
2017-06-02 16:07:21 -07:00
Karl Burtram
79350e10f9 Couple workarounds for OE refresh issues on RHEL (#365) 2017-05-29 16:36:55 -07:00
Leila Lali
0d00534f6a setting timeout for oe tasks (#363) 2017-05-26 21:54:45 -07:00
Kevin Cunnane
bbd0972dde Ensure connection open for OE queries and fix connection disposal (#359)
* Ensure connection open for OE queries and fix connection disposal
- Dispose connection in Metadata service, to ensure we cleanly dispose and don't rely on garbage colleciton
- Fixed issue where if the connection was closed, expanding databases in the Server would fail. This is because SMO doesn't always reopen the connection, certainly not for Server level queries. The solution is to always check if open and reopen.
- Added unit tests for this, which required mocking the relevant IsOpen / OpenConnection methods. Refactored SMO wrapper calls into a dedicated class file to handle this
2017-05-25 18:26:52 -07:00
Leila Lali
4861d7a174 Fixed the issue with parsing sql server 2017 version (#357)
* Fixed the issue with parsing sql server 2017
2017-05-24 12:07:41 -07:00
Leila Lali
63372d327e Object explorer notifications (#354)
* changing oe protocols to send notifications
2017-05-23 09:30:11 -07:00
Leila Lali
6920e6bfd3 OE system folders and removing some nodes (#353)
* OE system objects for system database
2017-05-19 12:02:34 -07:00
Leila Lali
7ec5549a13 fixed the bug with not closing data reader for oe (#352)
* fixed the bug with not closing data reader for oe

*  fixed the bug with triggers not sending back status
2017-05-17 09:35:55 -07:00
Leila Lali
327f0a5edd temporary fix to make oe tables expanding faster (#343) 2017-05-12 09:31:23 -07:00
Leila Lali
39f5279631 added sub types for parameters (#340) 2017-05-10 09:39:49 -07:00
Leila Lali
137335ffd5 fixed the oe integration test failing in appveyor (#339)
* fixed the oe integration test failing in appveyor
2017-05-09 13:06:12 -07:00
Leila Lali
0d570fa29b Fixed node labels, status, sub types (#338) 2017-05-09 09:33:25 -07:00
Leila Lali
5b5c5861d8 fix the problem with history tables as table children (#335) 2017-05-03 11:28:18 -07:00
Leila Lali
0b39408eae added handler for oe refresh and close session requests (#332)
* added handler for oe refresh and close session requests
2017-05-01 15:20:02 -07:00