diff --git a/src/sql/recent-query.test.ts b/src/sql/recent-query.test.ts index 96748e3..8351334 100644 --- a/src/sql/recent-query.test.ts +++ b/src/sql/recent-query.test.ts @@ -187,6 +187,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 ede7d9f..527b3d0 100644 --- a/src/sql/recent-query.ts +++ b/src/sql/recent-query.ts @@ -113,10 +113,10 @@ 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); return new RecentQuery( - { ...data, query, formattedQuery }, + { ...data, query, formattedQuery: analysis.formattedQueryWithoutTags ?? formattedQuery }, analysis.referencedTables, analysis.indexesToCheck, analysis.tags,