mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-17 02:51:45 -05:00
Moved ParseDatabaseName to KustoQueryUtils and called it from KustoDataSource. (#1195)
This commit is contained in:
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Kusto.Cloud.Platform.Data;
|
using Kusto.Cloud.Platform.Data;
|
||||||
@@ -39,15 +38,6 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
Initialize(connectionDetails);
|
Initialize(connectionDetails);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string ParseDatabaseName(string databaseName)
|
|
||||||
{
|
|
||||||
var regex = new Regex(@"(?<=\().+?(?=\))");
|
|
||||||
|
|
||||||
return regex.IsMatch(databaseName)
|
|
||||||
? regex.Match(databaseName).Value
|
|
||||||
: databaseName;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Initialize(DataSourceConnectionDetails connectionDetails)
|
private void Initialize(DataSourceConnectionDetails connectionDetails)
|
||||||
{
|
{
|
||||||
var stringBuilder = GetKustoConnectionStringBuilder(connectionDetails);
|
var stringBuilder = GetKustoConnectionStringBuilder(connectionDetails);
|
||||||
@@ -88,7 +78,7 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
: new KustoConnectionStringBuilder(connectionDetails.ConnectionString);
|
: new KustoConnectionStringBuilder(connectionDetails.ConnectionString);
|
||||||
|
|
||||||
ClusterName = stringBuilder.DataSource;
|
ClusterName = stringBuilder.DataSource;
|
||||||
var databaseName = ParseDatabaseName(stringBuilder.InitialCatalog);
|
var databaseName = KustoQueryUtils.ParseDatabaseName(stringBuilder.InitialCatalog);
|
||||||
DatabaseName = databaseName;
|
DatabaseName = databaseName;
|
||||||
stringBuilder.InitialCatalog = databaseName;
|
stringBuilder.InitialCatalog = databaseName;
|
||||||
|
|
||||||
@@ -250,7 +240,7 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
|
|
||||||
public void UpdateDatabase(string databaseName)
|
public void UpdateDatabase(string databaseName)
|
||||||
{
|
{
|
||||||
DatabaseName = ParseDatabaseName(databaseName);
|
DatabaseName = databaseName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
|
|||||||
@@ -248,8 +248,10 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override void UpdateDatabase(string databaseName)
|
public override void UpdateDatabase(string databaseName)
|
||||||
{
|
{
|
||||||
_kustoClient.UpdateDatabase(databaseName);
|
// Aria has a GUID as a database name so parse it from the display name
|
||||||
_intellisenseClient.UpdateDatabase(databaseName);
|
var parsedDatabase = KustoQueryUtils.ParseDatabaseName(databaseName);
|
||||||
|
_kustoClient.UpdateDatabase(parsedDatabase);
|
||||||
|
_intellisenseClient.UpdateDatabase(parsedDatabase);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -111,5 +111,13 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
dictionary[key] = metadatas.OrderBy(x => x.PrettyName, StringComparer.OrdinalIgnoreCase).ToList();
|
dictionary[key] = metadatas.OrderBy(x => x.PrettyName, StringComparer.OrdinalIgnoreCase).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string ParseDatabaseName(string databaseName)
|
||||||
|
{
|
||||||
|
var regex = new Regex(@"(?<=\().+?(?=\))");
|
||||||
|
|
||||||
|
return regex.IsMatch(databaseName)
|
||||||
|
? regex.Match(databaseName).Value
|
||||||
|
: databaseName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user