Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/classes/insightsConnection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -403,9 +403,6 @@ export class InsightsConnection {
): Promise<any | undefined> {
if (this.connected && this.connEndpoints) {
const isTableView = ext.isResultsTabVisible;
const queryMsg = isStarting
? "Starting scratchpad..."
: "Query is executing...";
const scratchpadURL = new url.URL(
this.connEndpoints.scratchpad.scratchpad,
this.node.details.server,
Expand Down Expand Up @@ -453,10 +450,13 @@ export class InsightsConnection {
},
async (progress, token) => {
token.onCancellationRequested(() => {
kdbOutputLog(`User cancelled the Scrathpad execution.`, "WARNING");
kdbOutputLog(`User cancelled the scratchpad execution.`, "WARNING");
});

progress.report({ message: queryMsg });
if (isStarting) {
progress.report({ message: "Starting scratchpad..." });
}

const spRes = await axios
.post(scratchpadURL.toString(), body, {
headers,
Expand Down
4 changes: 2 additions & 2 deletions src/commands/dataSourceCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ export async function runDataSource(
const resultCount = typeof res === "string" ? "0" : res.rows.length;
kdbOutputLog(`[DATASOURCE] Results: ${resultCount} rows`, "INFO");
}
writeQueryResultsToView(
await writeQueryResultsToView(
success ? res : res.error,
query,
connLabel,
Expand All @@ -185,7 +185,7 @@ export async function runDataSource(
"INFO",
);
}
writeQueryResultsToConsole(
await writeQueryResultsToConsole(
success ? res : res.error,
query,
connLabel,
Expand Down
62 changes: 50 additions & 12 deletions src/commands/serverCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ import { readFileSync } from "fs-extra";
import { join } from "path";
import * as url from "url";
import {
CancellationToken,
Position,
ProgressLocation,
Range,
Uri,
ViewColumn,
Expand Down Expand Up @@ -790,6 +792,37 @@ export async function executeQuery(
isPython: boolean,
isWorkbook: boolean,
isFromConnTree?: boolean,
): Promise<void> {
await window.withProgress(
{
cancellable: true,
location: ProgressLocation.Window,
title: `Executing query (${executorName})`,
},
async (_progress, token) => {
await _executeQuery(
query,
connLabel,
executorName,
context,
isPython,
isWorkbook,
isFromConnTree,
token,
);
},
);
}

async function _executeQuery(
query: string,
connLabel: string,
executorName: string,
context: string,
isPython: boolean,
isWorkbook: boolean,
isFromConnTree?: boolean,
token?: CancellationToken,
): Promise<void> {
const connMngService = new ConnectionManagementService();
const queryConsole = ExecutionConsole.start();
Expand Down Expand Up @@ -842,9 +875,14 @@ export async function executeQuery(
const endTime = Date.now();
const duration = (endTime - startTime).toString();

/* istanbul ignore next */
if (token?.isCancellationRequested) {
return undefined;
}

// set context for root nodes
if (selectedConn instanceof InsightsConnection) {
writeScratchpadResult(
await writeScratchpadResult(
results,
query,
connLabel,
Expand Down Expand Up @@ -875,7 +913,7 @@ export async function executeQuery(
await setUriContent(uri, JSON.stringify(plot));
}
} else if (ext.isResultsTabVisible) {
writeQueryResultsToView(
await writeQueryResultsToView(
results,
query,
connLabel,
Expand All @@ -888,7 +926,7 @@ export async function executeQuery(
connVersion,
);
} else {
writeQueryResultsToConsole(
await writeQueryResultsToConsole(
results,
query,
connLabel,
Expand Down Expand Up @@ -1123,7 +1161,7 @@ export async function exportConnections(connLabel?: string) {
}
}

export function writeQueryResultsToConsole(
export async function writeQueryResultsToConsole(
result: string | string[],
query: string,
connLabel: string,
Expand All @@ -1133,7 +1171,7 @@ export function writeQueryResultsToConsole(
isPython?: boolean,
duration?: string,
isFromConnTree?: boolean,
): void {
): Promise<void> {
const queryConsole = ExecutionConsole.start();
const isNonEmptyArray = Array.isArray(result) && result.length > 0;
const valueToDecode = isNonEmptyArray ? result[0] : result.toString();
Expand Down Expand Up @@ -1169,7 +1207,7 @@ export function writeQueryResultsToConsole(
}
}

export function writeQueryResultsToView(
export async function writeQueryResultsToView(
result: any,
query: string,
connLabel: string,
Expand All @@ -1180,8 +1218,8 @@ export function writeQueryResultsToView(
duration?: string,
isFromConnTree?: boolean,
connVersion?: number,
): void {
commands.executeCommand(
): Promise<void> {
await commands.executeCommand(
"kdb.resultsPanel.update",
result,
isInsights,
Expand All @@ -1204,7 +1242,7 @@ export function writeQueryResultsToView(
}
}

export function writeScratchpadResult(
export async function writeScratchpadResult(
result: ScratchpadResult,
query: string,
connLabel: string,
Expand All @@ -1213,7 +1251,7 @@ export function writeScratchpadResult(
isWorkbook: boolean,
duration: string,
connVersion: number,
): void {
): Promise<void> {
let errorMsg;

if (result.error) {
Expand All @@ -1226,7 +1264,7 @@ export function writeScratchpadResult(
}

if (ext.isResultsTabVisible) {
writeQueryResultsToView(
await writeQueryResultsToView(
errorMsg ?? result,
query,
connLabel,
Expand All @@ -1239,7 +1277,7 @@ export function writeScratchpadResult(
connVersion,
);
} else {
writeQueryResultsToConsole(
await writeQueryResultsToConsole(
errorMsg ?? result.data,
query,
connLabel,
Expand Down
Loading