From 60b5480374108331034a795861a2b29e4501b7e9 Mon Sep 17 00:00:00 2001 From: zipg Date: Tue, 22 Sep 2026 22:29:45 +0800 Subject: [PATCH] fix(editor): show insert value hints for all statements in a window --- apps/desktop/src/lib/sql/insertValueHints.ts | 44 ++++++++++- docs/screenshots/issue-9966-after.png | Bin 0 -> 60980 bytes docs/screenshots/issue-9966-before.png | Bin 0 -> 56545 bytes packages/app-tests/insertValueHints.test.ts | 75 +++++++++++++++++++ 4 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 docs/screenshots/issue-9966-after.png create mode 100644 docs/screenshots/issue-9966-before.png diff --git a/apps/desktop/src/lib/sql/insertValueHints.ts b/apps/desktop/src/lib/sql/insertValueHints.ts index 0549de7a75..4762556993 100644 --- a/apps/desktop/src/lib/sql/insertValueHints.ts +++ b/apps/desktop/src/lib/sql/insertValueHints.ts @@ -686,14 +686,52 @@ export function parseInsertValuesClausesInRanges(sql: string, ranges: readonly T return clauses; } +/** + * Split one statement group into its individual INSERT statements. + * + * Semicolons are optional in several dialects (T-SQL in particular), so a single top-level group + * can hold more than one INSERT statement -- `BEGIN TRANSACTION ... INSERT ... INSERT ... COMMIT` + * typed in one query window is the everyday case. `parseInsertClause` only ever reads the first + * INSERT of the token list it is handed, so passing it the whole group left every later INSERT + * without its VALUES/SELECT-to-column mapping (#9966). Splitting at each INSERT keyword keeps the + * per-statement parse working for semicolon-less scripts; scripts that do terminate their + * statements with `;` still yield one group (and therefore one segment) per statement. + * + * An `insert` word is only a statement start when the next token is `into`: MySQL/MariaDB also + * expose the INSERT(str, pos, len, newstr) string function, and splitting at that call would + * truncate its host statement mid-expression (parseInsertClause requires INTO anyway). + */ +function splitInsertStatements(tokens: readonly SqlSemanticToken[]): Array<{ span: SqlSemanticSpan; tokens: SqlSemanticToken[] }> { + const starts: number[] = []; + for (let index = 0; index < tokens.length; index += 1) { + const item = tokens[index]; + const next = tokens[index + 1]; + if (item?.kind === "word" && item.normalized === "insert" && next?.kind === "word" && next.normalized === "into") { + starts.push(index); + } + } + const statements: Array<{ span: SqlSemanticSpan; tokens: SqlSemanticToken[] }> = []; + for (let position = 0; position < starts.length; position += 1) { + const from = starts[position]!; + const to = position + 1 < starts.length ? starts[position + 1]! : tokens.length; + const statementTokens = tokens.slice(from, to); + const first = statementTokens[0]!; + const last = statementTokens[statementTokens.length - 1]!; + statements.push({ span: { start: first.span.start, end: last.span.end }, tokens: statementTokens }); + } + return statements; +} + /** Parse all INSERT ... VALUES/SELECT clauses in `sql` (multi-statement aware). Prefer ranged parsing for editors. */ export function parseInsertValuesClauses(sql: string, dialectId = "mysql"): InsertValuesClause[] { if (!sql.trim()) return []; const allTokens = tokenizeSqlSemantic(sql, dialectId); const clauses: InsertValuesClause[] = []; - for (const { span, tokens } of statementTokenGroups(sql, allTokens)) { - const clause = parseInsertClause(tokens, span); - if (clause) clauses.push(clause); + for (const { tokens } of statementTokenGroups(sql, allTokens)) { + for (const statement of splitInsertStatements(tokens)) { + const clause = parseInsertClause(statement.tokens, statement.span); + if (clause) clauses.push(clause); + } } return clauses; } diff --git a/docs/screenshots/issue-9966-after.png b/docs/screenshots/issue-9966-after.png new file mode 100644 index 0000000000000000000000000000000000000000..7deadade7ae297e7dde340d8898e5bc11b59f270 GIT binary patch literal 60980 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 MxqhkI`qpp%0YO%-%>V!Z literal 0 HcmV?d00001 diff --git a/docs/screenshots/issue-9966-before.png b/docs/screenshots/issue-9966-before.png new file mode 100644 index 0000000000000000000000000000000000000000..e70251e22f8849ba2769456d1c0d37682ea58f6c GIT binary patch literal 56545 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 MLK1?-U)0_I2T@?eA^-pY literal 0 HcmV?d00001 diff --git a/packages/app-tests/insertValueHints.test.ts b/packages/app-tests/insertValueHints.test.ts index 0bbe5b6f24..25c99395ac 100644 --- a/packages/app-tests/insertValueHints.test.ts +++ b/packages/app-tests/insertValueHints.test.ts @@ -583,6 +583,81 @@ test("documents a known limitation of the pure-string fallback (no live EditorSt assert.notEqual(window.from, 0, "known-imperfect (pure-string fallback only): a correct implementation would return 0 here (the whole CREATE FUNCTION is one statement)"); }); +test("parses every INSERT inside a semicolon-less statement group", () => { + // T-SQL scripts routinely omit statement terminators; the reported case is one query window + // holding BEGIN TRANSACTION + two INSERT ... SELECT statements (#9966). + const sql = ["BEGIN TRANSACTION", "INSERT INTO u_msfx_a (id, billno) SELECT src_id, src_billno FROM staging_a", "INSERT INTO u_msfx_b (id, billno) SELECT src_id, src_billno FROM staging_b", "COMMIT TRANSACTION"].join("\n"); + const clauses = parseInsertValuesClauses(sql, "sqlserver"); + assert.deepEqual( + clauses.map((clause) => clause.table), + ["u_msfx_a", "u_msfx_b"], + ); + const hints = buildInsertValueHints(clauses); + assert.deepEqual( + hints.map((hint) => hint.column), + ["id", "billno", "id", "billno"], + ); + assert.deepEqual( + hints.map((hint) => hint.from), + [sql.indexOf("src_id"), sql.indexOf("src_billno"), sql.lastIndexOf("src_id"), sql.lastIndexOf("src_billno")], + ); +}); + +test("parses every INSERT ... VALUES inside a semicolon-less statement group", () => { + const sql = "INSERT INTO t1 (id, name) VALUES (1, 'a')\nINSERT INTO t2 (id, name) VALUES (2, 'b')"; + const clauses = parseInsertValuesClauses(sql, "sqlserver"); + assert.deepEqual( + clauses.map((clause) => clause.table), + ["t1", "t2"], + ); + assert.deepEqual( + buildInsertValueHints(clauses).map((hint) => hint.column), + ["id", "name", "id", "name"], + ); +}); + +test("does not split a statement at the INSERT() string function", () => { + // MySQL/MariaDB expose INSERT(str, pos, len, newstr); an `insert` word without a following + // INTO is a function call, not a statement start. + const sql = "INSERT INTO t1 (id, name) SELECT id, INSERT('ab', 1, 2, 'xy') FROM src\nINSERT INTO t2 (id, name) VALUES (1, INSERT('ab', 1, 2, 'xy'))"; + const clauses = parseInsertValuesClauses(sql, "mysql"); + assert.deepEqual( + clauses.map((clause) => clause.table), + ["t1", "t2"], + ); +}); + +test("parses each batch of a GO-separated SQL Server script", () => { + const sql = ["INSERT INTO t1 (id, name) SELECT src_id, src_name FROM staging1", "GO", "INSERT INTO t2 (id, name) SELECT src_id, src_name FROM staging2", "GO"].join("\n"); + const clauses = parseInsertValuesClauses(sql, "sqlserver"); + assert.deepEqual( + clauses.map((clause) => clause.table), + ["t1", "t2"], + ); + assert.deepEqual( + buildInsertValueHints(clauses).map((hint) => hint.column), + ["id", "name", "id", "name"], + ); +}); + +test("still parses INSERT statements separated by semicolons", () => { + const sql = "INSERT INTO t1 (id, name) SELECT src_id, src_name FROM staging1; INSERT INTO t2 (id, name) SELECT src_id, src_name FROM staging2;"; + const clauses = parseInsertValuesClauses(sql, "sqlserver"); + assert.deepEqual( + clauses.map((clause) => clause.table), + ["t1", "t2"], + ); + assert.deepEqual( + buildInsertValueHints(clauses).map((hint) => hint.column), + ["id", "name", "id", "name"], + ); +}); + +test("does not read a MERGE INSERT branch as an INSERT statement", () => { + const sql = "MERGE INTO t USING s ON t.id = s.id WHEN NOT MATCHED THEN INSERT (id, name) VALUES (s.id, s.name)"; + assert.deepEqual(parseInsertValuesClauses(sql, "sqlserver"), []); +}); + test("ignores statements that are not INSERT VALUES", () => { const sql = "SELECT 1; UPDATE users SET name = 'a' WHERE id = 1;"; assert.deepEqual(parseInsertValueHints(sql), []);