Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
8 changes: 4 additions & 4 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 @@ -456,7 +453,10 @@ export class InsightsConnection {
kdbOutputLog(`User cancelled the Scrathpad 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