From 7570d6b91d9da694500f0abd464540121b57f741 Mon Sep 17 00:00:00 2001 From: sunghyunkang1111 <114709653+sunghyunkang1111@users.noreply.github.com> Date: Wed, 12 Jun 2024 22:46:22 -0500 Subject: [PATCH] handle sampledb error handling to load the data explorer (#1870) --- src/Explorer/Explorer.tsx | 32 +++++++++++-------- .../Panes/SettingsPane/SettingsPane.tsx | 6 +++- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/Explorer/Explorer.tsx b/src/Explorer/Explorer.tsx index b20d1b78c..bb198e6c3 100644 --- a/src/Explorer/Explorer.tsx +++ b/src/Explorer/Explorer.tsx @@ -1157,21 +1157,25 @@ export default class Explorer { } public async refreshSampleData(): Promise { - if (!userContext.sampleDataConnectionInfo) { + try { + if (!userContext.sampleDataConnectionInfo) { + return; + } + const collection: DataModels.Collection = await readSampleCollection(); + if (!collection) { + return; + } + + const databaseId = userContext.sampleDataConnectionInfo?.databaseId; + if (!databaseId) { + return; + } + + const sampleDataResourceTokenCollection = new ResourceTokenCollection(this, databaseId, collection, true); + useDatabases.setState({ sampleDataResourceTokenCollection }); + } catch (error) { + Logger.logError(getErrorMessage(error), "Explorer"); return; } - - const collection: DataModels.Collection = await readSampleCollection(); - if (!collection) { - return; - } - - const databaseId = userContext.sampleDataConnectionInfo?.databaseId; - if (!databaseId) { - return; - } - - const sampleDataResourceTokenCollection = new ResourceTokenCollection(this, databaseId, collection, true); - useDatabases.setState({ sampleDataResourceTokenCollection }); } } diff --git a/src/Explorer/Panes/SettingsPane/SettingsPane.tsx b/src/Explorer/Panes/SettingsPane/SettingsPane.tsx index ff96d6716..320a10015 100644 --- a/src/Explorer/Panes/SettingsPane/SettingsPane.tsx +++ b/src/Explorer/Panes/SettingsPane/SettingsPane.tsx @@ -12,6 +12,7 @@ import * as Constants from "Common/Constants"; import { SplitterDirection } from "Common/Splitter"; import { InfoTooltip } from "Common/Tooltip/InfoTooltip"; import { configContext } from "ConfigContext"; +import { useDatabases } from "Explorer/useDatabases"; import { DefaultRUThreshold, LocalStorageUtility, @@ -107,7 +108,10 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({ const shouldShowCrossPartitionOption = userContext.apiType !== "Gremlin"; const shouldShowParallelismOption = userContext.apiType !== "Gremlin"; const shouldShowPriorityLevelOption = PriorityBasedExecutionUtils.isFeatureEnabled(); - const shouldShowCopilotSampleDBOption = userContext.apiType === "SQL" && useQueryCopilot.getState().copilotEnabled; + const shouldShowCopilotSampleDBOption = + userContext.apiType === "SQL" && + useQueryCopilot.getState().copilotEnabled && + useDatabases.getState().sampleDataResourceTokenCollection; const handlerOnSubmit = async () => { setIsExecuting(true);