Commit Graph

69 Commits

Author SHA1 Message Date
Charles Gagnon
dd11be3d38 Consolidate to net6.0 (#1547)
* Add SqlClient event listener

* comments

* ensure not disposed early

* initial

* net6.0

* undo
2022-06-21 08:53:23 -07:00
Charles Gagnon
0f39021438 Fix autoflush option not being used (#1470)
* Fix autoflush option not being used

* Remove extra comment
2022-04-21 16:04:41 -07:00
Charles Gagnon
40c5d48c5e Fail build on unneeded usings (#1417) 2022-03-04 16:38:01 -08:00
Charles Gagnon
c248400a6c Add linting for copyright and unused usings (#1416)
* Add linting for copyright and unused usings

* Add one more + comment

* Enforce in build and fix errors

* Fix build
2022-03-04 15:17:29 -08:00
Charles Gagnon
c092b194da Build win-x86 (#1384)
* Build win-x86

* Move to prop

* Correct RID
2022-02-03 13:43:40 -08:00
Alex Ma
faaf062f0f [Loc] Update to xlfs and resx files (#1332) 2021-12-06 19:05:58 -08:00
csigs
ec5d5c86bf LEGO: Merge pull request 1331
LEGO: Merge pull request 1331
2021-12-04 08:33:27 -08:00
csigs
f9080a6e12 LEGO: Merge pull request 1329
LEGO: Merge pull request 1329
2021-12-03 08:33:32 -08:00
csigs
ec9294202e LEGO: Merge pull request 1328
LEGO: Merge pull request 1328
2021-12-02 11:06:09 -08:00
Alex Ma
f9e7b22697 Consolidate Loc Files to one (#1325)
* Added locproject to defaultimpl

* added resourceprovider core

* added more locprojects for rest of projects

* moved LocProject to src

* Added consolidated locproject

* deleted old locprojects

* fix tab to better match ADS

* Revert "fix tab to better match ADS"

This reverts commit e3e3370ac9eb647b94b908e0432fbc52a9874b41.
2021-12-01 09:49:27 -08:00
Charles Gagnon
5b9300f39a Add and package osx-x64 (#1324) 2021-11-29 16:47:59 -08:00
Alex Ma
1bae482a8d Loc for other projects. (#1323)
* Added locproject to defaultimpl

* added resourceprovider core

* added more locprojects for rest of projects
2021-11-29 12:50:52 -08:00
Charles Gagnon
d560ff6d5e Target win-x64 instead of win7-x64 (#1306)
* Target win-x64 instead of win7-x64

* Bump version

* Update descriptions & fix path
2021-11-16 11:18:01 -08:00
Charles Gagnon
684587b8c4 Don't build unused RIDs (#1288)
* print work folder sizes

* fix spacing

* Get all children

* Remove win7-x86, win10-arm & win10-arm64 builds

* add few more

* remove print job
2021-11-08 16:54:50 -08:00
Justin M
f2da10f23a Kusto AdminService Unit Tests (#1257)
* Added unit tests for AdminService. Added interface for IConnectionService.

* Kusto connection map to ConnectionManager (#1258)

* Created ConnectionManager and moved connectionMap. Changed references from ConnectionService to ConnectionManager.

* Changed creation of ConnectionManager to MEF instead of Instance creation
2021-10-07 11:46:13 -07:00
Justin M
e7b17fb660 Kusto Format Fix (#1251)
* Added Format function to DataSourceFactory. Removed unsued code / commented code in TSqlFormatterService.

* Renamed TSqlFormatterService to FormatterService in Kusto
2021-09-29 13:07:56 -07:00
Justin M
53c0ff9f07 [AzureMonitor] Show Custom Logs (#1248)
* Added logic to render Custom Logs in MonitorDataSource

* Changed Custom Logs name for AzureMonitor
2021-09-22 14:30:37 -07:00
Justin M
60c847ff60 Changed RefreshAuthToken in ConnectionService and KustoClient to follow TryParse pattern. (#1245) 2021-09-17 12:25:11 -07:00
Justin M
0421d3ae7c Added check if metadata is empty to throw error exception. (#1236)
* Added check if metadata is empty to throw error exception.

* Changed error message.

* Changed error message to be displayed when invalid Workspace ID is provided for AzureMonitorLogs.
2021-08-25 11:38:35 -07:00
Justin M
822213a655 AzureMonitor Fix Dashboard Tables (#1232)
* Changed results for AzureMonitor GetChildObjects for Dashboard

* Changed MonitorDataSource to use SortedDictionary instead of List when storing nodes.
2021-08-10 11:00:45 -07:00
Justin M
609194d66f Added filter logic to exclude comments in MonitorClient. Added error handling in KustoClient to handle ErrorResponseExceptions. (#1226) 2021-08-05 09:06:21 -07:00
Justin M
d666ed536e Changed logic around loading tables in MonitorDataSource. Added DisplayName to TableGroupsModel (#1225) 2021-08-05 09:05:58 -07:00
Justin M
1f7da97e6c Added AzureMonitor to Microsoft.Kusto.ServiceLayer (#1208)
* Added AzureMonitor to Microsoft.Kusto.ServiceLayer.

* Added Intellisense for AzureMonitor. Moved Intellisense logic from KustoIntellisenseClient to IntellisenseClientBase.

* Added ServiceName as a command parameter for starting Kusto.

* Added check to return null if connectionInfo is not in the connectionService.

* Added support for Dashboard in MetadataService and AdminService.

* Removed workspace id from databaseName for Monitor. Added logic for MetadataService and AdminService to return different information for AzureMonitor.

* Moved providerName and providerDescription to DataSourceFactory.

* Changed DatabaseName to include Name and Id. Changed ProviderName to LOGANALYTICS in DataSourceFactory

* Fixed unit tests

* Changed logic to use ServiceName instead of server to determine DataSourceType

* Code review feedback and reverted changes to ObjectExplorerService.

* Removed unused reference from HostLoader

* Changed Parallel.Invoke to await Task.Run

* Moved Kusto datasource and supporting classes to separate directory.

* Removed unused datasourceFactory from ConnectionService. Added GetDatabases and GetDatabaseInfo to IDataSource and child classes

* Renamed Instance variables in ObjectExplorerService. Removed unused attribute on TSqlFormatterService. Removed invalid comment in ConnectionService.

* Fixed warnings in build.

* Moved SizeInMB to DatabaseMetadata. Refactored ConvertToDatabaseInfo

* Fixed unit test
2021-06-25 21:40:45 -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
Alex Ma
993b094db9 Localization added to sqlservicetools (#1216)
* added other languages to ServiceLayer

* fixed travis and appveyor yaml, added other languages for localization

* added spanish and german strings to credentialslocalization, also WIP for coreservices test

* added WIP localization test for CoreServices

* Removed unit test for coreservices, need to work on those later.

* restored travis and appveyor

* added kusto string resource localization test

* added localization test and locale change for SqlToolsCredentials

* added locale command options to ResourceProvider

* revert resourceprovider test

* Localized SqlTools.Credentials

* added hosting localization

* replaced new with translation to be consistent with main service layer

* reverted external changes as it is unnecessary

* Translated ManagedBatchParser

* test culture value

* test culture change

* temporarily comment out service layer command options

* returned sr.cs

* temporarily remove bad tests

* restored tests and allowed for SR culture to change for dependencies (for future testing)

* localization for resourceprovider components added.

* Set LocaleSetter to public and also removed InternalsVisible for Kusto, Credentials and ResourceProvider

* removed unnecessary changes

* Removed CredentialsCommandOptions

* renamed pt-BR to pt-br

* Rename sr.pt-BR.xlf.template to sr.pt-br.xlf.template

* Rename src/Microsoft.SqlTools.ServiceLayer/Localization/LCL/pt-BR/sr.resx.lcl to src/Microsoft.SqlTools.ServiceLayer/Localization/LCL/pt-br/sr.resx.lcl

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.resx to sr.pt-br.resx

* Rename sr.pt-BR.resx to sr.pt-br.resx

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.resx to sr.pt-br.resx

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.resx to sr.pt-br.resx

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.resx to sr.pt-br.resx

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.resx to sr.pt-br.resx

* Rename sr.pt-BR.xlf to sr.pt-br.xlf

* Rename sr.pt-BR.resx to sr.pt-br.resx

* restored newlines

* Update sr.pt-br.xlf.template

Removed newline

* removed newline

* fixing newlines for consistency

* removed unnecessary newline
2021-06-10 15:50:53 -07:00
Justin M
7fc07d08c0 Kusto Special Character Database Fix (#1201)
* Removed Parallel.Invoke from KustoIntellisenseClient.cs > LoadSchema. Added EscapeName from databaseName to LoadSchema and GetTableInfos

* Reverted change to Parallel.Invoke in LoadSchema
2021-04-30 17:33:08 -07:00
Justin M
875d60b418 Moved ParseDatabaseName to KustoQueryUtils and called it from KustoDataSource. (#1195) 2021-04-26 16:53:29 -07:00
Justin M
516553f72a Default Kusto database name (#1187)
* Added check to set the databaseName to the first database on the cluster when no database is provided

* Changed kusto query for loading databases to follow best practices

* Fixed failing unit test

* Optimized query for getting first database
2021-04-13 00:00:56 -07:00
Justin M
c483cea88c Renamed RefreshAzureToken to RefreshAuthToken. Changed provider value to authenticationType. (#1183) 2021-03-29 15:08:09 -07:00
Justin M
c204cd7848 Removed catch block around ExecuteQueryAsync to allow exception to bubble up and be returned to ADS. (#1169) 2021-03-04 11:12:21 -08:00
Justin M
13a7d4aa2b Kusto NoAuth authentication (#1161)
* Added username and password to DataSourceConnectionDetails. Refactored KustoClient>GetKustoConnectionStringBuilder to accept no username or password for no credentials authentication.

* Removed invalid Unit Test and added 2 unit tests for testing authentication type.

* Added validation for dstsAuth and AzureMFA in DataSourceFactory. Added unit test for validation.
2021-02-23 17:29:09 -08:00
Alan Ren
f75be77138 add visualization option support (#1160)
* add visualization option support

* add comments
2021-02-11 15:40:29 -08:00
Justin M
6f22dcf241 Kusto Auth Refactor Tests (#1148)
* Refactored Kusto.ServiceLayer to pass ConnectionDetails to DataSourceFactory instead of connection string. Created KustoConnectionDetails to map needed details to KustoClient.

* Removed unused ScriptingScriptOperation from KustoServiceLayer.

* Created DstsAuthenticationManager and moved logic for getting DstsToken. Updated error message for failing to create KustoConnection.

* Removed DstsAuthenticationManager.cs. Refactored DataSourceFactory to retrieve UserToken from ConnectionDetails.

* Renamed AzureAccountToken in ConnectionDetails to AccountToken. Changed mapping to KustoConnectionDetails based on the AccountToken.

* Removed Kusto.Data reference from ConnectionService and ScriptingListObjectsOperation. Moved creation of KustoConnectionStringBuilder to DataSourceFactory

* Added accountToken validation to DataSourceFactory Create.

* Renamed KustoConnectionDetails to DataSourceConnectionDetails. Renamed AzureToken to AuthToken.

* Refactored SchemaState and intellisense out of KustoClient to KustoIntellisenseClient. Added IIntellisenseClient. Added unit tests for KustoIntellisenseClient and KustoClient.

* Removed unused property dataSourceFactory from LanguageService > InitializeService. Moved KustoIntellisense functions from KustoIntellisenseHelper to KustoIntellisenseClient and made SchemaState private. Added IIntellisenseClient to IDataSource.

* Renamed directory from DataSourceIntellisense to Intellisense and updated namespace. Fixed namespace in ScriptDocumentInfo.
2021-01-29 11:25:23 -08:00
Justin M
f0a5e11d51 dSTS Authentication (#1125)
* Refactored Kusto.ServiceLayer to pass ConnectionDetails to DataSourceFactory instead of connection string. Created KustoConnectionDetails to map needed details to KustoClient.

* Removed unused ScriptingScriptOperation from KustoServiceLayer.

* Created DstsAuthenticationManager and moved logic for getting DstsToken. Updated error message for failing to create KustoConnection.

* Removed DstsAuthenticationManager.cs. Refactored DataSourceFactory to retrieve UserToken from ConnectionDetails.

* Renamed AzureAccountToken in ConnectionDetails to AccountToken. Changed mapping to KustoConnectionDetails based on the AccountToken.

* Removed Kusto.Data reference from ConnectionService and ScriptingListObjectsOperation. Moved creation of KustoConnectionStringBuilder to DataSourceFactory

* Added accountToken validation to DataSourceFactory Create.

* Renamed KustoConnectionDetails to DataSourceConnectionDetails. Renamed AzureToken to AuthToken.
2021-01-14 13:49:09 -08:00
Charles Gagnon
822ffb2908 Remove invalid SET option for SqlOnDemand (#1147) 2021-01-11 09:08:50 -08:00
Alex Ma
fefcab1c04 Added new String Resource Tool to fix issue (#1129) 2020-12-01 11:49:31 -08:00
Justin M
fd84367008 4094 Kusto AAD Authentication Refactor (#1115)
* 4094 Upgraded Kusto.Data and Kusto.Language to 9.0.3. Refactored KustoServiceLayer to use KustoConnectionStringBuilder instead of Sql.

* 4094 Refactored KustoClient>Initialize to take connectionString as optional. Removed unused properties from ConnectionService>ParseConnectionString

* 4094 Updated Kusto.Data and Kusto.Language nuget packages to 9.0.4. Removed IsDedicatedAdminConnection function in ConnectionService.

* 4094 Fixed unit tests
2020-11-20 11:54:40 -08:00
Justin M
67c7e20c13 13159 Created SetDatabaseName in KustoClient to take database name from ( ). Changed ListDatabases in Kusto ConnnectionService to set DatabaseNames in a different format when the PrettyName doesn't match the name. (#1123) 2020-11-19 14:18:58 -08:00
Justin M
30d600e423 Kusto Client Cleanup (#1102)
* Cleaned up KustoClient with formatting and switched logic between ExecuteCommandAsync and ExecuteQueryAsync to match their respective names.

* Refactored ExecuteControlCommandAsync to call ExecuteControlCommandAsync in KustoAdminProvider. Fixed spacing in GetClientRequestProperties

* Refactored ExecuteQueryAsync to not use Task.Run
2020-11-17 10:26:09 -08:00
Justin M
954df47ec9 13159 Kusto Aria Fix (#1112)
* 13159 Changed NodeValue in TreeNode to PrettyName instead of Name. In KustoDataSource, changed Exists to run different query for Aria. Changed GetClusterDiagnostics to return empty DiagnosticsInfo for Aria. Changed SetDatabaseMetadata to not includeSizeDetails for Aria connections.

* 13159 Fixed unit test Refresh_Returns_Children
2020-11-02 15:35:37 -08:00
Benjin Dubishar
271a0f5733 Updated loc build outputs (#1110) 2020-10-30 14:04:56 -07:00
Monica Gupta
dbfcf4ad61 Fix for queries with comments separated by new lines (#1101)
* Fix for queries with comments separated by new lines

* Mimic Kusto behaviour for comments ran as query

* extra check

* address comment

Co-authored-by: Monica Gupta <mogupt@microsoft.com>
2020-10-20 13:53:34 -07:00
Monica Gupta
1ee0c1d09a Make Kusto control commands work (#1094)
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
2020-10-08 17:51:08 -07:00
Justin M
a94ab9d8b4 Changed logic to use database name provided by connectionString (#1091) 2020-10-06 20:45:54 -07:00
Justin M
f2eb590d97 3490 Kusto Connection Refresh Fix (#1085)
* 3490 Injected OwnerUri into KustClient to store for token refreshing. Removed UpdateAzureToken from IDataSource, DataSourceBase, and KustoDataSource. Removed logic for retrying queries related to Unauthorized datasource in Batch and Query. Changed ScriptingService, ScriptingScriptOperation, and ScriptAsScriptingOperation to take DataSource in the constructor instead of datasourcefactory. Changed ScriptingService to inject ConnectionService through InitializeService function.

* 3490 Removed Catch block for DataSourceUnauthorizedException in ExecuteControlCommandAsync

* 3490 Removed OwnerUri from KustoClient and used azureAccountToken to refresh token in ConnectionService.

* 3490 Reverted unneeded changes.

* 3490 Split ExecuteQuery in KustoClient to execute first query then remaining queries after

* 3490 Passed OwnerUri down into KustoClient to refresh token.

* 3490 Removed DataSourceUnauthorizedException. Refactored ExecuteQuery to catch aggregate exception. Added RefreshAzureToken logic to ExecuteControlCommand

* 3490 Added logic to update ReliableDataSourceConnection azure token within ConnectionInfo.

* 3490 Add retry logic to ExecuteQuery and ExecuteControlCommand in KustoClient
2020-10-06 17:20:13 -07:00
Justin M
2b022d2e48 3326 Kusto HTTPS url fix (#1086)
* 3326 Removed sqlConnection.Open from CreateSqlConnection in ConnectionService.

* 3326 Removed unused variables and functions from ConnectedBindingContext, ConnectedBindingQueue, IBindingContext, and IConnectedBindingQueue

* 3326 Removed unused constant SqlAzureEdition and unused functions CreateSqlConnection and CreateServerConnection from ConnectionService. Removed ServerConnection, MetadataDisplayInfoProvider, Binder, and SmoMetaDataProvider from ConnectedBindingContext. Deleted SqlConnectionOpener and ISqlConnectionOpener.
2020-10-05 00:56:40 -07:00
Monica Gupta
164ca951da Fix for multiple queries separated by space for Kusto (#1089)
* Fix for multiple queries separated by space

* Addressed comments

Co-authored-by: Monica Gupta <mogupt@microsoft.com>
2020-10-04 19:12:33 -07:00
Justin M
d061e781f4 3644 Kusto Azure Token Refresh (#1081)
* 3644 Created KustoClient to handle interaction with Kusto servers. Refactored KustoDataSource and moved execution logic into KustoClient.

* 3644 Added RequestSecurityTokenParams, RequestSecurityTokenResponse, and SecurityTokenRequest to Kusto. Moved intellisense functions from KustoDataSource to KustoIntellisenseHelper. Added SchemaState to readonly property on KustoDataSource. Added catch block to Batch.cs to catch KustoRequestExceptions.

* 3644 Removed unused reference from ConnectionDetails and ConnectedBindingContext. Added UpdateAzureToken function to IKustoClient, KustoClient, IDataSource, KustoDataSource, and KustoDataSource. Added dataSource.Dispose to ReliableDataSourceConnection > Close. Added RefreshAzureToken to ConnectionService to refresh azure token.

* 3644 Removed unused properties from RequestSecurityTokenParams and RequestSecurityTokenResponse

* 3644 Added default to DbColumnWrapper to UnknownTypeName when null. Moved database query logic from KustoIntellisenseHelper to KustoClient. Moved KustoIntellisenseHelper data objects out of class. Changed SchemaState to load through separate tasks.

* 3644 Changed ReRunQuery logic in Kusto Batch to flip back to false if the query fails a second time so it can be rejected

* 3644 Updated GetAutoCompleteSuggestions and GetHoverHelp with changes from main

* 3644 Added AccountId to RequestSecurityTokenParams and set value in ConnectionService. Added throw to Batch.cs to ensure exceptions that are non-Unauthorized bubble up to ADS.

* 3644 Changed KustoUnauthorizedException to take original exception as inner exception. Changed catch block to only throw KustoUnauthorizedException when FailureCode is 401

* 3644 Renamed KustoUnauthorizedException to DataSourceUnauthorizedException. Moved logic to throw exception down into KustoClient. Changed retryLogic in Batch.cs to a decrementing count

* 3644 Changed logic in Batch.cs for throwing InvalidOperationException
2020-09-28 13:24:23 -07:00
Monica Gupta
dfa4f2eaaa Fix to address dynamic type (#1084)
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
2020-09-26 13:43:07 -07:00
Monica Gupta
fd4d067e71 Fix intellisense if multiple kusto queries exist (#1080)
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
2020-09-21 10:23:00 -07:00