diff --git a/Packages.props b/Packages.props
index a2f97a26..b9630778 100644
--- a/Packages.props
+++ b/Packages.props
@@ -18,7 +18,7 @@
-
+
diff --git a/src/Microsoft.SqlTools.CoreServices/Connection/ReliableConnection/ReliableConnectionHelper.cs b/src/Microsoft.SqlTools.CoreServices/Connection/ReliableConnection/ReliableConnectionHelper.cs
index 1e67ea31..3c856e94 100644
--- a/src/Microsoft.SqlTools.CoreServices/Connection/ReliableConnection/ReliableConnectionHelper.cs
+++ b/src/Microsoft.SqlTools.CoreServices/Connection/ReliableConnection/ReliableConnectionHelper.cs
@@ -39,6 +39,7 @@ namespace Microsoft.SqlTools.CoreServices.Connection.ReliableConnection
(int)DatabaseEngineEdition.SqlDatabase,
(int)DatabaseEngineEdition.SqlDataWarehouse,
(int)DatabaseEngineEdition.SqlStretchDatabase,
+ (int)DatabaseEngineEdition.SqlOnDemand,
// Note: for now, ignoring managed instance as it should be treated just like on prem.
});
diff --git a/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs b/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs
index 55a55c00..247153be 100644
--- a/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs
+++ b/src/Microsoft.SqlTools.ManagedBatchParser/ReliableConnection/ReliableConnectionHelper.cs
@@ -39,6 +39,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection
(int)DatabaseEngineEdition.SqlDatabase,
(int)DatabaseEngineEdition.SqlDataWarehouse,
(int)DatabaseEngineEdition.SqlStretchDatabase,
+ (int)DatabaseEngineEdition.SqlOnDemand,
// Note: for now, ignoring managed instance as it should be treated just like on prem.
});
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Admin/Database/DatabasePrototype.cs b/src/Microsoft.SqlTools.ServiceLayer/Admin/Database/DatabasePrototype.cs
index ffec8701..cca2e871 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Admin/Database/DatabasePrototype.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Admin/Database/DatabasePrototype.cs
@@ -280,7 +280,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Admin
SELECT so.name as configured_slo_name, so2.name as current_slo_name
FROM dbo.slo_database_objectives do
INNER JOIN dbo.slo_service_objectives so ON do.configured_objective_id = so.objective_id
- INNER JOIN dbo.slo_service_objectives so2 ON do.current_objective_id = so2.objective_id
+ INNER JOIN dbo.slo_service_objectives so2 ON do.current_objective_id = so2.objective_id
WHERE do.database_id = @DbID
";
@@ -586,7 +586,8 @@ WHERE do.database_id = @DbID
}
//Only fill in the Azure properties when connected to an Azure server
- if (context.Server.ServerType == DatabaseEngineType.SqlAzureDatabase)
+ if (context.Server.ServerType == DatabaseEngineType.SqlAzureDatabase
+ && context.Server.DatabaseEngineEdition != DatabaseEngineEdition.SqlOnDemand)
{
this.azureEditionDisplayValue = db.AzureEdition;
AzureEdition edition;
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs
index 49a561f1..59445a12 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionInfo.cs
@@ -7,6 +7,7 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Data.Common;
+using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlTools.ServiceLayer.Connection.Contracts;
using Microsoft.SqlTools.Utility;
@@ -76,6 +77,11 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
///
public bool IsSqlDW { get; set; }
+ ///
+ /// Returns the connection Engine Edition
+ ///
+ public DatabaseEngineEdition EngineEdition { get; set; }
+
///
/// Returns the major version number of the db we are connected to
///
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionService.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionService.cs
index 75bb4fa7..2ffa682e 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionService.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/ConnectionService.cs
@@ -472,6 +472,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
connectionInfo.MajorVersion = serverInfo.ServerMajorVersion;
connectionInfo.IsSqlDb = serverInfo.EngineEditionId == (int)DatabaseEngineEdition.SqlDatabase;
connectionInfo.IsSqlDW = (serverInfo.EngineEditionId == (int)DatabaseEngineEdition.SqlDataWarehouse);
+ connectionInfo.EngineEdition = (DatabaseEngineEdition) serverInfo.EngineEditionId;
}
catch (Exception ex)
{
diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/ListDatabaseRequestHandler.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/ListDatabaseRequestHandler.cs
index 006bcdf4..e71d3525 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/Connection/ListDatabaseRequestHandler.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/ListDatabaseRequestHandler.cs
@@ -7,6 +7,7 @@ using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
+using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlTools.ServiceLayer.Admin.Contracts;
using Microsoft.SqlTools.ServiceLayer.Connection.Contracts;
@@ -25,9 +26,9 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
///
static class ListDatabaseRequestHandlerFactory
{
- public static IListDatabaseRequestHandler getHandler(bool includeDetails, bool isSqlDB)
+ public static IListDatabaseRequestHandler getHandler(bool includeDetails, bool isSqlDB, ConnectionInfo connectionInfo = null)
{
- if (!includeDetails)
+ if (!includeDetails || connectionInfo?.EngineEdition == DatabaseEngineEdition.SqlOnDemand)
{
return new DatabaseNamesHandler();
}
diff --git a/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/TreeNodeGenerator.cs b/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/TreeNodeGenerator.cs
index 7857a956..1d13751d 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/TreeNodeGenerator.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/TreeNodeGenerator.cs
@@ -265,7 +265,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
NodeType = "Folder",
NodeTypeId = NodeTypes.ServerLevelServerRoles,
IsSystemObject = false,
- ValidFor = ValidForFlag.AllOnPrem|ValidForFlag.SqlOnDemand,
+ ValidFor = ValidForFlag.AllOnPrem,
SortPriority = SmoTreeNode.NextSortPriority,
});
currentChildren.Add(new FolderNode {