Commit Graph
57 Commits
Author SHA1 Message Date
Aasim Khan 2502e23f43 Fixing sqlcore nuget dlls not being signed. (#2188) 2023-08-23 21:15:18 +00:00
Aasim Khan c7d75fa535 Publishing SQL Core library in nuget (#2173)
* Set up CI with Azure Pipelines

[skip ci]

* Update publishSqlCoreProject.yml for Azure Pipelines

* Update publishSqlCoreProject.yml for Azure Pipelines

* Update publishSqlCoreProject.yml for Azure Pipelines

* Update publishSqlCoreProject.yml for Azure Pipelines

* Update publishSqlCoreProject.yml for Azure Pipelines

* Updating json rpc target framework

* Fixing packages to pack

* fixing pattern

* Fixing project pattern

* adding versioning schema

* fixing versioning scheme

* fixing nuget package name

* adding name

* removing var

* Fixing stuff

* Fixing stuff

* Fixing stuff

* Fixing build name

* removing build name

* fixing name

* fixing stuff

* fix pattern

* Fixing stuff

* Fixing feed

* Fix stuff

* Fixing feed

* fixing proj name

* Fixing stuff

* Fixing netframework version

* Fixing target framework

* Adding target framework to dependency

* Fixing frameworks

* adding net7.0

* adding flag

* Fixing target frameworks and making code compatible with lang version

* fixed flag

* Fixing assembly name

* Adding hosting in nuget package

* Fixing tests

* Moving steps to its main pipeline

* only releasing when release is true

* Fixing build scripts

* Adding version to csproj for packaging

* adding version

* Fix dirs

* Adding version number to right prop group

* Adding necessary dis

* Fixing build number

* fixing datatype

* Using different var

* Removing unused yml

* Adding back nullables to hosting

* Adding back more nullables

* adding back more nullables

* moving some props to dir level

* Fixing tests

* Removing dup properties

* Supporting different target frameworks in hosting

* Removing additional setting in csproj

* signing sql core dll in publish

* Fixing version setting

* Adding to build

* Added signing and packaging flag

* Fixing file pattern
2023-08-22 23:15:20 -07:00
Aasim Khan ac8e4d6803 Adding missing directories needed for integration tests (#2181)
* Adding missing directories needed for integration tests

* Fixing dir names

* removing unused dir creation

* Adding back all projs

* adding missing dirs

* Fixing comments
2023-08-22 12:16:36 -07:00
Aasim Khan b73058e31f Adding missing project dirs to fix integration tests (#2178) 2023-08-21 17:52:08 +00:00
Aasim Khan 5d7d418894 adding missing ref (#2176) 2023-08-19 15:20:22 +00:00
Aasim KhanandCharles Gagnon 73c2a75fba Creating a new Sql Core project that stores OE classes. (#2165)
* init

* More fixes

* moving filters from contracts to core OE classes

* Fixing some tests

* More fixes and added doc comments

* Fixing tests

* Quick refactoring

* more cleanups

* cleanup

* Adding stateless OE

* Adding null checks

* Making group by schema independent of settings

* Fixing tests

* Removing node info from core oe code

* Fixing tests and moving OE code to its own project

* moving oe to own project

* Removing changes to Kusto

* Removing azure access token from service layer

* Fixing project description and title

* Fixing file name typo

* Removing unused  strings from service layer

* Fixing localized strings in tests
Adding comments to stateless OE

* Fixing stuff

* Update src/Microsoft.SqlTools.SqlCore/Microsoft.SqlTools.SqlCore.csproj

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixing project nesting

* Fixing more stuff and removing OE class

* Cleanup

* Code cleanup

* fixing oe service provider

* Fixing test name

* Remove using

* Update src/Microsoft.SqlTools.SqlCore/ObjectExplorer/SmoModel/SmoQueryContext.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixing syntax error

* Adding project to locproject

* Fixing stuff

* Fixing errors

* sorting usings

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-08-16 22:11:35 -07:00
Aasim KhanandCharles Gagnon 6b251bd24a Adding like filter and removing contains to OE filtering (#2105)
* Adding startswith and like filter

* Adding ends with

* Adding tests

* Remove null and not null

* Fixing string

* Update test/Microsoft.SqlTools.ServiceLayer.UnitTests/ObjectExplorer/NodeFilterTests.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update test/Microsoft.SqlTools.ServiceLayer.UnitTests/ObjectExplorer/NodeFilterTests.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Adding back contains, starts with and ends with

* Properly escaping chars for like based filters

* Adding some comments regarding escape characters

* Using generated regex

* removing additional class

* Adding extra auth type that was causing the tests to error out

* Fixing regex

* Adding integration tests

* Fixing unit tests

* Making fluent assertions

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-06-28 16:17:20 -07:00
Aasim Khan b13fee90ac Adding filtering for group by schema (#2059) 2023-05-12 09:32:38 -07:00
Aasim Khan 34d969c6ad Fixing durability type filter in OE (#2043)
* Fixing durability type filter in OE

* Adding doc comment
2023-05-06 05:40:09 +05:30
46e6b484a3 Adding filtering support to OE (#2039)
* Init push

* Fixing filters

* Fixing more filters

* Fixing display strings

* Fixing boolean filter

* Adding comments

* Fixing function name

* Making nullables

* Separating filter parsing logic

* Adding tests

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerUtils.cs

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerUtils.cs

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/Contracts/NodeInfo.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/Contracts/NodeInfo.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/Nodes/TreeNode.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Adding comments

* Fixing whitespace

* Adding more  comments and changing to IEnumerable

* Fixing code comments

* Fixing tests adding more filters

---------

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-05-06 01:52:42 +05:30
Aasim Khan 319af30665 Fixing OE database expansion read only datamarts databases (#1991) 2023-04-06 01:34:46 -07:00
Aasim Khan e8d24f8e47 Moving out legacy schemas into their own folder (#1866) 2023-02-17 14:31:25 -08:00
Aasim Khan 0f82062502 Removing migration code and packages from sts (#1864)
* Removing migration code and packages from sts

* Removing condition
2023-02-15 22:10:30 -08:00
Aasim KhanandCharles Gagnon c26a2aea14 Adding schema based object folders in OE (#1849)
* Making node types automated

* Adding schema based OE

* added folder types in NodeTypes

* Fixing stuff

* Moving schema to parent and cleaning up some code

* Replacing strings with nameof

* Sorting nodetypes generated by tt

* Adding option to put folders after nodes

* Fixing folder and children order

* Fixing tests

* Formatting file

* Formatting tt files

* Fixing tt

* fixing types

* Update src/Microsoft.SqlTools.ServiceLayer/SqlContext/ObjectExplorerSettings.cs

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixing stuff

* Updating schema definitions and adding more logs

* Fixing copyright

* Adding Integration and Unit Tests

* Fixing test

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-02-14 13:40:51 -08:00
Aasim Khan ab5a1e6c85 Separating Migration into its own project (#1828)
* Moving Migration service to its own project

* Adding loc files to the project

* Adding Migration to build

* Adding Migration Integration Tests

* Trying loops

* Fixing params

* Fixing indent

* Cleaning up yaml

* Getting command line arg for auto flush log

* Adding tde service
2023-01-30 10:30:28 -08:00
Aasim Khan b8581920b6 Adding extension service host for extension services (#1808) 2023-01-24 16:09:42 -08:00
Aasim Khan e0d93b6a5a Fixing icon names (#1725) 2022-10-18 09:59:25 -07:00
Aasim Khan a0390e8127 Adding new top operation column and comp rule for node id (#1719)
* Adding actual cpu cost in top operations

* Adding node id attribute
2022-10-06 16:05:39 -07:00
Aasim Khan dd41236ae9 Adding output row and cost info to ep nodes. (#1635)
* Adding more rules for prop

* Adding new output row count and cost info to ep nodes

* Removing commented code
2022-08-16 11:36:36 -07:00
Aasim Khan e68124b4d5 Adding more top operations columns and fixing some column values (#1571)
* Adding more rules for prop

* adding top operations to ep

* Reverting changes made to display cost

* Fixing comments

* Removing whitespace

* Fixing data size property

* Adding const keys, fixing to table data, adding more info

* Removing undeclared prop
2022-07-11 14:05:20 -07:00
Aasim Khan e64e31e487 Adding top operations to execution plan (#1563)
* Adding more rules for prop

* adding top operations to ep

* Reverting changes made to display cost

* Fixing comments

* Removing whitespace

* Fixing data size property
2022-07-05 20:18:24 -07:00
Aasim Khan 3ff5c6c95c Adding more rules for prop (#1529) 2022-06-03 11:50:09 -07:00
Aasim Khan fed1cef7bf Adding property type and rules to compare properties in Execution Plans (#1522)
* Adding plan index in file info

* Adding basic framework for prop comparison

* Remoing none and and fixing some better values

* Fixing file formatting

* Fixing some formatting

* Fixing casing

* Fixing compilation

* fixing compilation error
2022-05-31 17:15:43 -07:00
Aasim Khan 25f5f024dd Adding plan index in file info (#1501) 2022-05-19 13:52:02 -07:00
Aasim Khan e7c7489b21 Removing circular references from Plan Comparison (#1498) 2022-05-18 00:13:26 -07:00
Aasim Khan 99d0959291 Adding decimal values to costs (#1449) 2022-05-09 09:53:36 -07:00
Aasim Khan 454e4a4671 Adding node overlays to execution plans (#1451)
* Adding node overlays to execution plans

* Adding critical warnings and parallelism

* adding critical warning, badge type enum

* Renaming badge type class

* Adding explicit values to Badge Type
2022-04-08 15:20:54 -07:00
Aasim Khan 1ce3647565 Making star expansion test cross plat (#1455)
* Making star expansion cross plat

* Fixing test

* Fixing next  line
2022-04-08 15:20:07 -07:00
Aasim Khan cc63d866d7 Fixing integration tests for sts (#1453)
* Fixing test pipeline

* pwd

* fixing script

* fixing cwd

* switch to bash

* Cleaning up script and yml

* Fixing script comment

* Fixing the comments

* Adding issue in the comment

* Adding automatic password generator

* Removing unncesary use statement

* Fixing key

* Printing var

* Printing settings

* Printing var

* Fixed var

* Fixed

* Reverting some changes

* Changing fetch variable to upper case

* Fixing password logic

* Debug

* debug2

* debug

* Making passwords secret

* Fixing string null check

* removed dirs

* fixing var name

* Fixing var

* Printing  vars to see if the enviornment is setup correctly

* Printing versionkey

* removing prints

* Adding 2019 Instance key and updating template

* fixing env variable

* Fixing comment
2022-04-08 15:19:49 -07:00
Aasim Khan aa97389d8e Adding ExecutionPlanService to ADS (#1422)
* Adding ExecutionPlanService to ADS

* Changing name to execution plan service

* Renaming file

* Fixing some PR comments

* Renaming class

* Changing api name to queryexecutionplan
2022-03-12 00:49:17 -08:00
Aasim Khan 3f711ef6dc Using custom 1ES pool for running build pipelines. (#1414)
* Enable trimming to reduce package size

* trimming kusto

* Trying a new pool

* Fixing yaml errors

* Removing package trimming

* Removing formatting changes

* Using specific image

* Fixing formatting

* Fixing yml syntax
2022-02-28 13:02:39 -08:00
Aasim Khan 00c2fdbe99 Fixing faulty showInTooltip logic and adding prop display value for Query Plan (#1401)
* Fixing faulty showInTooltip logic

* Renaming one prop appropriately

* Fixing prop function

* Fixed PR related comments

* Fixing stuff

* Logging errors now
2022-02-09 22:54:17 -08:00
Aasim Khan 92a7248455 Adding recommendations to query plan (#1373)
* Adding recommendations

* Adding raw graph type in execution plan graph contracts

* Fixing function name and concising string formatting

* Converting localized string to a function

* Using better names in contract props
Formatting names in a better way

* Getting rid of unnecessary getter, setters and private props

* Fixing localized strings, comments and imports

* Fixing some contracts

* Fixing csproj formatting

* Fixing var names

* Fixing xml comments
2022-01-28 11:35:48 -08:00
Aasim Khan 0fd271b04e Adding raw xml strings to execution plan graphs (#1371) 2022-01-26 14:23:51 -08:00
Aasim Khan 0f54d60921 Parsing nested properties in show plan nodes. (#1351)
* Parsing nested properties in show plan nodes.

* Creating a base class for ExecutionGraphProp
Adding a simple test to see if the nested props are parsed correctly.

* Fixing doc comment

* simplifying class name
2022-01-19 14:31:19 -08:00
Aasim Khan 65cb83a843 Skipping tests in pipeline build step (#1358)
* Adding special argument for running tests in cake file to skip it during pipeline runs

* documenting new build param in cake file
2022-01-11 10:31:40 -08:00
Aasim Khan 9aa1acf0a8 Renaming icons to match ADS QueryPlan icon (#1350) 2022-01-05 15:43:27 -08:00
Aasim Khan 3b60f4b089 Fixing a null exception error when bound tables are null. (#1327)
* Fixing a null exception error when bound tables are null.

* skipping star expansion when there is no active conn

* Fixing a comment
2021-12-02 14:15:26 -08:00
Aasim Khan 2e7bac5659 Sending show plan graph to ADS on Result Set updated event (#1300)
* Sending showplan graph over json rpc in Result updated event
Translating showplan graph into simple objects to be sent over JSON RPC

* Revert "Sending showplan graph over json rpc in Result updated event"

This reverts commit 2d63a625fd200d057bf6093e233f05dea440347c.

* Added string for localization

* Sending showplan graph over json rpc in Result updated event
Translating showplan graph into simple objects to be sent over JSON RPC

* Refactoring class

* Removing test warning

* Removing unused imports
Adding copyright

* Removing unused prop

* removing formatted string out .strings file

* Formatting files
Adding Errors in show plan graph

* Adding a separate event for execution plan

* Now sending mulitple graphs when a batch has more than one query.
2021-11-16 22:33:28 -08:00
Aasim Khan e8c50caea1 Porting showplan code from ssms (#1280)
* Porting showplan code from ssms

* Moving showplans bits to a subfolder

* code cleanup

* Remvoing unnecssary conditional visibility
2021-11-04 14:54:52 -07:00
Aasim Khan e246bc5325 Adding star expression expansion (#1270) 2021-10-27 16:59:05 -07:00
Aasim Khan 6f5cac4cb5 Adding a flag for migration blocker flag in sql assessment and switching to new APIs (#1242)
* Adding a flag for migration blocker in sql assessment and switching to new APIs

* Fixing var names
2021-09-08 15:15:56 -07:00
Aasim Khan f8664641cf Fixing GetServerSystemInfo for Azure DBs (#1231)
* Not throwing errors when we try to fetch SQL server properties like server count and physical mem.

* Fixed comment

* Renaming get server cpu count

* Adding more detailed comment over here

* Making properties cpu count and physical memory to nullable<int> so they are defaulted to null.

* Fixing rest of the properties to nullable.
2021-08-09 17:24:04 -07:00
Aasim Khan c5cbcf02a2 Removing unused code (#1229)
and adding a null check
2021-08-06 20:11:58 -07:00
Aasim Khan a7703e63a4 Fixing the logic to retireve rule metadata in sql assessments (#1223) 2021-07-21 17:40:04 -07:00
Aasim Khan f25dd5d2a4 Adding server metadata to SQL Migration Assessment API (#1222)
* WIP

* Adding server metdata to assessment call

* Fixed spacing

* Sorted imports
Added copyright header
Changes some class names
Fixed description

* Fixed assessment result and removing unused imports

* Adding assessment result
2021-07-19 12:38:10 -07:00
Aasim Khan 539e47b40f Adding cpu count and ram size to server info (#1220)
* adding network file validator contract

* Adding additional properties to serverInfo

* Renaming to serversysinfo

* fixing var name

* Changed to smo to get the properties

* Fixing casting error

* renaming to sysinfo

* Removing unused sql scripts

* Throwing an error and renaming classes

* Changing Physicalmemory prop name from kb to mb

* pushing prop name change

* fixing comment
2021-07-13 12:57:53 -07:00
Aasim Khan 9877af54b9 Updating to dotnet 5.0 (#1218)
* adding network file validator contract

* updating to dotnet 5

* reverting change in pipeline

* updating target framework to 5.0

* updating srgen and using target framework var

* reverting srgen back to 3.1

* Adding dotnet 3.1 to build

* Fixing task def

* removing global json

* updating other 3.1 refs to 5.0

* removing netcore folder from build.cake

* Moving and renaming dotnet 3.1 task
2021-06-25 13:53:01 -07:00
Aasim Khan add0724c21 Adding network share validation in sql migration. (#1203)
* adding network file validator contract

* Adding UNC path validation

* Using helper methods for sanity checks

* Fixed the validation variable type

* Fixing if condition
2021-05-04 15:16:31 -07:00
Aasim Khan 3ad2b2312a Adding windows account validation api for sql migration extensions. (#1202)
* Adding validate file share api

* Making message endpoint camel case

* Adding validation for windows username
2021-05-03 23:51:45 -07:00
Aasim Khan 10c24aaeb3 Fixing a notebook history bug in SQL Agent (#1199)
* Added a leading 0 to notebook history runtimes

* Fixing comment

* Fix for getting run date and time for notebook jobs in a proper format - Try2

* Reverting back to previous query
2021-04-28 16:52:24 -07:00
Aasim Khan 5a8cfab8fa Sending assessment errors to ads (#1180) 2021-03-22 09:14:02 -07:00
Aasim Khan 309e1906ba Changing InvalidOwnerUri string to a more generic one (#1046)
* Change invalid owner uri error message to a generic one

* Adding strings generated by SRGEN step
2020-08-18 09:08:31 -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
Aasim Khan c6631cf67c Feat/notebookendpoints (#862)
* Added endpoint for fetching all notebook jobs

* Refractored NotebookJobInfo to AgentNotebookInfo to make it more consistent with the rest of the codebase

* Added Notebook History endpoint in contracts.

* Added Create, Update, Delete notebook endpoints. Also added separate fetch template, materialized notebook endpoints. This will make the Notebook Request and Notebook History responses lighter.

* AgentNotebookInfo is now derived from AgentJobInfo

* added fetch noteook history endpoint

* Added fetching materialized notebook endpoint

* Added code for cleaning up the directory

* Added create notebook api

* Added Update and delete notebook job

* Fixed notebook history API

* Added last run info to the script and template folder

* Added execute database feature for notebook Jobs

* SQL commands are now using sqlparameters to prevent
any injection attacks

* Changed rundate and runtime to string to preserve
leading zeros

* integration test for agentnotebooks api

* Made some changes mentioned in PR

* Refactored the code, removed enpoint logic from the notebook handler and
wrote test cases

* changes select statements, fixed a bug in the test job cleanup
and fixed other stuff mentioned in the PR.

* added notebook_error column in notebook history select statement

* Added get template notebook endpoint

* Added renaming and pinning notebook runs

* made tables names caps to handle servers with case sensitive queries

* made some changes to the enpoint points paths

* Added delete materialized notebooks endpoints

* Fixed a bug in delete, rename and pin apis where
requests from multiple clients with materializedID = 0
could have resulted in multiple rows getting created
on notebooks.nb_materialized table.

* fixed a merge conflict

* Made some changes mentioned in the PR

* modified a query to handle space sensitive databases

* Made some changes mentioned in the PR

* fixed a small query bug
2019-09-06 16:54:37 -07:00
Aasim Khan 8a12802fb9 Added delete materialized run endpoints (#858)
* Added endpoint for fetching all notebook jobs

* Refractored NotebookJobInfo to AgentNotebookInfo to make it more consistent with the rest of the codebase

* Added Notebook History endpoint in contracts.

* Added Create, Update, Delete notebook endpoints. Also added separate fetch template, materialized notebook endpoints. This will make the Notebook Request and Notebook History responses lighter.

* AgentNotebookInfo is now derived from AgentJobInfo

* added fetch noteook history endpoint

* Added fetching materialized notebook endpoint

* Added code for cleaning up the directory

* Added create notebook api

* Added Update and delete notebook job

* Fixed notebook history API

* Added last run info to the script and template folder

* Added execute database feature for notebook Jobs

* SQL commands are now using sqlparameters to prevent
any injection attacks

* Changed rundate and runtime to string to preserve
leading zeros

* integration test for agentnotebooks api

* Made some changes mentioned in PR

* Refactored the code, removed enpoint logic from the notebook handler and
wrote test cases

* changes select statements, fixed a bug in the test job cleanup
and fixed other stuff mentioned in the PR.

* added notebook_error column in notebook history select statement

* Added get template notebook endpoint

* Added renaming and pinning notebook runs

* made tables names caps to handle servers with case sensitive queries

* made some changes to the enpoint points paths

* Added delete materialized notebooks endpoints

* Fixed a bug in delete, rename and pin apis where
requests from multiple clients with materializedID = 0
could have resulted in multiple rows getting created
on notebooks.nb_materialized table.

* fixed a merge conflict

* Made some changes mentioned in the PR
2019-09-04 10:34:28 -07:00
Aasim Khan 55c82fbcc4 Added renaming and pinning agent notebook runs (#855)
* Added endpoint for fetching all notebook jobs

* Refractored NotebookJobInfo to AgentNotebookInfo to make it more consistent with the rest of the codebase

* Added Notebook History endpoint in contracts.

* Added Create, Update, Delete notebook endpoints. Also added separate fetch template, materialized notebook endpoints. This will make the Notebook Request and Notebook History responses lighter.

* AgentNotebookInfo is now derived from AgentJobInfo

* added fetch noteook history endpoint

* Added fetching materialized notebook endpoint

* Added code for cleaning up the directory

* Added create notebook api

* Added Update and delete notebook job

* Fixed notebook history API

* Added last run info to the script and template folder

* Added execute database feature for notebook Jobs

* SQL commands are now using sqlparameters to prevent
any injection attacks

* Changed rundate and runtime to string to preserve
leading zeros

* integration test for agentnotebooks api

* Made some changes mentioned in PR

* Refactored the code, removed enpoint logic from the notebook handler and
wrote test cases

* changes select statements, fixed a bug in the test job cleanup
and fixed other stuff mentioned in the PR.

* added notebook_error column in notebook history select statement

* Added get template notebook endpoint

* Added renaming and pinning notebook runs

* made tables names caps to handle servers with case sensitive queries

* made some changes to the enpointpoint paths
2019-08-28 18:21:33 -07:00