rawsql-ts 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/README.md +161 -875
  2. package/dist/esm/index.d.ts +7 -0
  3. package/dist/esm/index.js +7 -0
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/index.min.js +22 -20
  6. package/dist/esm/index.min.js.map +4 -4
  7. package/dist/esm/models/Clause.d.ts +15 -3
  8. package/dist/esm/models/Clause.js +2 -1
  9. package/dist/esm/models/Clause.js.map +1 -1
  10. package/dist/esm/models/CreateTableQuery.d.ts +3 -0
  11. package/dist/esm/models/CreateTableQuery.js +5 -4
  12. package/dist/esm/models/CreateTableQuery.js.map +1 -1
  13. package/dist/esm/models/DDLStatements.d.ts +71 -0
  14. package/dist/esm/models/DDLStatements.js +63 -0
  15. package/dist/esm/models/DDLStatements.js.map +1 -1
  16. package/dist/esm/models/KeywordTrie.d.ts +2 -3
  17. package/dist/esm/models/KeywordTrie.js +26 -27
  18. package/dist/esm/models/KeywordTrie.js.map +1 -1
  19. package/dist/esm/models/SqlPrintToken.d.ts +1 -0
  20. package/dist/esm/models/SqlPrintToken.js +1 -0
  21. package/dist/esm/models/SqlPrintToken.js.map +1 -1
  22. package/dist/esm/parsers/CheckpointStatementParser.d.ts +8 -0
  23. package/dist/esm/parsers/CheckpointStatementParser.js +14 -0
  24. package/dist/esm/parsers/CheckpointStatementParser.js.map +1 -0
  25. package/dist/esm/parsers/ClusterStatementParser.d.ts +8 -0
  26. package/dist/esm/parsers/ClusterStatementParser.js +14 -0
  27. package/dist/esm/parsers/ClusterStatementParser.js.map +1 -0
  28. package/dist/esm/parsers/CommandExpressionParser.js.map +1 -1
  29. package/dist/esm/parsers/CommentOnParser.d.ts +23 -0
  30. package/dist/esm/parsers/CommentOnParser.js +61 -0
  31. package/dist/esm/parsers/CommentOnParser.js.map +1 -0
  32. package/dist/esm/parsers/CommonTableParser.d.ts +5 -1
  33. package/dist/esm/parsers/CommonTableParser.js +94 -16
  34. package/dist/esm/parsers/CommonTableParser.js.map +1 -1
  35. package/dist/esm/parsers/CreateIndexParser.js +12 -6
  36. package/dist/esm/parsers/CreateIndexParser.js.map +1 -1
  37. package/dist/esm/parsers/CreateTableParser.d.ts +2 -0
  38. package/dist/esm/parsers/CreateTableParser.js +11 -2
  39. package/dist/esm/parsers/CreateTableParser.js.map +1 -1
  40. package/dist/esm/parsers/ExplainStatementParser.js.map +1 -1
  41. package/dist/esm/parsers/FullNameParser.js +35 -3
  42. package/dist/esm/parsers/FullNameParser.js.map +1 -1
  43. package/dist/esm/parsers/OrderByClauseParser.js.map +1 -1
  44. package/dist/esm/parsers/ReindexStatementParser.d.ts +8 -0
  45. package/dist/esm/parsers/ReindexStatementParser.js +14 -0
  46. package/dist/esm/parsers/ReindexStatementParser.js.map +1 -0
  47. package/dist/esm/parsers/SelectQueryParser.js.map +1 -1
  48. package/dist/esm/parsers/SourceParser.js +6 -1
  49. package/dist/esm/parsers/SourceParser.js.map +1 -1
  50. package/dist/esm/parsers/SqlParser.d.ts +12 -2
  51. package/dist/esm/parsers/SqlParser.js +117 -251
  52. package/dist/esm/parsers/SqlParser.js.map +1 -1
  53. package/dist/esm/parsers/SqlPrintTokenParser.d.ts +1 -0
  54. package/dist/esm/parsers/SqlPrintTokenParser.js +32 -4
  55. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
  56. package/dist/esm/parsers/SqlTokenizer.d.ts +5 -0
  57. package/dist/esm/parsers/SqlTokenizer.js +181 -67
  58. package/dist/esm/parsers/SqlTokenizer.js.map +1 -1
  59. package/dist/esm/parsers/UsingClauseParser.js.map +1 -1
  60. package/dist/esm/parsers/VacuumStatementParser.d.ts +8 -0
  61. package/dist/esm/parsers/VacuumStatementParser.js +14 -0
  62. package/dist/esm/parsers/VacuumStatementParser.js.map +1 -0
  63. package/dist/esm/tokenReaders/CommandTokenReader.js +22 -4
  64. package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
  65. package/dist/esm/tokenReaders/StringSpecifierTokenReader.d.ts +2 -0
  66. package/dist/esm/tokenReaders/StringSpecifierTokenReader.js +30 -13
  67. package/dist/esm/tokenReaders/StringSpecifierTokenReader.js.map +1 -1
  68. package/dist/esm/tokenReaders/TokenReaderManager.d.ts +0 -7
  69. package/dist/esm/tokenReaders/TokenReaderManager.js +16 -48
  70. package/dist/esm/tokenReaders/TokenReaderManager.js.map +1 -1
  71. package/dist/esm/transformers/AliasRenamer.d.ts +1 -0
  72. package/dist/esm/transformers/AliasRenamer.js +7 -1
  73. package/dist/esm/transformers/AliasRenamer.js.map +1 -1
  74. package/dist/esm/transformers/CTECollector.d.ts +5 -2
  75. package/dist/esm/transformers/CTECollector.js +49 -0
  76. package/dist/esm/transformers/CTECollector.js.map +1 -1
  77. package/dist/esm/transformers/CTEDependencyTracer.d.ts +6 -1
  78. package/dist/esm/transformers/CTEDependencyTracer.js +44 -2
  79. package/dist/esm/transformers/CTEDependencyTracer.js.map +1 -1
  80. package/dist/esm/transformers/CTEDisabler.d.ts +6 -0
  81. package/dist/esm/transformers/CTEDisabler.js +19 -0
  82. package/dist/esm/transformers/CTEDisabler.js.map +1 -1
  83. package/dist/esm/transformers/CTERenamer.js +5 -2
  84. package/dist/esm/transformers/CTERenamer.js.map +1 -1
  85. package/dist/esm/transformers/ColumnReferenceCollector.d.ts +4 -0
  86. package/dist/esm/transformers/ColumnReferenceCollector.js +69 -1
  87. package/dist/esm/transformers/ColumnReferenceCollector.js.map +1 -1
  88. package/dist/esm/transformers/DeleteResultSelectConverter.js.map +1 -1
  89. package/dist/esm/transformers/DynamicQueryBuilder.d.ts +87 -11
  90. package/dist/esm/transformers/DynamicQueryBuilder.js +237 -9
  91. package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
  92. package/dist/esm/transformers/ExistsPredicateInjector.d.ts +33 -0
  93. package/dist/esm/transformers/ExistsPredicateInjector.js +294 -0
  94. package/dist/esm/transformers/ExistsPredicateInjector.js.map +1 -0
  95. package/dist/esm/transformers/FixtureCteBuilder.js +5 -2
  96. package/dist/esm/transformers/FixtureCteBuilder.js.map +1 -1
  97. package/dist/esm/transformers/InsertResultSelectConverter.d.ts +1 -0
  98. package/dist/esm/transformers/InsertResultSelectConverter.js +28 -7
  99. package/dist/esm/transformers/InsertResultSelectConverter.js.map +1 -1
  100. package/dist/esm/transformers/LinePrinter.d.ts +4 -2
  101. package/dist/esm/transformers/LinePrinter.js +93 -22
  102. package/dist/esm/transformers/LinePrinter.js.map +1 -1
  103. package/dist/esm/transformers/MergeResultSelectConverter.js.map +1 -1
  104. package/dist/esm/transformers/OptimizeUnusedLeftJoins.d.ts +33 -0
  105. package/dist/esm/transformers/OptimizeUnusedLeftJoins.js +333 -0
  106. package/dist/esm/transformers/OptimizeUnusedLeftJoins.js.map +1 -0
  107. package/dist/esm/transformers/PruneOptionalConditionBranches.d.ts +10 -0
  108. package/dist/esm/transformers/PruneOptionalConditionBranches.js +197 -0
  109. package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -0
  110. package/dist/esm/transformers/SchemaCollector.d.ts +3 -0
  111. package/dist/esm/transformers/SchemaCollector.js +37 -1
  112. package/dist/esm/transformers/SchemaCollector.js.map +1 -1
  113. package/dist/esm/transformers/SelectValueCollector.d.ts +5 -0
  114. package/dist/esm/transformers/SelectValueCollector.js +44 -2
  115. package/dist/esm/transformers/SelectValueCollector.js.map +1 -1
  116. package/dist/esm/transformers/SqlParamInjector.d.ts +5 -1
  117. package/dist/esm/transformers/SqlParamInjector.js +47 -11
  118. package/dist/esm/transformers/SqlParamInjector.js.map +1 -1
  119. package/dist/esm/transformers/SqlPrinter.js +8 -2
  120. package/dist/esm/transformers/SqlPrinter.js.map +1 -1
  121. package/dist/esm/transformers/TableSourceCollector.d.ts +9 -1
  122. package/dist/esm/transformers/TableSourceCollector.js +72 -5
  123. package/dist/esm/transformers/TableSourceCollector.js.map +1 -1
  124. package/dist/esm/transformers/UpdateResultSelectConverter.js.map +1 -1
  125. package/dist/esm/transformers/UpstreamSelectQueryFinder.d.ts +5 -0
  126. package/dist/esm/transformers/UpstreamSelectQueryFinder.js +46 -1
  127. package/dist/esm/transformers/UpstreamSelectQueryFinder.js.map +1 -1
  128. package/dist/esm/utils/CommentUtils.d.ts +1 -0
  129. package/dist/esm/utils/CommentUtils.js +14 -4
  130. package/dist/esm/utils/CommentUtils.js.map +1 -1
  131. package/dist/esm/utils/MultiQuerySplitter.d.ts +7 -11
  132. package/dist/esm/utils/MultiQuerySplitter.js +105 -66
  133. package/dist/esm/utils/MultiQuerySplitter.js.map +1 -1
  134. package/dist/esm/utils/ParameterRemover.d.ts +4 -0
  135. package/dist/esm/utils/ParameterRemover.js +23 -0
  136. package/dist/esm/utils/ParameterRemover.js.map +1 -1
  137. package/dist/esm/utils/ScopeResolver.d.ts +5 -2
  138. package/dist/esm/utils/ScopeResolver.js +37 -18
  139. package/dist/esm/utils/ScopeResolver.js.map +1 -1
  140. package/dist/esm/utils/charLookupTable.d.ts +6 -0
  141. package/dist/esm/utils/charLookupTable.js +9 -1
  142. package/dist/esm/utils/charLookupTable.js.map +1 -1
  143. package/dist/esm/utils/serialTypeNormalization.d.ts +15 -0
  144. package/dist/esm/utils/serialTypeNormalization.js +55 -0
  145. package/dist/esm/utils/serialTypeNormalization.js.map +1 -0
  146. package/dist/esm/utils/stringUtils.js +51 -26
  147. package/dist/esm/utils/stringUtils.js.map +1 -1
  148. package/dist/index.js +2 -0
  149. package/dist/index.js.map +1 -1
  150. package/dist/index.min.js +21 -19
  151. package/dist/index.min.js.map +4 -4
  152. package/dist/models/Clause.js +2 -1
  153. package/dist/models/Clause.js.map +1 -1
  154. package/dist/models/CreateTableQuery.js +5 -4
  155. package/dist/models/CreateTableQuery.js.map +1 -1
  156. package/dist/models/DDLStatements.js +14 -1
  157. package/dist/models/DDLStatements.js.map +1 -1
  158. package/dist/models/KeywordTrie.js +26 -27
  159. package/dist/models/KeywordTrie.js.map +1 -1
  160. package/dist/models/SqlPrintToken.js +1 -0
  161. package/dist/models/SqlPrintToken.js.map +1 -1
  162. package/dist/parsers/CommentOnParser.js +65 -0
  163. package/dist/parsers/CommentOnParser.js.map +1 -0
  164. package/dist/parsers/CreateIndexParser.js +12 -6
  165. package/dist/parsers/CreateIndexParser.js.map +1 -1
  166. package/dist/parsers/CreateTableParser.js +11 -2
  167. package/dist/parsers/CreateTableParser.js.map +1 -1
  168. package/dist/parsers/FullNameParser.js +35 -3
  169. package/dist/parsers/FullNameParser.js.map +1 -1
  170. package/dist/parsers/SourceParser.js +6 -1
  171. package/dist/parsers/SourceParser.js.map +1 -1
  172. package/dist/parsers/SqlParser.js +93 -307
  173. package/dist/parsers/SqlParser.js.map +1 -1
  174. package/dist/parsers/SqlPrintTokenParser.js +31 -3
  175. package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
  176. package/dist/parsers/SqlTokenizer.js +176 -67
  177. package/dist/parsers/SqlTokenizer.js.map +1 -1
  178. package/dist/src/index.d.ts +2 -0
  179. package/dist/src/models/Clause.d.ts +6 -1
  180. package/dist/src/models/CreateTableQuery.d.ts +3 -0
  181. package/dist/src/models/DDLStatements.d.ts +15 -0
  182. package/dist/src/models/KeywordTrie.d.ts +2 -3
  183. package/dist/src/models/SqlPrintToken.d.ts +1 -0
  184. package/dist/src/parsers/CommentOnParser.d.ts +23 -0
  185. package/dist/src/parsers/CreateTableParser.d.ts +2 -0
  186. package/dist/src/parsers/SqlParser.d.ts +8 -2
  187. package/dist/src/parsers/SqlPrintTokenParser.d.ts +1 -0
  188. package/dist/src/parsers/SqlTokenizer.d.ts +5 -0
  189. package/dist/src/tokenReaders/StringSpecifierTokenReader.d.ts +2 -0
  190. package/dist/src/tokenReaders/TokenReaderManager.d.ts +0 -7
  191. package/dist/src/transformers/DynamicQueryBuilder.d.ts +26 -0
  192. package/dist/src/transformers/InsertResultSelectConverter.d.ts +1 -0
  193. package/dist/src/transformers/LinePrinter.d.ts +4 -2
  194. package/dist/src/transformers/PruneOptionalConditionBranches.d.ts +10 -0
  195. package/dist/src/utils/CommentUtils.d.ts +1 -0
  196. package/dist/src/utils/MultiQuerySplitter.d.ts +7 -11
  197. package/dist/src/utils/serialTypeNormalization.d.ts +4 -0
  198. package/dist/tokenReaders/CommandTokenReader.js +22 -4
  199. package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
  200. package/dist/tokenReaders/StringSpecifierTokenReader.js +30 -13
  201. package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -1
  202. package/dist/tokenReaders/TokenReaderManager.js +16 -48
  203. package/dist/tokenReaders/TokenReaderManager.js.map +1 -1
  204. package/dist/transformers/DynamicQueryBuilder.js +114 -2
  205. package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
  206. package/dist/transformers/InsertResultSelectConverter.js +22 -3
  207. package/dist/transformers/InsertResultSelectConverter.js.map +1 -1
  208. package/dist/transformers/LinePrinter.js +93 -22
  209. package/dist/transformers/LinePrinter.js.map +1 -1
  210. package/dist/transformers/PruneOptionalConditionBranches.js +201 -0
  211. package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -0
  212. package/dist/tsconfig.browser.tsbuildinfo +1 -1
  213. package/dist/utils/CommentUtils.js +14 -4
  214. package/dist/utils/CommentUtils.js.map +1 -1
  215. package/dist/utils/MultiQuerySplitter.js +105 -66
  216. package/dist/utils/MultiQuerySplitter.js.map +1 -1
  217. package/dist/utils/serialTypeNormalization.js +19 -0
  218. package/dist/utils/serialTypeNormalization.js.map +1 -1
  219. package/dist/utils/stringUtils.js +42 -23
  220. package/dist/utils/stringUtils.js.map +1 -1
  221. package/package.json +65 -64
  222. package/LICENSE +0 -21
@@ -1,5 +1,9 @@
1
1
  import { SimpleSelectQuery, BinarySelectQuery, ValuesQuery } from "../models/SelectQuery";
2
2
  import { SubQuerySource, TableSource } from "../models/Clause";
3
+ import { InsertQuery } from "../models/InsertQuery";
4
+ import { UpdateQuery } from "../models/UpdateQuery";
5
+ import { DeleteQuery } from "../models/DeleteQuery";
6
+ import { ColumnReference } from "../models/ValueComponent";
3
7
  import { SelectableColumnCollector, DuplicateDetectionMode } from "./SelectableColumnCollector";
4
8
  import { CTECollector } from "./CTECollector";
5
9
  /**
@@ -47,6 +51,9 @@ export class UpstreamSelectQueryFinder {
47
51
  // Remove the current CTE name from the map to prevent infinite recursion
48
52
  const nextCteMap = new Map(cteMap);
49
53
  nextCteMap.delete(src.table.name);
54
+ if (!this.isSelectQuery(cte.query)) {
55
+ return null;
56
+ }
50
57
  const result = this.findUpstream(cte.query, columnNames, nextCteMap);
51
58
  if (result.length === 0) {
52
59
  return null;
@@ -149,7 +156,7 @@ export class UpstreamSelectQueryFinder {
149
156
  if (query.withClause) {
150
157
  for (const cte of query.withClause.tables) {
151
158
  // Collect columns from CTE query
152
- const columns = this.collectColumnsFromSelectQuery(cte.query);
159
+ const columns = this.collectColumnsFromCteQuery(cte.query);
153
160
  cteColumns.push(...columns);
154
161
  }
155
162
  }
@@ -158,6 +165,12 @@ export class UpstreamSelectQueryFinder {
158
165
  /**
159
166
  * Recursively collects columns from SelectQuery
160
167
  */
168
+ collectColumnsFromCteQuery(query) {
169
+ if (!this.isSelectQuery(query)) {
170
+ return this.collectColumnsFromReturning(query);
171
+ }
172
+ return this.collectColumnsFromSelectQuery(query);
173
+ }
161
174
  collectColumnsFromSelectQuery(query) {
162
175
  if (query instanceof SimpleSelectQuery) {
163
176
  try {
@@ -176,5 +189,37 @@ export class UpstreamSelectQueryFinder {
176
189
  }
177
190
  return [];
178
191
  }
192
+ collectColumnsFromReturning(query) {
193
+ if (query instanceof InsertQuery || query instanceof UpdateQuery || query instanceof DeleteQuery) {
194
+ return this.extractReturningColumns(query.returningClause);
195
+ }
196
+ return [];
197
+ }
198
+ extractReturningColumns(returningClause) {
199
+ var _a, _b;
200
+ if (!returningClause) {
201
+ return [];
202
+ }
203
+ const columns = [];
204
+ for (const item of returningClause.items) {
205
+ const name = (_b = (_a = item.identifier) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : this.extractColumnName(item);
206
+ if (name) {
207
+ columns.push(name);
208
+ }
209
+ }
210
+ return columns;
211
+ }
212
+ extractColumnName(item) {
213
+ if (item.identifier) {
214
+ return item.identifier.name;
215
+ }
216
+ if (item.value instanceof ColumnReference) {
217
+ return item.value.column.name;
218
+ }
219
+ return null;
220
+ }
221
+ isSelectQuery(query) {
222
+ return '__selectQueryType' in query && query.__selectQueryType === 'SelectQuery';
223
+ }
179
224
  }
180
225
  //# sourceMappingURL=UpstreamSelectQueryFinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpstreamSelectQueryFinder.js","sourceRoot":"","sources":["../../../src/transformers/UpstreamSelectQueryFinder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpstreamSelectQueryFinder.js","sourceRoot":"","sources":["../../../src/transformers/UpstreamSelectQueryFinder.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { Lexeme } from "../models/Lexeme";
3
3
  * Utility functions for handling comments in parsers
4
4
  */
5
5
  export declare class CommentUtils {
6
+ private static readonly SIGNIFICANT_SQL_KEYWORDS;
6
7
  /**
7
8
  * Collects comments from preceding tokens that are associated with a specific keyword.
8
9
  * This function looks for comments in tokens before the current position that might
@@ -13,7 +13,8 @@ export class CommentUtils {
13
13
  * @returns Array of comments associated with this clause
14
14
  */
15
15
  static collectClauseComments(lexemes, currentIndex, keywordValue) {
16
- if (currentIndex >= lexemes.length || lexemes[currentIndex].value.toLowerCase() !== keywordValue.toLowerCase()) {
16
+ const normalizedKeyword = keywordValue.toLowerCase();
17
+ if (currentIndex >= lexemes.length || lexemes[currentIndex].value.toLowerCase() !== normalizedKeyword) {
17
18
  return null;
18
19
  }
19
20
  const comments = [];
@@ -32,7 +33,7 @@ export class CommentUtils {
32
33
  // Check if the comments contain keywords that suggest they belong to the current clause
33
34
  const clauseSpecificComments = prevToken.comments.filter(comment => {
34
35
  const lowerComment = comment.toLowerCase();
35
- return lowerComment.includes(keywordValue.toLowerCase()) ||
36
+ return lowerComment.includes(normalizedKeyword) ||
36
37
  lowerComment.includes('の') || // Japanese possessive particle
37
38
  lowerComment.includes('コメント'); // "comment" in Japanese
38
39
  });
@@ -58,8 +59,17 @@ export class CommentUtils {
58
59
  * Checks if a token value is a significant SQL keyword that would separate clauses
59
60
  */
60
61
  static isSignificantSqlKeyword(value) {
61
- const keywords = new Set(['select', 'from', 'where', 'group by', 'having', 'order by', 'limit', 'offset']);
62
- return keywords.has(value.toLowerCase());
62
+ return this.SIGNIFICANT_SQL_KEYWORDS.has(value.toLowerCase());
63
63
  }
64
64
  }
65
+ CommentUtils.SIGNIFICANT_SQL_KEYWORDS = new Set([
66
+ 'select',
67
+ 'from',
68
+ 'where',
69
+ 'group by',
70
+ 'having',
71
+ 'order by',
72
+ 'limit',
73
+ 'offset'
74
+ ]);
65
75
  //# sourceMappingURL=CommentUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentUtils.js","sourceRoot":"","sources":["../../../src/utils/CommentUtils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,YAAY;IACrB;;;;;;;;;OASG;IACI,MAAM,CAAC,qBAAqB,CAAC,OAAiB,EAAE,YAAoB,EAAE,YAAoB;QAC7F,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7G,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,iDAAiD;QACjD,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,wEAAwE;QACxE,+FAA+F;QAC/F,IAAI,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;QAClC,OAAO,UAAU,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YAEtC,2EAA2E;YAC3E,oDAAoD;YACpD,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,wFAAwF;gBACxF,MAAM,sBAAsB,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;wBACjD,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,+BAA+B;wBAC7D,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB;gBAClE,CAAC,CAAC,CAAC;gBAEH,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC;oBAC5C,qEAAqE;oBACrE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzF,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC9B,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,8CAA8C;YACzD,CAAC;YAED,uDAAuD;YACvD,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM;YACV,CAAC;YAED,UAAU,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,uBAAuB,CAAC,KAAa;QAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3G,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC;CACJ"}
1
+ {"version":3,"file":"CommentUtils.js","sourceRoot":"","sources":["../../../src/utils/CommentUtils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,YAAY;IAYrB;;;;;;;;;OASG;IACI,MAAM,CAAC,qBAAqB,CAAC,OAAiB,EAAE,YAAoB,EAAE,YAAoB;QAC7F,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAErD,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,iBAAiB,EAAE,CAAC;YACpG,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,iDAAiD;QACjD,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,wEAAwE;QACxE,+FAA+F;QAC/F,IAAI,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;QAClC,OAAO,UAAU,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YAEtC,2EAA2E;YAC3E,oDAAoD;YACpD,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,wFAAwF;gBACxF,MAAM,sBAAsB,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;wBACxC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,+BAA+B;wBAC7D,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB;gBAClE,CAAC,CAAC,CAAC;gBAEH,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC;oBAC5C,qEAAqE;oBACrE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzF,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC9B,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,8CAA8C;YACzD,CAAC;YAED,uDAAuD;YACvD,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM;YACV,CAAC;YAED,UAAU,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,uBAAuB,CAAC,KAAa;QAChD,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;;AA/EuB,qCAAwB,GAAG,IAAI,GAAG,CAAC;IACvD,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;CACX,CAAC,CAAC"}
@@ -80,19 +80,15 @@ export declare class MultiQuerySplitter {
80
80
  */
81
81
  static split(text: string): QueryCollection;
82
82
  /**
83
- * Get query boundaries from SQL text with proper semicolon handling
84
- *
85
- * @param text - SQL text to analyze
86
- * @returns Array of boundary positions
87
- */
88
- /**
89
- * Split text by semicolons while respecting quotes and comments
83
+ * Split text by semicolons while respecting quotes and comments.
84
+ * Single-pass O(n) implementation with support for:
85
+ * - Single-quoted strings ('...' with '' escaping)
86
+ * - Double-quoted identifiers ("..." with "" escaping)
87
+ * - Line comments (--)
88
+ * - Block comments (/* ... *\/)
89
+ * - PostgreSQL dollar-quoted strings ($$...$$ or $tag$...$tag$)
90
90
  */
91
91
  private static splitRespectingQuotesAndComments;
92
- /**
93
- * Check if character at position is a valid semicolon (not in quotes/comments)
94
- */
95
- private static isValidSemicolon;
96
92
  /**
97
93
  * Merge comment-only segments with previous executable segments
98
94
  */
@@ -88,99 +88,138 @@ export class MultiQuerySplitter {
88
88
  };
89
89
  }
90
90
  /**
91
- * Get query boundaries from SQL text with proper semicolon handling
92
- *
93
- * @param text - SQL text to analyze
94
- * @returns Array of boundary positions
95
- */
96
- /**
97
- * Split text by semicolons while respecting quotes and comments
91
+ * Split text by semicolons while respecting quotes and comments.
92
+ * Single-pass O(n) implementation with support for:
93
+ * - Single-quoted strings ('...' with '' escaping)
94
+ * - Double-quoted identifiers ("..." with "" escaping)
95
+ * - Line comments (--)
96
+ * - Block comments (/* ... *\/)
97
+ * - PostgreSQL dollar-quoted strings ($$...$$ or $tag$...$tag$)
98
98
  */
99
99
  static splitRespectingQuotesAndComments(text) {
100
100
  const segments = [];
101
101
  let currentStart = 0;
102
102
  let i = 0;
103
- while (i <= text.length) {
104
- // Check if we're at a valid semicolon or end of text
105
- const isValidBreakpoint = (i === text.length) || (i < text.length && this.isValidSemicolon(text, i));
106
- if (isValidBreakpoint) {
107
- const segmentText = text.substring(currentStart, i);
108
- if (segmentText.length > 0 || i < text.length) {
109
- segments.push({
110
- text: segmentText,
111
- start: currentStart,
112
- end: i
113
- });
114
- }
115
- currentStart = i + 1;
116
- }
117
- i++;
118
- }
119
- return segments;
120
- }
121
- /**
122
- * Check if character at position is a valid semicolon (not in quotes/comments)
123
- */
124
- static isValidSemicolon(text, pos) {
125
- if (text[pos] !== ';')
126
- return false;
127
- // Check if this semicolon is inside quotes or comments by scanning from start
128
103
  let inSingleQuote = false;
129
104
  let inDoubleQuote = false;
130
105
  let inLineComment = false;
131
106
  let inBlockComment = false;
132
- for (let i = 0; i < pos; i++) {
107
+ let inDollarQuote = false;
108
+ let dollarTag = '';
109
+ while (i < text.length) {
133
110
  const char = text[i];
134
- const nextChar = i + 1 < text.length ? text[i + 1] : '';
135
- // Handle line comments
136
- if (!inSingleQuote && !inDoubleQuote && !inBlockComment &&
137
- char === '-' && nextChar === '-') {
138
- inLineComment = true;
139
- i++; // Skip next character
140
- continue;
141
- }
142
- if (inLineComment && char === '\n') {
143
- inLineComment = false;
111
+ // --- inside line comment ---
112
+ if (inLineComment) {
113
+ if (char === '\n')
114
+ inLineComment = false;
115
+ i++;
144
116
  continue;
145
117
  }
146
- // Handle block comments
147
- if (!inSingleQuote && !inDoubleQuote && !inLineComment &&
148
- char === '/' && nextChar === '*') {
149
- inBlockComment = true;
150
- i++; // Skip next character
151
- continue;
152
- }
153
- if (inBlockComment && char === '*' && nextChar === '/') {
154
- inBlockComment = false;
155
- i++; // Skip next character
118
+ // --- inside block comment ---
119
+ if (inBlockComment) {
120
+ if (char === '*' && text[i + 1] === '/') {
121
+ inBlockComment = false;
122
+ i += 2;
123
+ }
124
+ else {
125
+ i++;
126
+ }
156
127
  continue;
157
128
  }
158
- // Skip if in any comment
159
- if (inLineComment || inBlockComment) {
129
+ // --- inside dollar-quoted string ---
130
+ if (inDollarQuote) {
131
+ const closing = '$' + dollarTag + '$';
132
+ if (text.startsWith(closing, i)) {
133
+ inDollarQuote = false;
134
+ dollarTag = '';
135
+ i += closing.length;
136
+ }
137
+ else {
138
+ i++;
139
+ }
160
140
  continue;
161
141
  }
162
- // Handle quotes
163
- if (char === "'" && !inDoubleQuote) {
164
- if (inSingleQuote && nextChar === "'") {
165
- i++; // Skip escaped quote
142
+ // --- inside single-quoted string ---
143
+ if (inSingleQuote) {
144
+ if (char === "'" && text[i + 1] === "'") {
145
+ i += 2; // escaped quote
146
+ }
147
+ else if (char === "'") {
148
+ inSingleQuote = false;
149
+ i++;
166
150
  }
167
151
  else {
168
- inSingleQuote = !inSingleQuote;
152
+ i++;
169
153
  }
170
154
  continue;
171
155
  }
172
- if (char === '"' && !inSingleQuote) {
173
- if (inDoubleQuote && nextChar === '"') {
174
- i++; // Skip escaped quote
156
+ // --- inside double-quoted identifier ---
157
+ if (inDoubleQuote) {
158
+ if (char === '"' && text[i + 1] === '"') {
159
+ i += 2; // escaped quote
160
+ }
161
+ else if (char === '"') {
162
+ inDoubleQuote = false;
163
+ i++;
175
164
  }
176
165
  else {
177
- inDoubleQuote = !inDoubleQuote;
166
+ i++;
167
+ }
168
+ continue;
169
+ }
170
+ // --- unquoted context ---
171
+ // line comment
172
+ if (char === '-' && text[i + 1] === '-') {
173
+ inLineComment = true;
174
+ i += 2;
175
+ continue;
176
+ }
177
+ // block comment
178
+ if (char === '/' && text[i + 1] === '*') {
179
+ inBlockComment = true;
180
+ i += 2;
181
+ continue;
182
+ }
183
+ // dollar-quoted string: $tag$ where tag is empty or [a-zA-Z_]\w*
184
+ if (char === '$') {
185
+ const tagEnd = text.indexOf('$', i + 1);
186
+ if (tagEnd !== -1) {
187
+ const tag = text.substring(i + 1, tagEnd);
188
+ if (/^([a-zA-Z_]\w*)?$/.test(tag)) {
189
+ inDollarQuote = true;
190
+ dollarTag = tag;
191
+ i = tagEnd + 1;
192
+ continue;
193
+ }
178
194
  }
195
+ }
196
+ // single quote
197
+ if (char === "'") {
198
+ inSingleQuote = true;
199
+ i++;
179
200
  continue;
180
201
  }
202
+ // double quote
203
+ if (char === '"') {
204
+ inDoubleQuote = true;
205
+ i++;
206
+ continue;
207
+ }
208
+ // valid semicolon split point
209
+ if (char === ';') {
210
+ segments.push({ text: text.substring(currentStart, i), start: currentStart, end: i });
211
+ currentStart = i + 1;
212
+ i++;
213
+ continue;
214
+ }
215
+ i++;
181
216
  }
182
- // Return false if we're inside quotes or comments at this position
183
- return !inSingleQuote && !inDoubleQuote && !inLineComment && !inBlockComment;
217
+ // remaining text after last semicolon (or entire text if no semicolon)
218
+ const remaining = text.substring(currentStart);
219
+ if (remaining.length > 0 || segments.length === 0) {
220
+ segments.push({ text: remaining, start: currentStart, end: text.length });
221
+ }
222
+ return segments;
184
223
  }
185
224
  /**
186
225
  * Merge comment-only segments with previous executable segments
@@ -1 +1 @@
1
- {"version":3,"file":"MultiQuerySplitter.js","sourceRoot":"","sources":["../../../src/utils/MultiQuerySplitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiQuerySplitter.js","sourceRoot":"","sources":["../../../src/utils/MultiQuerySplitter.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,9 @@ export declare class ParameterRemover implements SqlComponentVisitor<SqlComponen
37
37
  * Visit ValuesQuery node
38
38
  */
39
39
  private visitValuesQuery;
40
+ private visitInsertQuery;
41
+ private visitUpdateQuery;
42
+ private visitDeleteQuery;
40
43
  /**
41
44
  * Visit WithClause node
42
45
  */
@@ -216,6 +219,7 @@ export declare class ParameterRemover implements SqlComponentVisitor<SqlComponen
216
219
  * Visit FetchExpression node
217
220
  */
218
221
  private visitFetchExpression;
222
+ private isSelectQuery;
219
223
  /**
220
224
  * Static method to apply parameter removal transformation on an SQL AST
221
225
  * @param node The SQL AST node to transform
@@ -1,5 +1,8 @@
1
1
  import { CommonTable, Distinct, DistinctOn, ForClause, FromClause, GroupByClause, HavingClause, JoinClause, JoinOnClause, JoinUsingClause, LimitClause, OffsetClause, FetchClause, FetchExpression, OrderByClause, OrderByItem, ParenSource, SelectClause, SelectItem, SourceAliasExpression, SourceExpression, SubQuerySource, TableSource, WhereClause, WindowFrameClause, WindowsClause, WithClause } from "../models/Clause";
2
2
  import { BinarySelectQuery, SimpleSelectQuery, ValuesQuery } from "../models/SelectQuery";
3
+ import { InsertQuery } from "../models/InsertQuery";
4
+ import { UpdateQuery } from "../models/UpdateQuery";
5
+ import { DeleteQuery } from "../models/DeleteQuery";
3
6
  import { ArrayExpression, BetweenExpression, BinaryExpression, CaseExpression, CaseKeyValuePair, CastExpression, ColumnReference, FunctionCall, InlineQuery, ParenExpression, ParameterExpression, SwitchCaseArgument, TupleExpression, UnaryExpression, WindowFrameExpression, IdentifierString, RawString, WindowFrameSpec, LiteralValue, TypeValue } from "../models/ValueComponent";
4
7
  import { OperatorPrecedence } from "./OperatorPrecedence";
5
8
  /**
@@ -82,6 +85,10 @@ export class ParameterRemover {
82
85
  this.handlers.set(SimpleSelectQuery.kind, (expr) => this.visitSimpleSelectQuery(expr));
83
86
  this.handlers.set(BinarySelectQuery.kind, (expr) => this.visitBinarySelectQuery(expr));
84
87
  this.handlers.set(ValuesQuery.kind, (expr) => this.visitValuesQuery(expr));
88
+ // Writable CTE statements should pass through without parameter removal for now.
89
+ this.handlers.set(InsertQuery.kind, (expr) => this.visitInsertQuery(expr));
90
+ this.handlers.set(UpdateQuery.kind, (expr) => this.visitUpdateQuery(expr));
91
+ this.handlers.set(DeleteQuery.kind, (expr) => this.visitDeleteQuery(expr));
85
92
  // WithClause and CommonTable
86
93
  this.handlers.set(WithClause.kind, (expr) => this.visitWithClause(expr));
87
94
  this.handlers.set(CommonTable.kind, (expr) => this.visitCommonTable(expr));
@@ -252,6 +259,15 @@ export class ParameterRemover {
252
259
  // we'll just return it as is for now
253
260
  return query;
254
261
  }
262
+ visitInsertQuery(query) {
263
+ return query;
264
+ }
265
+ visitUpdateQuery(query) {
266
+ return query;
267
+ }
268
+ visitDeleteQuery(query) {
269
+ return query;
270
+ }
255
271
  /**
256
272
  * Visit WithClause node
257
273
  */
@@ -278,6 +294,10 @@ export class ParameterRemover {
278
294
  if (!aliasExpression) {
279
295
  return null;
280
296
  }
297
+ if (!this.isSelectQuery(table.query)) {
298
+ // Preserve writable CTEs without parameter removal.
299
+ return new CommonTable(table.query, aliasExpression, table.materialized);
300
+ }
281
301
  const selectQuery = this.visit(table.query);
282
302
  if (!selectQuery) {
283
303
  return null;
@@ -766,6 +786,9 @@ export class ParameterRemover {
766
786
  const count = this.visit(expression.count);
767
787
  return new FetchExpression(expression.type, count, expression.unit);
768
788
  }
789
+ isSelectQuery(component) {
790
+ return '__selectQueryType' in component && component.__selectQueryType === 'SelectQuery';
791
+ }
769
792
  /**
770
793
  * Static method to apply parameter removal transformation on an SQL AST
771
794
  * @param node The SQL AST node to transform