Skip to content

Commit a66f652

Browse files
authored
Merge pull request #254 from codefori/fix/host_parameters_confused
Fix/host_parameters_confused
2 parents 95391d9 + e0c86f5 commit a66f652

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

src/language/json.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
import vscode from "vscode";
2+
import * as vscode from "vscode";
33

44
import Statement from "../database/statement";
55

@@ -11,11 +11,11 @@ export async function initialise(context: vscode.ExtensionContext) {
1111
const parsedData = JSON.parse(clipboard_content);
1212

1313
const sql = generateSQL(parsedData);
14-
const formatted = Statement.format(sql);
14+
// const formatted = Statement.format(sql);
1515

1616
if (vscode.window.activeTextEditor) {
1717
vscode.window.activeTextEditor.edit((edit) => {
18-
edit.insert(vscode.window.activeTextEditor.selection.active, formatted);
18+
edit.insert(vscode.window.activeTextEditor.selection.active, sql);
1919
});
2020
}
2121
} catch (e) {

src/language/sql/statement.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,7 @@ export default class Statement {
546546
let declareStmt: Token|undefined;
547547

548548
for (let i = 0; i < this.tokens.length; i++) {
549+
const prevToken = this.tokens[i-1];
549550
const currentToken = this.tokens[i];
550551

551552
switch (currentToken.type) {
@@ -593,6 +594,7 @@ export default class Statement {
593594
case `colon`:
594595
if (intoClause) continue;
595596
if (declareStmt) continue;
597+
if (prevToken && prevToken.type === `string`) continue;
596598

597599
let nextMustBe: "word"|"dot" = `word`;
598600
let followingTokenI = i+1;

src/language/sql/tests/statements.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1264,6 +1264,17 @@ describe(`Parameter statement tests`, () => {
12641264
expect(markerRanges.length).toBe(2);
12651265
});
12661266

1267+
test('JSON_OBJECT parameters should not mark as embedded', () => {
1268+
const document = new Document(`values json_object('model_id': 'meta-llama/llama-2-13b-chat', 'input': 'TEXT', 'parameters': json_object('max_new_tokens': 100, 'time_limit': 1000), 'space_id': 'SPACEID')`);
1269+
const statements = document.statements;
1270+
expect(statements.length).toBe(1);
1271+
1272+
const statement = statements[0];
1273+
1274+
const markerRanges = statement.getEmbeddedStatementAreas();
1275+
expect(markerRanges.length).toBe(0);
1276+
});
1277+
12671278
test(`Single questionmark parameter content test`, () => {
12681279
const sql = `select * from sample where x = ?`;
12691280
const document = new Document(sql);

0 commit comments

Comments
 (0)