mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-16 10:58:30 -05:00
Changed logic to use database name provided by connectionString (#1091)
This commit is contained in:
@@ -42,9 +42,8 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
{
|
{
|
||||||
_ownerUri = ownerUri;
|
_ownerUri = ownerUri;
|
||||||
ClusterName = GetClusterName(connectionString);
|
ClusterName = GetClusterName(connectionString);
|
||||||
var databaseName = new SqlConnectionStringBuilder(connectionString).InitialCatalog;
|
DatabaseName = new SqlConnectionStringBuilder(connectionString).InitialCatalog;
|
||||||
Initialize(ClusterName, databaseName, azureAccountToken);
|
Initialize(ClusterName, DatabaseName, azureAccountToken);
|
||||||
DatabaseName = string.IsNullOrWhiteSpace(databaseName) ? GetFirstDatabaseName() : databaseName;
|
|
||||||
SchemaState = LoadSchemaState();
|
SchemaState = LoadSchemaState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,25 +146,6 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
|
|||||||
return kcsb;
|
return kcsb;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Extracts the database name from the connectionString if it exists
|
|
||||||
/// otherwise it takes the first database name from the server
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="connectionString"></param>
|
|
||||||
/// <returns>Database Name</returns>
|
|
||||||
private string GetFirstDatabaseName()
|
|
||||||
{
|
|
||||||
var source = new CancellationTokenSource();
|
|
||||||
string query = ".show databases | project DatabaseName";
|
|
||||||
|
|
||||||
using (var reader = ExecuteQuery(query, source.Token))
|
|
||||||
{
|
|
||||||
var rows = reader.ToEnumerable();
|
|
||||||
var row = rows?.FirstOrDefault();
|
|
||||||
return row?[0].ToString() ?? string.Empty;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public IDataReader ExecuteQuery(string query, CancellationToken cancellationToken, string databaseName = null, int retryCount = 1)
|
public IDataReader ExecuteQuery(string query, CancellationToken cancellationToken, string databaseName = null, int retryCount = 1)
|
||||||
{
|
{
|
||||||
ValidationUtils.IsArgumentNotNullOrWhiteSpace(query, nameof(query));
|
ValidationUtils.IsArgumentNotNullOrWhiteSpace(query, nameof(query));
|
||||||
|
|||||||
Reference in New Issue
Block a user