Commit Graph

85 Commits

Author SHA1 Message Date
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
Kate Shin
cd870e6f15 Integrate generate script with task service (#426)
* Support generate script for backup

* change

* update task service data contract for Generate Script

* more changes

* update test

* add comments

* Add missing files

* update stub backup operation for testing

* pr comments

* remove empty space

* Fix tests

* Add unit/integration tests and isCancelable to TaskInfo

* address pr comments

* pr comments - fix tests

* fix minor issue

* fix minor issues

* remove unused variable
2017-08-09 19:59:40 -07:00
Leila Lali
6696b7e72f supporting restore from db (#429)
* supporting restore from db
2017-08-09 11:01:52 -07:00
Brian O'Neill
a4a27f9559 Merging mssql-scripter changes (#430)
* Manual port of latest 'feature/mssq-scripter' branch

* Bumpnuget package SqlScriptPublishModel.140.2.0 to Microsoft.SqlServer.Management.SqlScriptPublishModel.140.2.3

* In TestDriver, fix the path to Microsoft.SqlTools.ServiceLayer.exe after move to .NET Core 2.0
2017-08-09 08:25:13 -07:00
Anthony Dresser
70d658b9a8 Changed how the test awaits on executed queries to make it more reliable (#427) 2017-08-04 14:44:57 -07:00
Anthony Dresser
7ef81d0e54 Multiple Connection Simple Execute (#421)
* change simple execute to open a new connection and close it every query

* updated tests for simple execute

* removed an unnecessary connect

* refactored code to be more readable

* global try catch on simple execute

* added multiple execution test

* update execution to be asynchrous; update tests to account for asynchrounous nature
2017-07-28 13:35:46 -07:00
Leila Lali
e1395cbd7d Adding more features to restore operation (#420)
* Adding more features to restore operations and added tests
2017-07-24 09:41:32 -07:00
Karl Burtram
354d702d6f Update SMO to pickup latest fixes (#419) 2017-07-19 13:29:42 -07:00
Karl Burtram
18977a89dc Allow empty query string text (#415)
* Allow empty query string text

* Remove test that is no longer valid

* Remove test that is no longer valid
2017-07-15 10:14:32 -07:00
Matt Irvine
b20529cced Enable changing database when connected with a connection string (#413)
This commit builds connection options using the connection string as a base, but allow other options to be overridden, which is how we change database. This commit also makes sure to copy the connection string when copying a connection, since that didn't happen before
2017-07-14 13:24:00 -07:00
Karl Burtram
cfa78bbc3b Execute SQL statement at cursor location (#412)
* Stage changes to other machine

* Parse sql statement from script document

* Fix a few typos and minor changes

* Fix bug
2017-07-13 20:33:05 -07:00
Karl Burtram
005fc9e4df Add try/catch blocks for request handlers (#408)
* Add try/catch for request handlers

* Fix test break
2017-07-13 07:18:34 -07:00
Kate Shin
414949d129 Add advanced options to backup service (#405)
* Add advanced options for Backup

* Add backup encryption strings

* Add test for backup advanced option

* Add strings to SR

* Add verify backup restore option

* Addressed PR comments

* Add MIT license header
2017-07-12 13:09:07 -07:00
Leila Lali
05775a6089 Feature/restore db (#403)
* Added service handlers for restore database operations
2017-07-10 17:28:57 -07:00
Kate Shin
b6c8eac8fc Fix CancelMultipleBackup test failure (#399)
* Fix cancelMultipleBackup test failure
Please enter the commit message for your changes. Lines starting

* Add semaphore to backup stub operation

* remove spaces
2017-07-05 22:12:41 -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
Kevin Cunnane
3aba287759 Fix #911 handle perforce files (#400)
- Additional handling of document events with "perforce:" or other SCM strings
- Much of the handling had been added already, but adding in additional validation and ensuring that everywhere `Workspace.GetFile` is called we add a not-null check to avoid null reference errors
2017-07-05 13:25:05 -07:00
Kevin Cunnane
2a5ae06f12 Support "SQL" settings in addition to MSSQL (#398)
* Support "SQL" settings in addition to MSSQL
- Handles having 2 separate configuration definitions and merging / treating them as 1 throughout the app
- If a settings group such as Intellisense is defined on mssql, it will override any generic SQL properties
- Retains backwards compatibility with existing settings.
2017-06-29 17:03:11 -07:00
Kate Shin
cdfdd7bd5a Fix backup service to have multiple backup instances (#396)
* Allow multiple backups per backup service instance

* Add test to run multiple backups

* Update backup cancelTask method signature

* Fix to have multiple backup instances and add more tests

* Address PR comments

* Remove double new lines

* Add Azure check for backup operations
2017-06-26 16:21:09 -07:00
Kevin Cunnane
81d031d5eb LanguageService must send result or intellisense hangs (#395)
* LanguageService must send result or intellisense hangs
- Unless the language services methods return results for requests, the VSCode language service protocol will never send a response up to its higher-level code. This means with intellisense off, it appears to hang instead of saying "No results found". This is clearly sub-optimal and if any other extension wants to provide SQL suggestions, it would break them from sending results
- Minor refactor to fully remove Instance-field references in the code
2017-06-23 13:36:43 -07:00
Leila Lali
c28a97e6fa Fix/integrationtests (#391)
* fixed the problem with parsing sql2017 version
2017-06-22 09:20:58 -07:00
Anthony Dresser
af2ed84953 Adds a execute and return result message (#383)
* inital request

* refactored query execution failure callback to take exception

* added failure callback to execute and return

* added test for query execute and return

* updated params

* removed dead code

* addressed feedback; added multiple active result set support; updated tests

* addessed feedback and added testing and errors and verification

* change <= to ==

* changed name of trashQ to removedQuery
2017-06-16 15:43:41 -07:00
Kate Shin
a646d627c6 Register backup to task service for execution (#381)
* Create backup task for execution

* Register backup to task service

* Fix backup task service

* Fix async methods

* Add backup unit test

* Add cancellation token to task service and fix other PR comments

* Add SR and fix other pr comments

* Add comments to methods

* Fixed backup cancel test and casing

* Change sleep time in test
2017-06-16 14:01:09 -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
d9e68831ab fixed the tests for task service (#384)
* fixed the tests for task service
2017-06-15 12:49:20 -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
Leila Lali
58f438176b fixed couple of issues in task service (#377) 2017-06-12 15:52:49 -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
b0263f8867 Added task service (#374)
* Added task service
2017-06-12 11:02:57 -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
Kevin Cunnane
29c9b5fa51 Edit data schema and SQLAuth support (#362)
- Fix non-dbo schema support, adding in specific parameter for schema. If this isn't specified, the code will still fall back to splitting up the objectName if it's a multi-part identifier. This ensures that input from action bar or CLI scenarios can still work since we'll accept multi-part names there
- Fix failure to edit data on Azure. This was failing as the SMO query to get the table info failed when cloning SqlConnection. In .Net Core it currently loses the passwor unless PersistSecurity = true.
- Fix bug in error reporting where ID and Method were switched. This caused bad breaks and was caught during integration testing
2017-05-26 14:19:18 -07:00
Kevin Cunnane
a4c630d5d3 Avoid throwing exception in LangageService for OE connections (#361)
* 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

* Avoid throwing exception in LangageService for OE connections
- Handle non-File URIs by skipping language service binding in those cases. Added test for this

- VSCode passes untitled:, git: and other paths, often without a '/'. Updated logic to handle this.

* Handle windows file paths
2017-05-26 13:11:26 -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
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
Karl Burtram
dc3cd9ea59 Create DB work in-progress (#350)
* Stage changes to other machine

* Stage changes

* Update SMO to fix SMO missing Login bug on macOS
2017-05-15 18:48:04 -07:00
Karl Burtram
848cfadf9a Delete more unneeded sql manager UI code (#345) 2017-05-11 17:54:52 -07:00
Brian O'Neill
7625c8d83d Add command line option to specify the logging directory (#336)
Two changes in this PR:
* Add a --log-dir command line parameter and fix command line parsing
* Fix command line parsing where arguments with parameter were parsed incorrectly
2017-05-10 08:55:46 -07:00
Karl Burtram
2e9843cec1 Merge create db work in progress (#341)
* Port over initial block of create db implementation

* Test case placeholder

* In-progress work

* Stage changes to other machine

* Add database prototype strings

* Stage changes to other machine

* Stage changes

* Hook the database info into capabilities discovery

* Stage changes

* Update SMO to latest from ssms_main

* Various clean-ups

* Update localization files
2017-05-09 17:56:32 -07:00
Leila Lali
0d570fa29b Fixed node labels, status, sub types (#338) 2017-05-09 09:33:25 -07:00
Henry Phan
f50f30b493 Changes to sqltoolsservice to allow empty password for SqlLogin (#333)
* Initial changes to allow empty passwords

* Added in empty password test

* Modifying test to work after my changes.
2017-05-02 10:17:44 -07:00
Matt Irvine
fb239ac956 Support connecting with a connection string (#334)
- Add support for connecting with a connection string by passing it as one of the connection parameters
- If a connection string is present, it will override any other parameters that are present
2017-05-01 21:01:26 -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
Leila Lali
51916c2221 Implemented the oe filtering (#328)
* Implemented the oe filtering
2017-04-26 14:48:17 -07:00
Karl Burtram
1a16101381 Initial admin and DR services. (#329)
* Add initial services for admin, tasks, and DR

* Fix up some of the contract interfaces

* Make fields public to allow Json.Net to work

* Fix a couple issues in backup contracts
2017-04-26 10:29:15 -07:00
Brian O'Neill
4aac4a4047 Add scripting API implemented by the SqlScriptPublishModel (#316)
Update the ScriptingService to expose new scripting JSON-RPC APIs that use the SqlScriptPublishModel for script generation.

The SqlScriptPublishModel is the model behind the SSMS scripting wizard. To enable scripting for CLI tools, we've ported SqlScriptPublishModel to .NET Core. The SqlScriptPublishModel wraps the SMO scripting APIs for .sql script generation.

1) Added three new requests to the ScriptingService: ScriptingRequest, ScriptingListObjectsRequest, ScriptingCancelRequest.
2) Generating scripts are long running operations, so the ScriptingRequest and ScriptingListObjectsRequest kick off a long running scripting task and return immediately.
3) Long running scripting task reports progress and completion, and can be cancelled by a ScriptingCancelRequest request.
4) Bumped the SMO nuget package to 140.17049.0. This new version contains a signed SSMS_Rel build of SMO with the SqlScriptPublishModel.
5) For testing, adding the Northwind database schema

TODO (in later pull requests)
1) Integrate the new ScriptingService APIs with the ConnectionService
2) Integrate with the metadata support recently added
2017-04-24 16:10:20 -07:00
Benjamin Russell
e65699ef75 Removing optional data property from Error response class (#325)
* Removing optional data property from Error response class

* Fixing broken unit tests
2017-04-24 13:45:33 -07:00
Raymond Martin
8206c70994 Removing hardcoded constant (#326) 2017-04-20 19:05:32 -07:00
Abbie Petchtes
809254d2e2 Fix the OE service where returns database as the root node for database connection (#322)
* Fix the OE service where retuns database as the root node if the connection contains database name

* Fix OE tests

* addressed the comments

* addresses comment

* fix OE test and add more tests

* fix VerifyAdventureWorksDatabaseObjects test
2017-04-20 12:33:49 -07:00