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
@@ -52,6 +52,8 @@ export declare class SqlTokenizer {
52
52
  * @returns True if more input can be read; otherwise, false.
53
53
  */
54
54
  private canRead;
55
+ private isSelectListModifier;
56
+ private isMeaningfulSelectItemToken;
55
57
  /**
56
58
  * Tokenizes the input SQL with optional formatting preservation.
57
59
  */
@@ -77,6 +79,8 @@ export declare class SqlTokenizer {
77
79
  */
78
80
  private tokenizeBasic;
79
81
  readNextStatement(startPosition?: number, carryComments?: string[] | null): StatementLexemeResult | null;
82
+ private hasCommentMetadata;
83
+ private extractLexemes;
80
84
  private buildLexemesFromTokenData;
81
85
  private skipPastTerminator;
82
86
  private mergeComments;
@@ -120,5 +124,6 @@ export declare class SqlTokenizer {
120
124
  private skipWhitespaceAndComments;
121
125
  private getLineColumnInfo;
122
126
  private getLineColumn;
127
+ private createOrderedLineColumnResolver;
123
128
  private ensureLineStartPositions;
124
129
  }
@@ -11,6 +11,12 @@ import { StringSpecifierTokenReader } from '../tokenReaders/StringSpecifierToken
11
11
  import { TokenReaderManager } from '../tokenReaders/TokenReaderManager';
12
12
  import { TypeTokenReader } from '../tokenReaders/TypeTokenReader';
13
13
  import { StringUtils } from '../utils/stringUtils';
14
+ const SELECT_LIST_MODIFIER_VALUES = new Set([
15
+ 'all',
16
+ 'distinct',
17
+ 'distinct on',
18
+ 'top',
19
+ ]);
14
20
  /**
15
21
  * Class responsible for tokenizing SQL input.
16
22
  */
@@ -63,6 +69,22 @@ export class SqlTokenizer {
63
69
  canRead(shift = 0) {
64
70
  return !this.isEndOfInput(shift);
65
71
  }
72
+ isSelectListModifier(lexeme) {
73
+ return SELECT_LIST_MODIFIER_VALUES.has(lexeme.value.toLowerCase());
74
+ }
75
+ isMeaningfulSelectItemToken(lexeme) {
76
+ const isSelectableOperator = (lexeme.type & TokenType.Operator) !== 0 && (lexeme.value === '*' || lexeme.value === 'exists');
77
+ if ((lexeme.type & TokenType.Identifier) !== 0 ||
78
+ (lexeme.type & TokenType.Literal) !== 0 ||
79
+ isSelectableOperator) {
80
+ return true;
81
+ }
82
+ if ((lexeme.type & TokenType.Command) !== 0) {
83
+ return !this.isSelectListModifier(lexeme);
84
+ }
85
+ return (lexeme.type & TokenType.Comma) === 0 &&
86
+ (lexeme.type & TokenType.Operator) === 0;
87
+ }
66
88
  tokenize(options) {
67
89
  if (options === null || options === void 0 ? void 0 : options.preserveFormatting) {
68
90
  return this.tokenizeWithFormatting();
@@ -143,7 +165,9 @@ export class SqlTokenizer {
143
165
  previous = lexeme;
144
166
  }
145
167
  const statementEnd = this.position;
146
- const lexemes = this.buildLexemesFromTokenData(tokenData);
168
+ const lexemes = this.hasCommentMetadata(tokenData)
169
+ ? this.buildLexemesFromTokenData(tokenData)
170
+ : this.extractLexemes(tokenData);
147
171
  const nextPosition = this.skipPastTerminator(statementEnd);
148
172
  return {
149
173
  lexemes,
@@ -154,92 +178,140 @@ export class SqlTokenizer {
154
178
  leadingComments: pendingLeading
155
179
  };
156
180
  }
181
+ hasCommentMetadata(tokenData) {
182
+ for (let i = 0; i < tokenData.length; i++) {
183
+ const token = tokenData[i];
184
+ if ((token.prefixComments && token.prefixComments.length > 0) ||
185
+ (token.suffixComments && token.suffixComments.length > 0) ||
186
+ (token.lexeme.comments && token.lexeme.comments.length > 0) ||
187
+ (token.lexeme.positionedComments && token.lexeme.positionedComments.length > 0)) {
188
+ return true;
189
+ }
190
+ }
191
+ return false;
192
+ }
193
+ extractLexemes(tokenData) {
194
+ const lexemes = new Array(tokenData.length);
195
+ const resolveLineColumn = this.createOrderedLineColumnResolver();
196
+ for (let i = 0; i < tokenData.length; i++) {
197
+ const token = tokenData[i];
198
+ const lexeme = token.lexeme;
199
+ const startInfo = resolveLineColumn(token.startPos);
200
+ const endInfo = resolveLineColumn(token.endPos);
201
+ // Keep position metadata behavior identical while skipping comment relocation work.
202
+ lexeme.position = {
203
+ startPosition: token.startPos,
204
+ endPosition: token.endPos,
205
+ startLine: startInfo.line,
206
+ startColumn: startInfo.column,
207
+ endLine: endInfo.line,
208
+ endColumn: endInfo.column,
209
+ };
210
+ lexemes[i] = lexeme;
211
+ }
212
+ return lexemes;
213
+ }
157
214
  buildLexemesFromTokenData(tokenData) {
158
215
  const lexemes = new Array(tokenData.length);
216
+ const resolveLineColumn = this.createOrderedLineColumnResolver();
217
+ let hasPositionedComments = false;
159
218
  for (let i = 0; i < tokenData.length; i++) {
160
219
  const current = tokenData[i];
161
220
  const lexeme = current.lexeme;
162
- // Redirect SELECT suffix comments to the first meaningful select item.
163
- if (lexeme.value.toLowerCase() === 'select' && current.suffixComments && current.suffixComments.length > 0) {
164
- const suffixComments = current.suffixComments;
165
- let targetIndex = i + 1;
166
- while (targetIndex < tokenData.length) {
167
- const target = tokenData[targetIndex];
168
- // Allow SELECT-prefix comments to bind to '*' tokens so they stay with the select list.
169
- const isStarOperator = (target.lexeme.type & TokenType.Operator) && target.lexeme.value === '*';
170
- if ((target.lexeme.type & TokenType.Identifier) ||
171
- (target.lexeme.type & TokenType.Literal) ||
172
- isStarOperator ||
173
- (!(target.lexeme.type & TokenType.Command) &&
174
- !(target.lexeme.type & TokenType.Comma) &&
175
- !(target.lexeme.type & TokenType.Operator))) {
176
- if (!target.prefixComments) {
177
- target.prefixComments = [];
221
+ const lexemeValue = lexeme.value;
222
+ // Most statements have no trailing comments, so skip forwarding logic early.
223
+ if (current.suffixComments && current.suffixComments.length > 0) {
224
+ // Redirect SELECT suffix comments to the first meaningful select item.
225
+ if (lexemeValue === 'select') {
226
+ const suffixComments = current.suffixComments;
227
+ let targetIndex = i + 1;
228
+ while (targetIndex < tokenData.length) {
229
+ const target = tokenData[targetIndex];
230
+ // Skip only SELECT list modifiers so command-started expressions still receive comments.
231
+ if (this.isMeaningfulSelectItemToken(target.lexeme)) {
232
+ if (!target.prefixComments) {
233
+ target.prefixComments = [];
234
+ }
235
+ target.prefixComments.unshift(...suffixComments);
236
+ current.suffixComments = null;
237
+ break;
178
238
  }
179
- target.prefixComments.unshift(...suffixComments);
180
- current.suffixComments = null;
181
- break;
239
+ targetIndex++;
182
240
  }
183
- targetIndex++;
184
241
  }
185
- }
186
- if (lexeme.value.toLowerCase() === 'from' && current.suffixComments && current.suffixComments.length > 0) {
187
- const suffixComments = current.suffixComments;
188
- let targetIndex = i + 1;
189
- while (targetIndex < tokenData.length) {
190
- const target = tokenData[targetIndex];
191
- // Attach FROM suffix comments to the immediately following source token.
192
- const isCommand = (target.lexeme.type & TokenType.Command) !== 0;
193
- if (!isCommand) {
194
- if (!target.prefixComments) {
195
- target.prefixComments = [];
242
+ if (lexemeValue === 'from') {
243
+ const suffixComments = current.suffixComments;
244
+ let targetIndex = i + 1;
245
+ while (targetIndex < tokenData.length) {
246
+ const target = tokenData[targetIndex];
247
+ // Attach FROM suffix comments to the immediately following source token.
248
+ const isCommand = (target.lexeme.type & TokenType.Command) !== 0;
249
+ if (!isCommand) {
250
+ if (!target.prefixComments) {
251
+ target.prefixComments = [];
252
+ }
253
+ target.prefixComments.unshift(...suffixComments);
254
+ current.suffixComments = null;
255
+ break;
196
256
  }
197
- target.prefixComments.unshift(...suffixComments);
198
- current.suffixComments = null;
199
- break;
257
+ targetIndex++;
200
258
  }
201
- targetIndex++;
202
259
  }
203
- }
204
- // Ensure commas push trailing comments onto the following token.
205
- if ((lexeme.type & TokenType.Comma) && current.suffixComments && current.suffixComments.length > 0) {
206
- const suffixComments = current.suffixComments;
207
- let targetIndex = i + 1;
208
- if (targetIndex < tokenData.length) {
209
- const target = tokenData[targetIndex];
210
- if (!target.prefixComments) {
211
- target.prefixComments = [];
212
- }
213
- target.prefixComments.unshift(...suffixComments);
214
- current.suffixComments = null;
215
- }
216
- }
217
- // Bridge set-operator suffix comments to the subsequent SELECT clause.
218
- if ((lexeme.value.toLowerCase() === 'union' ||
219
- lexeme.value.toLowerCase() === 'intersect' ||
220
- lexeme.value.toLowerCase() === 'except') &&
221
- current.suffixComments && current.suffixComments.length > 0) {
222
- const suffixComments = current.suffixComments;
223
- let targetIndex = i + 1;
224
- while (targetIndex < tokenData.length) {
225
- const target = tokenData[targetIndex];
226
- if (target.lexeme.value.toLowerCase() === 'select') {
260
+ // Ensure commas push trailing comments onto the following token.
261
+ if (lexeme.type & TokenType.Comma) {
262
+ const suffixComments = current.suffixComments;
263
+ const targetIndex = i + 1;
264
+ if (targetIndex < tokenData.length) {
265
+ const target = tokenData[targetIndex];
227
266
  if (!target.prefixComments) {
228
267
  target.prefixComments = [];
229
268
  }
230
269
  target.prefixComments.unshift(...suffixComments);
231
270
  current.suffixComments = null;
232
- break;
233
271
  }
234
- targetIndex++;
272
+ }
273
+ // Bridge set-operator suffix comments to the subsequent SELECT clause.
274
+ if (current.suffixComments) {
275
+ const normalized = lexemeValue.toLowerCase();
276
+ if (normalized === 'union' || normalized === 'intersect' || normalized === 'except') {
277
+ const suffixComments = current.suffixComments;
278
+ let targetIndex = i + 1;
279
+ while (targetIndex < tokenData.length) {
280
+ const target = tokenData[targetIndex];
281
+ if (target.lexeme.value.toLowerCase() === 'select') {
282
+ if (!target.prefixComments) {
283
+ target.prefixComments = [];
284
+ }
285
+ target.prefixComments.unshift(...suffixComments);
286
+ current.suffixComments = null;
287
+ break;
288
+ }
289
+ targetIndex++;
290
+ }
291
+ }
235
292
  }
236
293
  }
237
294
  this.attachCommentsToLexeme(lexeme, current);
295
+ const startInfo = resolveLineColumn(current.startPos);
296
+ const endInfo = resolveLineColumn(current.endPos);
238
297
  // Attach source position metadata so downstream parsers can report precise locations.
239
- lexeme.position = Object.assign({ startPosition: current.startPos, endPosition: current.endPos }, this.getLineColumnInfo(current.startPos, current.endPos));
298
+ lexeme.position = {
299
+ startPosition: current.startPos,
300
+ endPosition: current.endPos,
301
+ startLine: startInfo.line,
302
+ startColumn: startInfo.column,
303
+ endLine: endInfo.line,
304
+ endColumn: endInfo.column,
305
+ };
306
+ if (lexeme.positionedComments && lexeme.positionedComments.length > 0) {
307
+ hasPositionedComments = true;
308
+ }
240
309
  lexemes[i] = lexeme;
241
310
  }
242
- this.relocateOrderByComments(lexemes);
311
+ // Skip relocation pass when no positioned comments exist in this statement.
312
+ if (hasPositionedComments) {
313
+ this.relocateOrderByComments(lexemes);
314
+ }
243
315
  return lexemes;
244
316
  }
245
317
  skipPastTerminator(position) {
@@ -293,11 +365,17 @@ export class SqlTokenizer {
293
365
  // Attach comments to lexeme directly (no collection then assignment anti-pattern)
294
366
  attachCommentsToLexeme(lexeme, tokenData) {
295
367
  const newPositionedComments = [];
368
+ const existingLegacyComments = [];
296
369
  const allLegacyComments = [];
297
370
  // Preserve existing positioned comments from token readers (e.g., CommandTokenReader)
298
371
  if (lexeme.positionedComments && lexeme.positionedComments.length > 0) {
299
372
  newPositionedComments.push(...lexeme.positionedComments);
300
373
  }
374
+ // Preserve legacy comments from token readers so legacy consumers can still collect them.
375
+ if (lexeme.comments && lexeme.comments.length > 0) {
376
+ existingLegacyComments.push(...lexeme.comments);
377
+ allLegacyComments.push(...lexeme.comments);
378
+ }
301
379
  // Add prefix comments as "before" positioned comments directly
302
380
  if (tokenData.prefixComments && tokenData.prefixComments.length > 0) {
303
381
  allLegacyComments.push(...tokenData.prefixComments);
@@ -317,8 +395,7 @@ export class SqlTokenizer {
317
395
  // Apply comments directly to lexeme (positioned comments take priority)
318
396
  if (newPositionedComments.length > 0) {
319
397
  lexeme.positionedComments = newPositionedComments;
320
- // Clear legacy comments when positioned comments exist to avoid duplication
321
- lexeme.comments = null;
398
+ lexeme.comments = existingLegacyComments.length > 0 ? existingLegacyComments : null;
322
399
  }
323
400
  else if (allLegacyComments.length > 0) {
324
401
  // Only set legacy comments if no positioned comments exist
@@ -337,7 +414,29 @@ export class SqlTokenizer {
337
414
  * @remarks This method updates the position pointer.
338
415
  */
339
416
  readComment() {
340
- return StringUtils.readWhiteSpaceAndComment(this.input, this.position);
417
+ const pos = this.position;
418
+ const inputLength = this.input.length;
419
+ if (pos >= inputLength) {
420
+ return { position: pos, lines: null };
421
+ }
422
+ // Fast path: avoid full whitespace/comment scanner when current char cannot start either.
423
+ const code = this.input.charCodeAt(pos);
424
+ if (code !== 32 && code !== 9 && code !== 10 && code !== 13) {
425
+ if (code === 45) {
426
+ if (pos + 1 >= inputLength || this.input.charCodeAt(pos + 1) !== 45) {
427
+ return { position: pos, lines: null };
428
+ }
429
+ }
430
+ else if (code === 47) {
431
+ if (pos + 1 >= inputLength || this.input.charCodeAt(pos + 1) !== 42) {
432
+ return { position: pos, lines: null };
433
+ }
434
+ }
435
+ else {
436
+ return { position: pos, lines: null };
437
+ }
438
+ }
439
+ return StringUtils.readWhiteSpaceAndComment(this.input, pos);
341
440
  }
342
441
  /**
343
442
  * Gets debug information for error reporting.
@@ -518,6 +617,21 @@ export class SqlTokenizer {
518
617
  column: position - lineStart + 1
519
618
  };
520
619
  }
620
+ createOrderedLineColumnResolver() {
621
+ const starts = this.ensureLineStartPositions();
622
+ let lineIndex = 0;
623
+ // Token positions are processed in ascending order, so a forward-only cursor avoids repeated binary searches.
624
+ return (position) => {
625
+ while (lineIndex + 1 < starts.length && starts[lineIndex + 1] <= position) {
626
+ lineIndex++;
627
+ }
628
+ const lineStart = starts[lineIndex];
629
+ return {
630
+ line: lineIndex + 1,
631
+ column: position - lineStart + 1,
632
+ };
633
+ };
634
+ }
521
635
  ensureLineStartPositions() {
522
636
  if (this.lineStartPositions) {
523
637
  return this.lineStartPositions;
@@ -1 +1 @@
1
- {"version":3,"file":"SqlTokenizer.js","sourceRoot":"","sources":["../../../src/parsers/SqlTokenizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlTokenizer.js","sourceRoot":"","sources":["../../../src/parsers/SqlTokenizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IACxC,KAAK;IACL,UAAU;IACV,aAAa;IACb,KAAK;CACR,CAAC,CAAC;AAkBH;;GAEG;AACH,MAAM,OAAO,YAAY;IAqBrB;;OAEG;IACH,YAAY,KAAa;QARzB;;WAEG;QACK,uBAAkB,GAAoB,IAAI,CAAC;QAM/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAElB,+DAA+D;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC;aAC7C,QAAQ,CAAC,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;aACjD,QAAQ,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;aACzC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAChD,kGAAkG;YAClG,wGAAwG;YACxG,2CAA2C;aAC1C,QAAQ,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;aACvC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC;aAC7C,QAAQ,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;aACvC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,kEAAkE;YAClE,wFAAwF;YACxF,kDAAkD;aACjD,QAAQ,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;aACpC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACxC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,kDAAkD;SAC7F;IACT,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,QAAgB,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACK,OAAO,CAAC,QAAgB,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACvC,OAAO,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAEO,2BAA2B,CAAC,MAAc;QAC9C,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAC7H,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1C,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;YACvC,oBAAoB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;YACxC,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAQM,QAAQ,CAAC,OAAyB;QACrC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACzC,CAAC;QAED,oDAAoD;QACpD,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,WAAW;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,aAAa;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAEM,iBAAiB,CAAC,gBAAwB,CAAC,EAAE,gBAAiC,IAAI;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjC,sDAAsD;QACtD,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,uEAAuE;QACvE,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;QAE9B,MAAM,cAAc,GAAG,aAAa,CAAC;QACrC,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,SAAS,GAMV,EAAE,CAAC;QAER,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,oGAAoG;YACpG,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAEvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClB,4EAA4E;gBAC5E,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzE,MAAM;YACV,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,kDAAkD;gBAClD,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzE,MAAM;YACV,CAAC;YAED,gDAAgD;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3J,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YAExE,4DAA4D;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAEvC,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7E,cAAc,GAAG,IAAI,CAAC;YAEtB,SAAS,CAAC,IAAI,CAAC;gBACX,MAAM;gBACN,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,WAAW;gBACnB,cAAc;gBACd,cAAc,EAAE,aAAa,CAAC,KAAK;aACtC,CAAC,CAAC;YAEH,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE3D,OAAO;YACH,OAAO;YACP,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC;YACvD,eAAe,EAAE,cAAc;SAClC,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,SAMzB;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzD,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzD,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClF,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,SAMrB;QACE,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhD,oFAAoF;YACpF,MAAM,CAAC,QAAQ,GAAG;gBACd,aAAa,EAAE,KAAK,CAAC,QAAQ;gBAC7B,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,SAAS,EAAE,SAAS,CAAC,IAAI;gBACzB,WAAW,EAAE,SAAS,CAAC,MAAM;gBAC7B,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,SAAS,EAAE,OAAO,CAAC,MAAM;aAC5B,CAAC;YAEF,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACO,yBAAyB,CAAC,SAMhC;QACE,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACjE,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAEjC,6EAA6E;YAC7E,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,uEAAuE;gBACvE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAe,CAAC;oBAC/C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;wBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;wBACtC,yFAAyF;wBACzF,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;4BAClD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gCACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;4BAC/B,CAAC;4BACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;4BACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC9B,MAAM;wBACV,CAAC;wBACD,WAAW,EAAE,CAAC;oBAClB,CAAC;gBACL,CAAC;gBAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,cAAc,GAAG,OAAO,CAAC,cAAe,CAAC;oBAC/C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;wBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;wBACtC,yEAAyE;wBACzE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;4BACb,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gCACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;4BAC/B,CAAC;4BACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;4BACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC9B,MAAM;wBACV,CAAC;wBACD,WAAW,EAAE,CAAC;oBAClB,CAAC;gBACL,CAAC;gBAED,iEAAiE;gBACjE,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAe,CAAC;oBAC/C,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;wBACjC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;wBACtC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wBAC/B,CAAC;wBACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;wBACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;oBAClC,CAAC;gBACL,CAAC;gBAED,uEAAuE;gBACvE,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;oBAC7C,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAClF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAe,CAAC;wBAC/C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;wBACxB,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;4BACpC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;4BACtC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;gCACjD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oCACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;gCAC/B,CAAC;gCACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;gCACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;gCAC9B,MAAM;4BACV,CAAC;4BACD,WAAW,EAAE,CAAC;wBAClB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAElD,sFAAsF;YACtF,MAAM,CAAC,QAAQ,GAAG;gBACd,aAAa,EAAE,OAAO,CAAC,QAAQ;gBAC/B,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,SAAS,EAAE,SAAS,CAAC,IAAI;gBACzB,WAAW,EAAE,SAAS,CAAC,MAAM;gBAC7B,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,SAAS,EAAE,OAAO,CAAC,MAAM;aAC5B,CAAC;YACF,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,qBAAqB,GAAG,IAAI,CAAC;YACjC,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,4EAA4E;QAC5E,IAAI,qBAAqB,EAAE,CAAC;YACxB,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACvC,IAAI,IAAI,GAAG,QAAQ,CAAC;QAEpB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACvD,IAAI,EAAE,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,aAAa,CAAC,IAAqB,EAAE,QAAqC;QAC9E,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAEO,uBAAuB,CAAC,OAAiB;QAC7C,iGAAiG;QACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC5E,SAAS;YACb,CAAC;YAED,0EAA0E;YAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpJ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACb,CAAC;YAED,oFAAoF;YACpF,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YACxG,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,qFAAqF;YACrF,MAAM,cAAc,GAA8B,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5E,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC,CAAC;YAEJ,6EAA6E;YAC7E,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,kBAAkB,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,kBAAkB,GAAG,cAAc,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED,kFAAkF;IAC1E,sBAAsB,CAAC,MAAc,EAAE,SAA+E;QAC1H,MAAM,qBAAqB,GAA2D,EAAE,CAAC;QACzF,MAAM,sBAAsB,GAAa,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,sFAAsF;QACtF,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,qBAAqB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QAED,0FAA0F;QAC1F,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,sBAAsB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,+DAA+D;QAC/D,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YACpD,qBAAqB,CAAC,IAAI,CAAC;gBACvB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC;aAC1C,CAAC,CAAC;QACP,CAAC;QAED,8DAA8D;QAC9D,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YACpD,qBAAqB,CAAC,IAAI,CAAC;gBACvB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC;aAC1C,CAAC,CAAC;QACP,CAAC;QAED,wEAAwE;QACxE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;YAClD,MAAM,CAAC,QAAQ,GAAG,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;aAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,2DAA2D;YAC3D,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC;YACpC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAC1C,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,WAAW;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtC,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACrB,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QAED,0FAA0F;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAC1D,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC1C,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACrB,IAAI,GAAG,GAAG,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC1C,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,WAAmB;QAC5C,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC1B,4BAA4B;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,iEAAiE;QACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAEO,sBAAsB,CAAC,cAAwB;QACnD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,qDAAqD;QACrD,MAAM,eAAe,GAA0D,EAAE,CAAC;QAClF,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YAClC,+BAA+B;YAC/B,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAEtD,kCAAkC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEhE,IAAI,UAAU,EAAE,CAAC;gBACb,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,8CAA8C;gBAC9C,MAAM,YAAY,GAAG;oBACjB,aAAa,EAAE,SAAS;oBACxB,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC/C,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC;YACzC,CAAC;QACL,CAAC;QAED,wEAAwE;QACxE,MAAM,iBAAiB,GAAuB,EAAE,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAEtC,uDAAuD;YACvD,MAAM,kBAAkB,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;gBACpD,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;gBACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAExB,sDAAsD;YACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;YAE7E,MAAM,gBAAgB,mCACf,MAAM,KACT,mBAAmB,EAAE,iBAAiB,EACtC,cAAc,EACd,QAAQ,kBACJ,aAAa,EAAE,UAAU,CAAC,aAAa,EACvC,WAAW,EAAE,UAAU,CAAC,WAAW,IAChC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,IAElF,CAAC;YAEF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAc,EAAE,WAAmB;QAC5D,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,mGAAmG;QACnG,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3F,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,6DAA6D;YAC7D,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;gBACpD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU;gBACjF,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBACnD,OAAO;oBACH,aAAa,EAAE,WAAW;oBAC1B,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,MAAM;iBAC/C,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,KAAa,EAAE,QAAgB;QACtD,yBAAyB;QACzB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC,CAAC,6BAA6B;YAC/C,CAAC;QACL,CAAC;QAED,wBAAwB;QACxB,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC,CAAC,6BAA6B;YAC/C,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,IAAY;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAM,MAAM;YACtC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAM,QAAQ;YACxC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,IAAK,MAAM;YACtC,IAAI,KAAK,EAAE,CAAC,CAAoB,IAAI;IAC/C,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAY;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,EAAE,IAAK,QAAQ;YACxB,IAAI,KAAK,CAAC,IAAM,MAAM;YACtB,IAAI,KAAK,EAAE,IAAK,KAAK;YACrB,IAAI,KAAK,EAAE,CAAC,CAAI,KAAK;IAChC,CAAC;IAEO,6BAA6B,CAAC,iBAAyB;QAC3D,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,OAAO,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,GAAG,CAAC;YAEnB,4CAA4C;YAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAE5E,yBAAyB;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,wBAAwB;YACxB,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEtB,kFAAkF;YAClF,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACjB,GAAG,EAAE,CAAC;YACV,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,GAAW;QACzC,OAAO,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC1E,CAAC;IAEO,iBAAiB,CAAC,QAAgB,EAAE,MAAc;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO;YACH,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,SAAS,EAAE,OAAO,CAAC,MAAM;SAC5B,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,QAAgB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAE/C,qFAAqF;QACrF,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC1B,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO;YACH,IAAI,EAAE,SAAS,GAAG,CAAC;YACnB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC;SACnC,CAAC;IACN,CAAC;IAGO,+BAA+B;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,8GAA8G;QAC9G,OAAO,CAAC,QAAgB,EAAE,EAAE;YACxB,OAAO,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACxE,SAAS,EAAE,CAAC;YAChB,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,GAAG,CAAC;gBACnB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC;aACnC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IAAY,wBAAwB;QACjC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAa,CAAC,CAAC,CAAC,CAAC;QAE7B,oFAAoF;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO;gBAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"UsingClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/UsingClauseParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAU,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACnB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;;QAC1D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,iCAAiC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,yDAAyD;QACzD,MAAM,WAAW,GAAG,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3B,oDAAoD;QACpD,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,0CAAE,IAAI,MAAK,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5C,GAAG,EAAE,CAAC;YACN,MAAM,UAAU,GAAG,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC9D,CAAC;CACJ"}
1
+ {"version":3,"file":"UsingClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/UsingClauseParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAU,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACnB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;;QAC1D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,iCAAiC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,yDAAyD;QACzD,MAAM,WAAW,GAAG,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3B,oDAAoD;QACpD,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,0CAAE,IAAI,MAAK,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5C,GAAG,EAAE,CAAC;YACN,MAAM,UAAU,GAAG,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC9D,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import { Lexeme } from '../models/Lexeme';
2
+ import { VacuumStatement } from '../models/DDLStatements';
3
+ export declare class VacuumStatementParser {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
+ value: VacuumStatement;
6
+ newIndex: number;
7
+ };
8
+ }
@@ -0,0 +1,14 @@
1
+ import { VacuumStatement } from '../models/DDLStatements';
2
+ export class VacuumStatementParser {
3
+ static parseFromLexeme(lexemes, index) {
4
+ const lexeme = lexemes[index];
5
+ if (!lexeme || lexeme.value.toLowerCase() !== 'vacuum') {
6
+ throw new Error(`[VacuumStatementParser] Expected VACUUM at index ${index}.`);
7
+ }
8
+ return {
9
+ value: new VacuumStatement(),
10
+ newIndex: lexemes.length,
11
+ };
12
+ }
13
+ }
14
+ //# sourceMappingURL=VacuumStatementParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VacuumStatementParser.js","sourceRoot":"","sources":["../../../src/parsers/VacuumStatementParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,qBAAqB;IACvB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,GAAG,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACH,KAAK,EAAE,IAAI,eAAe,EAAE;YAC5B,QAAQ,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC;IACN,CAAC;CACJ"}
@@ -113,6 +113,8 @@ const keywordTrie = new KeywordTrie([
113
113
  ["analyze"],
114
114
  ["create", "table"],
115
115
  ["create", "temporary", "table"],
116
+ ["create", "temp", "table"],
117
+ ["create", "unlogged", "table"],
116
118
  ["create", "schema"],
117
119
  ["create", "sequence"],
118
120
  ["create", "temporary", "sequence"],
@@ -124,6 +126,8 @@ const keywordTrie = new KeywordTrie([
124
126
  ["drop", "index"],
125
127
  ["drop", "sequence"],
126
128
  ["drop", "constraint"],
129
+ ["comment", "on", "table"],
130
+ ["comment", "on", "column"],
127
131
  ["create", "index"],
128
132
  ["create", "unique", "index"],
129
133
  ["add"],
@@ -175,16 +179,30 @@ const keywordTrie = new KeywordTrie([
175
179
  ]);
176
180
  const keywordParser = new KeywordParser(keywordTrie);
177
181
  export const joinkeywordParser = new KeywordParser(joinTrie);
182
+ // Keep canStartJoinKeyword in sync with the first letters used by joinTrie patterns.
183
+ function canStartJoinKeyword(input, position) {
184
+ const code = input.charCodeAt(position) | 32;
185
+ return code === 106 || // j
186
+ code === 105 || // i
187
+ code === 99 || // c
188
+ code === 108 || // l
189
+ code === 114 || // r
190
+ code === 102 || // f
191
+ code === 110; // n
192
+ }
178
193
  export { keywordTrie as commandKeywordTrie };
179
194
  export class CommandTokenReader extends BaseTokenReader {
180
195
  tryRead(previous) {
181
196
  if (this.isEndOfInput()) {
182
197
  return null;
183
198
  }
184
- const keywordJoin = joinkeywordParser.parse(this.input, this.position);
185
- if (keywordJoin !== null) {
186
- this.position = keywordJoin.newPosition;
187
- return this.createLexeme(TokenType.Command, keywordJoin.keyword);
199
+ // Skip JOIN-specific parsing unless the leading character can start JOIN phrases.
200
+ if (canStartJoinKeyword(this.input, this.position)) {
201
+ const keywordJoin = joinkeywordParser.parse(this.input, this.position);
202
+ if (keywordJoin !== null) {
203
+ this.position = keywordJoin.newPosition;
204
+ return this.createLexeme(TokenType.Command, keywordJoin.keyword);
205
+ }
188
206
  }
189
207
  // Check for keyword identifiers
190
208
  const keyword = keywordParser.parse(this.input, this.position);
@@ -1 +1 @@
1
- {"version":3,"file":"CommandTokenReader.js","sourceRoot":"","sources":["../../../src/tokenReaders/CommandTokenReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandTokenReader.js","sourceRoot":"","sources":["../../../src/tokenReaders/CommandTokenReader.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,6 @@ export declare class StringSpecifierTokenReader extends BaseTokenReader {
5
5
  * Try to read an escaped literal like e'...', x'...', etc.
6
6
  */
7
7
  tryRead(previous: Lexeme | null): Lexeme | null;
8
+ private isSingleLetterStringPrefix;
9
+ private isUnicodePrefix;
8
10
  }