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);