diff --git a/src/classes/localConnection.ts b/src/classes/localConnection.ts index 63d42952..b0667b4d 100644 --- a/src/classes/localConnection.ts +++ b/src/classes/localConnection.ts @@ -138,21 +138,22 @@ export class LocalConnection { args.push( context ?? ".", command, + null, stringify ? "text" : "structuredText", ); } this.connection.k(wrapper, ...args, (err: Error, res: QueryResult) => { if (err) { reject(handleQueryResults(err.toString(), QueryResultType.Error)); - } else if (res.errored) { + } else if (res.error) { resolve( handleQueryResults( - res.error + (res.backtrace ? "\n" + res.backtrace : ""), + res.errorMsg + (res.stacktrace ? "\n" + res.stacktrace : ""), QueryResultType.Error, ), ); } else { - const result = res.result === null ? "" : res.result; + const result = res.data === null ? "" : res.data; if (stringify) { resolve(result); } else { diff --git a/src/models/queryResult.ts b/src/models/queryResult.ts index 0b814a43..c67527a8 100644 --- a/src/models/queryResult.ts +++ b/src/models/queryResult.ts @@ -26,6 +26,9 @@ export type QueryResult = { text: string; index: number; }[]; + + errorMsg?: string; + stacktrace?: string; }; export enum QueryResultType { diff --git a/src/utils/core.ts b/src/utils/core.ts index d27f8c53..f1b87dc6 100644 --- a/src/utils/core.ts +++ b/src/utils/core.ts @@ -500,7 +500,7 @@ export async function convertBase64License( } export function isTable(result: QueryResult): boolean { - if (!result.result || !result.meta || result.meta.length === 0) { + if (!result.data || !result.meta || result.meta.length === 0) { return false; } return true; diff --git a/src/utils/queryUtils.ts b/src/utils/queryUtils.ts index 7eddacba..3b7ee27a 100644 --- a/src/utils/queryUtils.ts +++ b/src/utils/queryUtils.ts @@ -319,7 +319,7 @@ export function getPythonWrapper( sample_fn: "first", sample_size: 10000, }; - return `{[returnFormat;code;sample_fn;sample_size] res:${wrapper}[returnFormat;code;sample_fn;sample_size];$[res\`errored;res\`error;res\`result]}["${args.returnFormat}";"${args.code}";"${args.sample_fn}";${args.sample_size}]`; + return `{[returnFormat;code;sample_fn;sample_size] res:${wrapper}[returnFormat;code;sample_fn;sample_size];$[res\`error;res\`errorMsg;res\`data]}["${args.returnFormat}";"${args.code}";"${args.sample_fn}";${args.sample_size}]`; } export function getQSQLWrapper(