Commit Graph

1080 Commits

Author SHA1 Message Date
Monica Gupta
148b6e398d Added new Kusto ServiceLayer (#1009)
* Copy smoModel some rename

* Copy entire service layer

* Building copy

* Fixing some references

* Launch profile

* Resolve namespace issues

* Compiling tests. Correct manifest.

* Fixing localization resources

* ReliableKustoClient

* Some trimming of extra code and Kusto code

* Kusto client creation in bindingContent

* Removing Smo and new Kusto classes

* More trimming

* Kusto schema hookup

* Solidying DataSource abstraction

* Solidifying further

* Latest refatoring

* More refactoring

* Building and launching Kusto service layer

* Working model which enumerates databases

* Refactoring to pass IDataSource to all tree nodes

* Removing some dependencies on the context

* Working with tables and schema

* Comment checkin

* Refactoring to give out select script

* Query created and sent back to ADS

* Fix query generation

* Fix listing of databases

* Tunneling the query through.

* Successful query execution

* Return only results table

* Deleting Cms

* Delete DacFx

* Delete SchemaCompare and TaskServices

* Change build definition to not stop at launch

* Fix error after merge

* Save Kusto results in different formats (#935)

* save results as csv etc

* some fixes

Co-authored-by: Monica Gupta <mogupt@microsoft.com>

* 2407 Added OrderBy clause in KustoDataSource > GetDatabaseMetaData and GetColumnMetadata (#959)

* 2405 Defaulted Options when setting ServerInfo in ConnectionService > GetConnectionCompleteParams (#965)

* 2747 Fixed IsUnknownType error for Kusto (#989)

* 2747 Removed unused directives in Kusto > DbColumnWrapper. Refactored IsUnknownType to handle null DataTypeName

* 2747 Reverted IsUnknownType change in DbColumnWrapper. Changed DataTypeName to get calue from ColumnType. Refactored SafeGetValue to type check before hard casting to reduce case exceptions.

* Added EmbeddedResourceUseDependentUponConvention to Microsoft.Kusto.ServiceLayer.csproj. Also renamed DACfx to match Microsoft.SqlTools.ServiceLayer. Added to compile Exclude="**/obj/**/*.cs"

* Srahman cleanup sql code (#992)

* Removed Management and Security Service Code.

* Remove FileBrowser service

* Comment why we are using SqlServer library

* Remove SQL specific type definitions

* clean up formatter service (#996)

Co-authored-by: Monica Gupta <mogupt@microsoft.com>

* Code clean up and Kusto intellisense (#994)

* Code clean up and Kusto intellisense

* Addressed few comments

* Addressed few comments

* addressed comments

Co-authored-by: Monica Gupta <mogupt@microsoft.com>

* Return multiple tables for Kusto

* Changes required for Kusto manage dashboard (#1039)

* Changes required for manage dashboard

* Addressed comments

Co-authored-by: Monica Gupta <mogupt@microsoft.com>

* 2728 Kusto function support (#1038)

* loc update (#914)

* loc update

* loc updates

* 2728 moved ColumnInfo and KustoResultsReader to separate files. Added Folder and Function to TreeNode.cs

* 2728 Added FunctionInfo. Added Folder to ColumnInfo. Removed partial class from KustoResultsReader. Set Function.IsAlwaysLeaf=true in TreeNode.cs. In KustoDataSource changed tableMetadata type to TableMetaData. Added folder and function dictionaries. Refactored GetSchema function. Renamed GenerateColumnMetadataKey to GenerateMetadataKey

* 2728 Added FunctionInfo. Added Folder to ColumnInfo. Removed partial class from KustoResultsReader. Set Function.IsAlwaysLeaf=true in TreeNode.cs. In KustoDataSource changed tableMetadata type to TableMetaData. Added folder and function dictionaries. Refactored GetSchema function. Renamed GenerateColumnMetadataKey to GenerateMetadataKey

* 2728 Created new SqlConnection within using block. Refactored KustoDataSource > columnmetadata to sort on get instead of insert.

* 2728 Added GetFunctionInfo function to KustoDataSource.

* 2728 Reverted change to Microsoft.Kusto.ServiceLayer.csproj from merge

* 2728 Reverted change to SqlTools.ServiceLayer\Localization\transXliff

* 2728 Reverted change to sr.de.xlf and sr.zh-hans.xlf

* 2728 Refactored KustoDataSource Function folders to support subfolders

* 2728 Refactored KustoDataSource to use urn for folders, functions, and tables instead of name.

* Merge remote-tracking branch 'origin/main' into feature-ADE

# Conflicts:
#	Packages.props

* 2728 Moved metadata files into Metadata subdirectory. Added GenerateAlterFunction to IDataSource and DataSourceBase.

* 2728 Added summary information to SafeAdd in SystemExtensions. Renamed local variable in SetTableMetadata

* 2728 Moved SafeAdd from SystemExtensions to KustoQueryUtils. Added check when getting database schema to return existing records before querying again. Added AddRange function to KustoQueryUtils. Created SetFolderMetadataForFunctions method.

* 2728 Added DatabaseKeyPrefix to only return tables to a database for the dashboard. Added logic to store all database tables within the tableMetadata dictionary for the dashboard.

* 2728 Created TableInfo and moved info objects into Models directory. Refactored KustoDataSource to lazy load columns for tables. Refactored logic to load tables using cslschema instead of schema.

* 2728 Renamed LoadColumnSchema to GetTableSchema to be consistent.

Co-authored-by: khoiph1 <khoiph@microsoft.com>

* Addressed comments

Co-authored-by: Shafiq Rahman <srahman@microsoft.com>
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
Co-authored-by: Justin M <63619224+JustinMDotNet@users.noreply.github.com>
Co-authored-by: rkselfhost <rkselfhost@outlook.com>
Co-authored-by: khoiph1 <khoiph@microsoft.com>
2020-08-12 15:34:38 -07:00
Udeesha Gautam
d2f5bfaa16 update dacfx to latest (#1044) 2020-08-10 18:52:29 -07:00
David Shiflet
8ca59efc27 full symbols for visual studio or code coverage (#1043) 2020-08-10 11:46:21 -04:00
Karl Burtram
35878fbc24 Switch pdb type back to portable (#1042) 2020-08-09 19:45:27 -07:00
Udeesha Gautam
616a79c83d GetConnectionString API fix to not change the cache only return the value (#1040)
* Get connection string call was changing the connection info (ref object) received from cache. Changing it to just get and make changes to only the returned string..

* Change to ensure PR validation works
2020-08-09 19:17:16 -07:00
Alex Ma
81b4bb7753 Warning for multiple delete (#931)
* Fix for multiple delete bug

* minor space removal

* removed catch error in RowDelete

* small optimizations

* space adding

* WIP on creating test

* Some cleanup

* removed spaces

* Fix for verifytext

* Added check for command format correctness.

* tidying up

* added working test for command exception

* simplification of TestDbDataReader getint

* Corrections made

* spacing and naming issues

* minor space

* one more space issue
2020-08-06 13:55:49 -07:00
David Shiflet
839acf67cd Convert most tools service tests to nunit (#1037)
* Remove xunit dependency from testdriver

* swap expected/actual as needed

* Convert Test.Common to nunit

* port hosting unit tests to nunit

* port batchparser integration tests to nunit

* port testdriver.tests to nunit

* fix target to copy dependency

* port servicelayer unittests to nunit

* more unit test fixes

* port integration tests to nunit

* fix test method type

* try using latest windows build for PRs

* reduce test memory use
2020-08-05 13:43:14 -04:00
Charles Gagnon
bf4911795f Add Notebook conversion logic (#1027)
* Add logic to convert Notebook doc into SQL query

* move classes

* Add logic for SQL -> Notebook

* Fix a few trimming issues
2020-08-03 07:54:06 -07:00
shueybubbles
ac40cdc84a require vs2019 for code coverage 2020-08-02 17:16:25 -04:00
David Shiflet
dc2a244f98 fix indentation (#1036) 2020-08-02 15:25:50 -04:00
David Shiflet
79e81a69b2 Add an ADO yaml file for integration tests (#1035)
* enable code coverage for ADO test run

* fix debugtype default

* use file name instead of guid

* use wildcard for test dll name
2020-08-02 15:05:17 -04:00
David Shiflet
2d801770d1 initial runsettings file to collect code coverage in ADO (#1034) 2020-07-31 09:28:07 -04:00
Charles Gagnon
9fbcadb46e Add service for converting a notebook to sql and back (#1022) 2020-07-29 16:31:51 -07:00
Kim Santiago
788dc31081 Update DacFx deploy and generate script with options (#998)
* update deploy and generate script to accept deployment options

* add tests

* add test with option set to true
2020-07-29 13:43:38 -07:00
Udeesha Gautam
9d52370df0 Updating to latest DacFx for a bug fix (#1010) 2020-07-29 10:28:01 -07:00
Kim Santiago
1a93404e54 Add support for getting DacFx deploy options from a publish profile (#995)
* add support for getting options from a publish profile

* update comments

* set values for default options if they aren't specified in the publish profile

* addressing comments
2020-07-27 17:52:15 -07:00
Karl Burtram
0014687343 Update SDK to latest version (#1002) 2020-07-24 10:06:59 -07:00
Charles Gagnon
aa56ec852d Fix Null Pointer exception in test (#999)
* Full NPE

* force trigger
2020-07-24 10:05:14 -07:00
Charles Gagnon
9fba9b1955 Add developers startup arg (#997) 2020-07-23 16:09:58 -07:00
Charles Gagnon
b42940c98a Add step to create new branch for PRs 2020-07-23 10:28:16 -07:00
Udeesha Gautam
4c819e0fc1 Fixes for tests affected by MDS update (#987)
* Fixing tests in parallel that were affected by MDS update
2020-06-23 11:27:19 -07:00
Udeesha Gautam
3049dacb84 Update DacFx and MDS to same version (#986)
* Updating DacFx and MDS nuget to match versions

* Fixing a test. It's unreleated to change.
2020-06-22 15:16:13 -07:00
Alan Ren
70b74cc09b Update release.yml for Azure Pipelines (#984)
force ADO to regenerate the scheduled runs
2020-06-17 11:09:22 -07:00
Aasim Khan
72c6454b49 Changing folder names to netcoreapp3.1 to fix pipeline issues (#979)
* changing folder names to netcoreapp3.1 to fix pipeline issues

* Moving variable to the top

* fixing variable

* added a variable for dotnetcore folder
2020-06-15 19:28:33 -07:00
Karl Burtram
3106240cbd Bump version to fix release script (#982)
* Bump version to fix release script

* Fix typo
2020-06-15 19:17:23 -07:00
Charles Gagnon
55ab1f77bf Use older dotnet version for code signing (#981)
* Update ESRP version

* Pull down older dotnet version
2020-06-15 15:02:40 -07:00
Charles Gagnon
ffe4be5145 remove gulp-hub (#976) 2020-06-15 14:02:11 -07:00
Charles Gagnon
b6bf46be3e Update references to master branch (#980) 2020-06-15 14:00:55 -07:00
Charles Gagnon
89e7afd53b Update StringResourceTool for netcoreapp3.1 version (#978) 2020-06-15 12:22:53 -07:00
Karl Burtram
5ad23552b4 Remove SQL Client patch from build (#977) 2020-06-15 10:40:59 -07:00
dependabot[bot]
f86398b618 Bump mixin-deep from 1.3.1 to 1.3.2 in /test/CodeCoverage (#975)
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-14 23:25:42 -07:00
Soheil Alizadeh
31659e1126 Prevent ArgumentNullException in refresh request (#963) 2020-06-14 23:24:31 -07:00
Karl Burtram
28e479f239 Bump to latest .Net Core SDK 3.1.301 (#974) 2020-06-12 12:58:38 -07:00
Soheil Alizadeh
887a499d2b Update Infrastructure (#961)
* Update form .NET Core 2.2 to .NET Core 3.1

- Global variable for projects
- Change TFMs from netcoreapp2.2 to netcoreapp3.1
- Update global.json
- Update build.json
- Remove direct framework cake TestCore task
- Update travis dotnet version
- Update azure pipline file
- Update vscode launch.json

* Add Central Package Management

* Fix xUnit Breaking Change for MemberData type

* Fix xUnit breaking change for duplicate test method name

* Fix Rang/Index type conflict with System.Rang/Index

* Update vscode tasks.json

* Change serviceHostExecutable path in ServiceTestDriver.cs

* Downgrade SDK version (https://github.com/appveyor/ci/issues/3440)

- Appveyor hasn't installed latest SDK therefore I downgrade it until they install it.

* Dump Microsoft.SqlServer.DACFx
2020-06-12 11:44:18 -07:00
Benjin Dubishar
c51a59dadf Adding SqlCmdVars support for DacFx Deploy (#971)
* Adding SqlCmdVars support for DacFx Deploy

* Adding SqlCmdVars support for GenerateDeployScript

* Consolidating test logic
2020-06-10 16:00:59 -07:00
Karl Burtram
e8e699dbd8 Revert "-Removed forced master condition (#957)" (#972)
This reverts commit 69b93a05f2.
2020-06-09 13:42:29 -07:00
Aleksei Guzev
ca5cbf76e6 Fix TargetName for assessment items (#968) (#969)
* Remove the second appearance of server name in TargetName property
* Replace slash with colon as database name separator in TargetName to avoid ambiguity
Fixes #968
2020-06-08 13:26:25 -07:00
Kim Santiago
836687a41d update schema compare default option (#967) 2020-06-08 11:26:00 -07:00
Charles Gagnon
42e5269359 Fix test notebook name casing (#970) 2020-06-08 10:58:37 -07:00
Kim Santiago
14907e6440 bump dacfx nuget (#964) 2020-05-28 17:09:06 -07:00
Satyem-MS
8d6a48a23f Auto Completion for date_bucket (#933) 2020-05-18 11:27:11 -07:00
Justin Hutchings
f56dce5ee6 Add CodeQL Analysis workflow (#952)
* Add CodeQL Analysis workflow

* Fix path
2020-05-15 11:43:21 -07:00
Aasim Khan
69b93a05f2 -Removed forced master condition (#957) 2020-05-15 10:09:33 -07:00
Udeesha Gautam
9eec757ad1 Updating DacFx nuget to one with SqlTasks (#958)
* Updating DacFx nuget to one with SqlTasks

* Adding common references to build props to avoid multiple places for update
2020-05-08 17:43:04 -07:00
Jeff Trimmer
82eed06847 Add Always Encrypted Parameterization Functionality (#953) 2020-05-05 12:01:24 -07:00
Amir Omidi
e3f1789f18 Enable arm builds (#955) 2020-05-01 15:17:27 -07:00
Alan Ren
8f6662b019 extend the list databases request (#951)
* extend the list databases request

* reuse databaseInfo and refactor

* fix typo
2020-04-28 16:12:56 -07:00
Sakshi Sharma
96df91c8fa Sql Proj Extract from database to Sql files (#949)
* SqlToolsServices changes for  Sql Proj Extract from database to Sql files

* Bumped DacFx version. Addressed comments.
2020-04-27 18:35:19 -07:00
Kim Santiago
314627f83c Show file location for dacfx extract and export (#936)
* show file location for dacfx extract and export

* Add TargetDestination field to TaskInfo

* remove setting database and server name to null if there's packageFilePath

* remove unnecessary parameter
2020-04-27 17:37:08 -07:00
Aleksei Guzev
bcc1f2a486 Add AQL Assessment service (#946)
[SQL Assessment API](https://docs.microsoft.com/en-us/sql/sql-assessment-api/sql-assessment-api-overview) provides a mechanism to evaluate the configuration
of SQL Server for best practices. SQL Assessment API gives a list
of recommended actions to improve SQL Server performance or security.

The SQL Assessment service is used by the expected SQL Assessment
feature of Azure Data Studio. 

SqlAssessmentService forwards JSONRPC calls to SQL Assessment engine
and wraps results as a response.

`assessment/getAssessmentItems` returns a set of checks 
applicable to a given target.

`assessment/invoke` returns a set of recommendations
for improving SQL Server instance or database configurations. 

`assessment/generateScript` returns a T-SQL script for storing
an assessment result set to a SQL data table.
2020-04-24 10:52:55 +03:00