diff --git a/src/sql/recent-query.test.ts b/src/sql/recent-query.test.ts index 7d2b815..91062c9 100644 --- a/src/sql/recent-query.test.ts +++ b/src/sql/recent-query.test.ts @@ -211,6 +211,12 @@ test("analyze produces a RecentQuery with formatted query and analysis", async ( expect(rq.tableReferences.some((ref) => ref.table === "users")).toBe(true); }); +test("analyze strips sqlcommenter tags from formattedQuery", async () => { + const query = "SELECT id FROM users /*traceparent='00-abc123'*/"; + const rq = await RecentQuery.analyze(makeRawQuery({ query }), testHash, 2000); + expect(rq.formattedQuery).toBe("SELECT\n id\nFROM\n users "); +}); + test("analyze throws on unparseable SQL", async () => { const data = makeRawQuery({ query: "THIS IS NOT VALID SQL AT ALL !!!" }); await expect( diff --git a/src/sql/recent-query.ts b/src/sql/recent-query.ts index 39290c0..a81fe61 100644 --- a/src/sql/recent-query.ts +++ b/src/sql/recent-query.ts @@ -121,11 +121,16 @@ export class RecentQuery { const formattedQuery = await RecentQuery.formatQuery( data.query, ); - const analysis = await analyzer.analyze(formattedQuery); + const analysis = await analyzer.analyze(data.query, formattedQuery); const query = this.rewriteQuery(analysis.queryWithoutTags); const displayQuery = await RecentQuery.computeDisplayQuery(query); return new RecentQuery( - { ...data, query, formattedQuery, displayQuery }, + { + ...data, + query, + formattedQuery: analysis.formattedQueryWithoutTags ?? formattedQuery, + displayQuery, + }, analysis.referencedTables, analysis.indexesToCheck, analysis.tags,