rawsql-ts 0.6.0-beta → 0.7.1-beta

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 (210) hide show
  1. package/README.md +141 -121
  2. package/dist/esm/index.js +1 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/models/Clause.js +111 -43
  5. package/dist/esm/models/Clause.js.map +1 -1
  6. package/dist/esm/models/CreateTableQuery.js +12 -22
  7. package/dist/esm/models/CreateTableQuery.js.map +1 -1
  8. package/dist/esm/models/KeywordTrie.js +2 -0
  9. package/dist/esm/models/KeywordTrie.js.map +1 -1
  10. package/dist/esm/models/SimpleSelectQuery.js +17 -15
  11. package/dist/esm/models/SimpleSelectQuery.js.map +1 -1
  12. package/dist/esm/models/SqlPrintToken.js +94 -0
  13. package/dist/esm/models/SqlPrintToken.js.map +1 -0
  14. package/dist/esm/models/ValueComponent.js +86 -17
  15. package/dist/esm/models/ValueComponent.js.map +1 -1
  16. package/dist/esm/parsers/FetchClauseParser.js +84 -0
  17. package/dist/esm/parsers/FetchClauseParser.js.map +1 -0
  18. package/dist/esm/parsers/FullNameParser.js +6 -1
  19. package/dist/esm/parsers/FullNameParser.js.map +1 -1
  20. package/dist/esm/parsers/IdentifierDecorator.js +13 -0
  21. package/dist/esm/parsers/IdentifierDecorator.js.map +1 -0
  22. package/dist/esm/parsers/InsertQueryParser.js +1 -1
  23. package/dist/esm/parsers/JoinClauseParser.js +13 -35
  24. package/dist/esm/parsers/JoinClauseParser.js.map +1 -1
  25. package/dist/esm/parsers/JoinOnClauseParser.js +17 -0
  26. package/dist/esm/parsers/JoinOnClauseParser.js.map +1 -0
  27. package/dist/esm/parsers/JoinUsingClauseParser.js +19 -0
  28. package/dist/esm/parsers/JoinUsingClauseParser.js.map +1 -0
  29. package/dist/esm/parsers/LimitClauseParser.js +1 -13
  30. package/dist/esm/parsers/LimitClauseParser.js.map +1 -1
  31. package/dist/esm/parsers/OffsetClauseParser.js +38 -0
  32. package/dist/esm/parsers/OffsetClauseParser.js.map +1 -0
  33. package/dist/esm/parsers/ParameterDecorator.js +36 -0
  34. package/dist/esm/parsers/ParameterDecorator.js.map +1 -0
  35. package/dist/esm/parsers/SelectClauseParser.js +25 -2
  36. package/dist/esm/parsers/SelectClauseParser.js.map +1 -1
  37. package/dist/esm/parsers/SelectQueryParser.js +40 -13
  38. package/dist/esm/parsers/SelectQueryParser.js.map +1 -1
  39. package/dist/esm/parsers/SourceParser.js +17 -13
  40. package/dist/esm/parsers/SourceParser.js.map +1 -1
  41. package/dist/esm/parsers/SqlPrintTokenParser.js +1058 -0
  42. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -0
  43. package/dist/esm/parsers/SqlTokenizer.js +2 -0
  44. package/dist/esm/parsers/SqlTokenizer.js.map +1 -1
  45. package/dist/esm/parsers/WindowClauseParser.js +27 -15
  46. package/dist/esm/parsers/WindowClauseParser.js.map +1 -1
  47. package/dist/esm/tokenReaders/BaseTokenReader.js +3 -3
  48. package/dist/esm/tokenReaders/BaseTokenReader.js.map +1 -1
  49. package/dist/esm/tokenReaders/CommandTokenReader.js +8 -2
  50. package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
  51. package/dist/esm/tokenReaders/EscapedIdentifierTokenReader.js +54 -0
  52. package/dist/esm/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -0
  53. package/dist/esm/tokenReaders/IdentifierTokenReader.js +0 -36
  54. package/dist/esm/tokenReaders/IdentifierTokenReader.js.map +1 -1
  55. package/dist/esm/tokenReaders/LiteralTokenReader.js +23 -6
  56. package/dist/esm/tokenReaders/LiteralTokenReader.js.map +1 -1
  57. package/dist/esm/transformers/CTECollector.js +9 -10
  58. package/dist/esm/transformers/CTECollector.js.map +1 -1
  59. package/dist/esm/transformers/CTEDisabler.js +10 -9
  60. package/dist/esm/transformers/CTEDisabler.js.map +1 -1
  61. package/dist/esm/transformers/CTEInjector.js +2 -2
  62. package/dist/esm/transformers/Formatter.js +19 -646
  63. package/dist/esm/transformers/Formatter.js.map +1 -1
  64. package/dist/esm/transformers/LinePrinter.js +81 -0
  65. package/dist/esm/transformers/LinePrinter.js.map +1 -0
  66. package/dist/esm/transformers/QueryBuilder.js +8 -18
  67. package/dist/esm/transformers/QueryBuilder.js.map +1 -1
  68. package/dist/esm/transformers/SelectableColumnCollector.js +26 -9
  69. package/dist/esm/transformers/SelectableColumnCollector.js.map +1 -1
  70. package/dist/esm/transformers/SqlFormatter.js +31 -0
  71. package/dist/esm/transformers/SqlFormatter.js.map +1 -0
  72. package/dist/esm/transformers/SqlOutputToken.js +9 -0
  73. package/dist/esm/transformers/SqlOutputToken.js.map +1 -0
  74. package/dist/esm/transformers/SqlPrinter.js +144 -0
  75. package/dist/esm/transformers/SqlPrinter.js.map +1 -0
  76. package/dist/esm/transformers/TableSourceCollector.js +32 -16
  77. package/dist/esm/transformers/TableSourceCollector.js.map +1 -1
  78. package/dist/esm/types/index.d.ts +1 -0
  79. package/dist/esm/types/models/Clause.d.ts +64 -13
  80. package/dist/esm/types/models/SimpleSelectQuery.d.ts +20 -5
  81. package/dist/esm/types/models/SqlPrintToken.d.ts +102 -0
  82. package/dist/esm/types/models/ValueComponent.d.ts +43 -9
  83. package/dist/esm/types/parsers/FetchClauseParser.d.ts +24 -0
  84. package/dist/esm/types/parsers/FullNameParser.d.ts +1 -0
  85. package/dist/esm/types/parsers/IdentifierDecorator.d.ts +9 -0
  86. package/dist/esm/types/parsers/JoinClauseParser.d.ts +0 -2
  87. package/dist/esm/types/parsers/JoinOnClauseParser.d.ts +8 -0
  88. package/dist/esm/types/parsers/JoinUsingClauseParser.d.ts +8 -0
  89. package/dist/esm/types/parsers/OffsetClauseParser.d.ts +9 -0
  90. package/dist/esm/types/parsers/ParameterDecorator.d.ts +20 -0
  91. package/dist/esm/types/parsers/SelectClauseParser.d.ts +19 -2
  92. package/dist/esm/types/parsers/SqlPrintTokenParser.d.ts +144 -0
  93. package/dist/esm/types/parsers/WindowClauseParser.d.ts +3 -3
  94. package/dist/esm/types/tokenReaders/EscapedIdentifierTokenReader.d.ts +15 -0
  95. package/dist/esm/types/tokenReaders/IdentifierTokenReader.d.ts +0 -4
  96. package/dist/esm/types/tokenReaders/LiteralTokenReader.d.ts +15 -2
  97. package/dist/esm/types/transformers/Formatter.d.ts +8 -105
  98. package/dist/esm/types/transformers/LinePrinter.d.ts +41 -0
  99. package/dist/esm/types/transformers/SelectableColumnCollector.d.ts +2 -0
  100. package/dist/esm/types/transformers/SqlFormatter.d.ts +40 -0
  101. package/dist/esm/types/transformers/SqlOutputToken.d.ts +6 -0
  102. package/dist/esm/types/transformers/SqlPrinter.d.ts +54 -0
  103. package/dist/esm/types/transformers/TableSourceCollector.d.ts +2 -0
  104. package/dist/esm/utils/stringUtils.js +17 -0
  105. package/dist/esm/utils/stringUtils.js.map +1 -1
  106. package/dist/index.d.ts +1 -0
  107. package/dist/index.js +1 -0
  108. package/dist/index.js.map +1 -1
  109. package/dist/models/Clause.d.ts +64 -13
  110. package/dist/models/Clause.js +115 -44
  111. package/dist/models/Clause.js.map +1 -1
  112. package/dist/models/CreateTableQuery.js +12 -22
  113. package/dist/models/CreateTableQuery.js.map +1 -1
  114. package/dist/models/KeywordTrie.js +2 -0
  115. package/dist/models/KeywordTrie.js.map +1 -1
  116. package/dist/models/SimpleSelectQuery.d.ts +20 -5
  117. package/dist/models/SimpleSelectQuery.js +17 -15
  118. package/dist/models/SimpleSelectQuery.js.map +1 -1
  119. package/dist/models/SqlPrintToken.d.ts +102 -0
  120. package/dist/models/SqlPrintToken.js +98 -0
  121. package/dist/models/SqlPrintToken.js.map +1 -0
  122. package/dist/models/ValueComponent.d.ts +43 -9
  123. package/dist/models/ValueComponent.js +88 -18
  124. package/dist/models/ValueComponent.js.map +1 -1
  125. package/dist/parsers/FetchClauseParser.d.ts +24 -0
  126. package/dist/parsers/FetchClauseParser.js +89 -0
  127. package/dist/parsers/FetchClauseParser.js.map +1 -0
  128. package/dist/parsers/FullNameParser.d.ts +1 -0
  129. package/dist/parsers/FullNameParser.js +6 -1
  130. package/dist/parsers/FullNameParser.js.map +1 -1
  131. package/dist/parsers/IdentifierDecorator.d.ts +9 -0
  132. package/dist/parsers/IdentifierDecorator.js +17 -0
  133. package/dist/parsers/IdentifierDecorator.js.map +1 -0
  134. package/dist/parsers/InsertQueryParser.js +1 -1
  135. package/dist/parsers/JoinClauseParser.d.ts +0 -2
  136. package/dist/parsers/JoinClauseParser.js +12 -34
  137. package/dist/parsers/JoinClauseParser.js.map +1 -1
  138. package/dist/parsers/JoinOnClauseParser.d.ts +8 -0
  139. package/dist/parsers/JoinOnClauseParser.js +21 -0
  140. package/dist/parsers/JoinOnClauseParser.js.map +1 -0
  141. package/dist/parsers/JoinUsingClauseParser.d.ts +8 -0
  142. package/dist/parsers/JoinUsingClauseParser.js +23 -0
  143. package/dist/parsers/JoinUsingClauseParser.js.map +1 -0
  144. package/dist/parsers/LimitClauseParser.js +1 -13
  145. package/dist/parsers/LimitClauseParser.js.map +1 -1
  146. package/dist/parsers/OffsetClauseParser.d.ts +9 -0
  147. package/dist/parsers/OffsetClauseParser.js +42 -0
  148. package/dist/parsers/OffsetClauseParser.js.map +1 -0
  149. package/dist/parsers/ParameterDecorator.d.ts +20 -0
  150. package/dist/parsers/ParameterDecorator.js +40 -0
  151. package/dist/parsers/ParameterDecorator.js.map +1 -0
  152. package/dist/parsers/SelectClauseParser.d.ts +19 -2
  153. package/dist/parsers/SelectClauseParser.js +28 -4
  154. package/dist/parsers/SelectClauseParser.js.map +1 -1
  155. package/dist/parsers/SelectQueryParser.js +40 -13
  156. package/dist/parsers/SelectQueryParser.js.map +1 -1
  157. package/dist/parsers/SourceParser.js +17 -13
  158. package/dist/parsers/SourceParser.js.map +1 -1
  159. package/dist/parsers/SqlPrintTokenParser.d.ts +144 -0
  160. package/dist/parsers/SqlPrintTokenParser.js +1062 -0
  161. package/dist/parsers/SqlPrintTokenParser.js.map +1 -0
  162. package/dist/parsers/SqlTokenizer.js +2 -0
  163. package/dist/parsers/SqlTokenizer.js.map +1 -1
  164. package/dist/parsers/WindowClauseParser.d.ts +3 -3
  165. package/dist/parsers/WindowClauseParser.js +26 -14
  166. package/dist/parsers/WindowClauseParser.js.map +1 -1
  167. package/dist/tokenReaders/BaseTokenReader.js +3 -3
  168. package/dist/tokenReaders/BaseTokenReader.js.map +1 -1
  169. package/dist/tokenReaders/CommandTokenReader.js +8 -2
  170. package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
  171. package/dist/tokenReaders/EscapedIdentifierTokenReader.d.ts +15 -0
  172. package/dist/tokenReaders/EscapedIdentifierTokenReader.js +58 -0
  173. package/dist/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -0
  174. package/dist/tokenReaders/IdentifierTokenReader.d.ts +0 -4
  175. package/dist/tokenReaders/IdentifierTokenReader.js +0 -36
  176. package/dist/tokenReaders/IdentifierTokenReader.js.map +1 -1
  177. package/dist/tokenReaders/LiteralTokenReader.d.ts +15 -2
  178. package/dist/tokenReaders/LiteralTokenReader.js +23 -6
  179. package/dist/tokenReaders/LiteralTokenReader.js.map +1 -1
  180. package/dist/transformers/CTECollector.js +9 -10
  181. package/dist/transformers/CTECollector.js.map +1 -1
  182. package/dist/transformers/CTEDisabler.js +9 -8
  183. package/dist/transformers/CTEDisabler.js.map +1 -1
  184. package/dist/transformers/CTEInjector.js +2 -2
  185. package/dist/transformers/Formatter.d.ts +8 -105
  186. package/dist/transformers/Formatter.js +20 -647
  187. package/dist/transformers/Formatter.js.map +1 -1
  188. package/dist/transformers/LinePrinter.d.ts +41 -0
  189. package/dist/transformers/LinePrinter.js +86 -0
  190. package/dist/transformers/LinePrinter.js.map +1 -0
  191. package/dist/transformers/QueryBuilder.js +8 -18
  192. package/dist/transformers/QueryBuilder.js.map +1 -1
  193. package/dist/transformers/SelectableColumnCollector.d.ts +2 -0
  194. package/dist/transformers/SelectableColumnCollector.js +25 -8
  195. package/dist/transformers/SelectableColumnCollector.js.map +1 -1
  196. package/dist/transformers/SqlFormatter.d.ts +40 -0
  197. package/dist/transformers/SqlFormatter.js +35 -0
  198. package/dist/transformers/SqlFormatter.js.map +1 -0
  199. package/dist/transformers/SqlOutputToken.d.ts +6 -0
  200. package/dist/transformers/SqlOutputToken.js +13 -0
  201. package/dist/transformers/SqlOutputToken.js.map +1 -0
  202. package/dist/transformers/SqlPrinter.d.ts +54 -0
  203. package/dist/transformers/SqlPrinter.js +148 -0
  204. package/dist/transformers/SqlPrinter.js.map +1 -0
  205. package/dist/transformers/TableSourceCollector.d.ts +2 -0
  206. package/dist/transformers/TableSourceCollector.js +30 -14
  207. package/dist/transformers/TableSourceCollector.js.map +1 -1
  208. package/dist/utils/stringUtils.js +17 -0
  209. package/dist/utils/stringUtils.js.map +1 -1
  210. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
- import { CommonTable, ForClause, FromClause, GroupByClause, HavingClause, JoinClause, JoinOnClause, JoinUsingClause, LimitClause, OrderByClause, OrderByItem, ParenSource, SelectClause, SelectItem, SourceExpression, SubQuerySource, TableSource, WhereClause, WindowFrameClause, WithClause } from "../models/Clause";
1
+ import { CommonTable, FetchClause, ForClause, FromClause, GroupByClause, HavingClause, JoinClause, JoinOnClause, JoinUsingClause, LimitClause, OffsetClause, OrderByClause, OrderByItem, ParenSource, SelectClause, SelectItem, SourceExpression, SubQuerySource, TableSource, WhereClause, WindowFrameClause, WithClause } from "../models/Clause";
2
2
  import { BinarySelectQuery, SimpleSelectQuery, ValuesQuery } from "../models/SelectQuery";
3
- import { ArrayExpression, BetweenExpression, BinaryExpression, CaseExpression, CaseKeyValuePair, CastExpression, FunctionCall, InlineQuery, ParenExpression, SwitchCaseArgument, TupleExpression, UnaryExpression } from "../models/ValueComponent";
3
+ import { ArrayExpression, BetweenExpression, BinaryExpression, CaseExpression, CaseKeyValuePair, CastExpression, FunctionCall, InlineQuery, ParenExpression, SwitchCaseArgument, TupleExpression, UnaryExpression, RawString } from "../models/ValueComponent";
4
4
  import { CTECollector } from "./CTECollector";
5
5
  /**
6
6
  * A visitor that collects all table source names from a SQL query structure.
@@ -52,6 +52,8 @@ export class TableSourceCollector {
52
52
  this.handlers.set(OrderByClause.kind, (expr) => this.visitOrderByClause(expr));
53
53
  this.handlers.set(WindowFrameClause.kind, (expr) => this.visitWindowFrameClause(expr));
54
54
  this.handlers.set(LimitClause.kind, (expr) => this.visitLimitClause(expr));
55
+ this.handlers.set(OffsetClause.kind, (expr) => this.visitOffsetClause(expr));
56
+ this.handlers.set(FetchClause.kind, (expr) => this.visitFetchClause(expr));
55
57
  this.handlers.set(ForClause.kind, (expr) => this.visitForClause(expr));
56
58
  this.handlers.set(OrderByItem.kind, (expr) => this.visitOrderByItem(expr));
57
59
  this.handlers.set(SelectClause.kind, (expr) => this.visitSelectClause(expr));
@@ -89,11 +91,13 @@ export class TableSourceCollector {
89
91
  * Gets a unique identifier for a table source
90
92
  */
91
93
  getTableIdentifier(source) {
92
- let identifier = source.table.name;
93
- if (source.namespaces && source.namespaces.length > 0) {
94
- identifier = source.namespaces.map(ns => ns.name).join('.') + '.' + identifier;
94
+ // Use QualifiedName for identifier (dot-joined string)
95
+ if (source.qualifiedName.namespaces && source.qualifiedName.namespaces.length > 0) {
96
+ return source.qualifiedName.namespaces.map(ns => ns.name).join('.') + '.' + (source.qualifiedName.name instanceof RawString ? source.qualifiedName.name.value : source.qualifiedName.name.name);
97
+ }
98
+ else {
99
+ return source.qualifiedName.name instanceof RawString ? source.qualifiedName.name.value : source.qualifiedName.name.name;
95
100
  }
96
- return identifier;
97
101
  }
98
102
  collect(query) {
99
103
  // Visit the SQL component to collect table sources
@@ -153,6 +157,7 @@ export class TableSourceCollector {
153
157
  const commonTables = cteCollector.getCommonTables();
154
158
  // Add CTE names to the set
155
159
  for (const cte of commonTables) {
160
+ // aliasExpression.table is TableSource, so use .table getter (IdentifierString)
156
161
  this.cteNames.add(cte.aliasExpression.table.name);
157
162
  }
158
163
  }
@@ -163,8 +168,8 @@ export class TableSourceCollector {
163
168
  }
164
169
  // If in full scan mode, visit all other clauses too
165
170
  if (!this.selectableOnly) {
166
- if (query.WithClause) {
167
- query.WithClause.accept(this);
171
+ if (query.withClause) {
172
+ query.withClause.accept(this);
168
173
  }
169
174
  if (query.whereClause) {
170
175
  query.whereClause.accept(this);
@@ -178,11 +183,19 @@ export class TableSourceCollector {
178
183
  if (query.orderByClause) {
179
184
  query.orderByClause.accept(this);
180
185
  }
181
- if (query.windowFrameClause) {
182
- query.windowFrameClause.accept(this);
186
+ if (query.windowClause) {
187
+ for (const win of query.windowClause.windows) {
188
+ win.accept(this);
189
+ }
190
+ }
191
+ if (query.limitClause) {
192
+ query.limitClause.accept(this);
183
193
  }
184
- if (query.rowLimitClause) {
185
- query.rowLimitClause.accept(this);
194
+ if (query.offsetClause) {
195
+ query.offsetClause.accept(this);
196
+ }
197
+ if (query.fetchClause) {
198
+ query.fetchClause.accept(this);
186
199
  }
187
200
  if (query.forClause) {
188
201
  query.forClause.accept(this);
@@ -304,10 +317,13 @@ export class TableSourceCollector {
304
317
  clause.expression.accept(this);
305
318
  }
306
319
  visitLimitClause(clause) {
307
- clause.limit.accept(this);
308
- if (clause.offset) {
309
- clause.offset.accept(this);
310
- }
320
+ clause.value.accept(this);
321
+ }
322
+ visitOffsetClause(clause) {
323
+ clause.value.accept(this);
324
+ }
325
+ visitFetchClause(clause) {
326
+ clause.expression.accept(this);
311
327
  }
312
328
  visitForClause(clause) {
313
329
  // FOR clause doesn't contain table sources
@@ -1 +1 @@
1
- {"version":3,"file":"TableSourceCollector.js","sourceRoot":"","sources":["../../../src/transformers/TableSourceCollector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableSourceCollector.js","sourceRoot":"","sources":["../../../src/transformers/TableSourceCollector.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export * from './models/ValuesQuery';
7
7
  export * from './transformers/CTECollector';
8
8
  export * from './transformers/CTENormalizer';
9
9
  export * from './transformers/Formatter';
10
+ export * from './transformers/SqlFormatter';
10
11
  export * from './transformers/QueryBuilder';
11
12
  export * from './transformers/SelectValueCollector';
12
13
  export * from './transformers/SelectableColumnCollector';
@@ -1,6 +1,6 @@
1
1
  import { SelectQuery } from "./SelectQuery";
2
2
  import { SqlComponent } from "./SqlComponent";
3
- import { IdentifierString, RawString, ValueComponent, WindowFrameExpression } from "./ValueComponent";
3
+ import { IdentifierString, RawString, ValueComponent, WindowFrameExpression, QualifiedName } from "./ValueComponent";
4
4
  export declare class SelectItem extends SqlComponent {
5
5
  static kind: symbol;
6
6
  value: ValueComponent;
@@ -39,6 +39,15 @@ export declare class WindowFrameClause extends SqlComponent {
39
39
  expression: WindowFrameExpression;
40
40
  constructor(name: string, expression: WindowFrameExpression);
41
41
  }
42
+ /**
43
+ * Represents a collection of window definitions (WINDOW clause in SQL).
44
+ * @param windows Array of WindowFrameClause
45
+ */
46
+ export declare class WindowsClause extends SqlComponent {
47
+ static kind: symbol;
48
+ windows: WindowFrameClause[];
49
+ constructor(windows: WindowFrameClause[]);
50
+ }
42
51
  export declare enum SortDirection {
43
52
  Ascending = "asc",
44
53
  Descending = "desc"
@@ -73,17 +82,38 @@ export declare class HavingClause extends SqlComponent {
73
82
  export type SourceComponent = TableSource | FunctionSource | SubQuerySource | ParenSource;
74
83
  export declare class TableSource extends SqlComponent {
75
84
  static kind: symbol;
76
- namespaces: IdentifierString[] | null;
77
- table: IdentifierString;
78
- identifier: IdentifierString;
85
+ qualifiedName: QualifiedName;
86
+ /**
87
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
88
+ */
89
+ get namespaces(): IdentifierString[] | null;
90
+ /**
91
+ * For backward compatibility: returns the table name as IdentifierString (readonly)
92
+ */
93
+ get table(): IdentifierString;
94
+ /**
95
+ * For backward compatibility: returns the table name as IdentifierString (readonly)
96
+ */
97
+ get identifier(): IdentifierString;
79
98
  constructor(namespaces: string[] | IdentifierString[] | null, table: string | IdentifierString);
80
99
  getSourceName(): string;
81
100
  }
82
101
  export declare class FunctionSource extends SqlComponent {
83
102
  static kind: symbol;
84
- name: RawString;
103
+ qualifiedName: QualifiedName;
85
104
  argument: ValueComponent | null;
86
- constructor(functionName: string, argument: ValueComponent | null);
105
+ constructor(name: string | IdentifierString | {
106
+ namespaces: string[] | IdentifierString[] | null;
107
+ name: string | RawString | IdentifierString;
108
+ }, argument: ValueComponent | null);
109
+ /**
110
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
111
+ */
112
+ get namespaces(): IdentifierString[] | null;
113
+ /**
114
+ * For backward compatibility: returns the function name as RawString | IdentifierString (readonly)
115
+ */
116
+ get name(): RawString | IdentifierString;
87
117
  }
88
118
  export declare class ParenSource extends SqlComponent {
89
119
  static kind: symbol;
@@ -149,9 +179,8 @@ export declare class WithClause extends SqlComponent {
149
179
  }
150
180
  export declare class LimitClause extends SqlComponent {
151
181
  static kind: symbol;
152
- limit: ValueComponent;
153
- offset: ValueComponent | null;
154
- constructor(limit: ValueComponent, offset: ValueComponent | null);
182
+ value: ValueComponent;
183
+ constructor(limit: ValueComponent);
155
184
  }
156
185
  export declare enum FetchType {
157
186
  Next = "next",
@@ -162,7 +191,17 @@ export declare enum FetchUnit {
162
191
  Percent = "percent",
163
192
  PercentWithTies = "percent with ties"
164
193
  }
165
- export declare class FetchSpecification extends SqlComponent {
194
+ export declare class OffsetClause extends SqlComponent {
195
+ static kind: symbol;
196
+ value: ValueComponent;
197
+ constructor(value: ValueComponent);
198
+ }
199
+ export declare class FetchClause extends SqlComponent {
200
+ static kind: symbol;
201
+ expression: FetchExpression;
202
+ constructor(expression: FetchExpression);
203
+ }
204
+ export declare class FetchExpression extends SqlComponent {
166
205
  static kind: symbol;
167
206
  type: FetchType;
168
207
  count: ValueComponent;
@@ -210,15 +249,27 @@ export declare class SetClause extends SqlComponent {
210
249
  * Represents a single SET clause item in an UPDATE statement.
211
250
  * Now supports namespaces for fully qualified column names (e.g. schema.table.column).
212
251
  */
252
+ /**
253
+ * Represents a single SET clause item in an UPDATE statement.
254
+ * Now supports namespaces for fully qualified column names (e.g. schema.table.column).
255
+ * Refactored to use QualifiedName for unified name/namespace handling.
256
+ */
213
257
  export declare class SetClauseItem extends SqlComponent {
214
258
  static kind: symbol;
215
- namespaces: IdentifierString[] | null;
216
- column: IdentifierString;
259
+ qualifiedName: QualifiedName;
217
260
  value: ValueComponent;
218
261
  constructor(column: string | IdentifierString | {
219
262
  namespaces: string[] | IdentifierString[] | null;
220
263
  column: string | IdentifierString;
221
264
  }, value: ValueComponent);
265
+ /**
266
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
267
+ */
268
+ get namespaces(): IdentifierString[] | null;
269
+ /**
270
+ * For backward compatibility: returns the column name as IdentifierString (readonly)
271
+ */
272
+ get column(): IdentifierString;
222
273
  /**
223
274
  * Returns the fully qualified column name as a string.
224
275
  */
@@ -237,6 +288,6 @@ export declare class UpdateClause extends SqlComponent {
237
288
  */
238
289
  export declare class InsertClause extends SqlComponent {
239
290
  source: SourceExpression;
240
- columns: string[];
291
+ columns: IdentifierString[];
241
292
  constructor(source: SourceExpression, columns: string[]);
242
293
  }
@@ -1,5 +1,5 @@
1
1
  import { SqlComponent } from "./SqlComponent";
2
- import { ForClause, FromClause, GroupByClause, HavingClause, LimitClause, OrderByClause, SelectClause, SourceExpression, WhereClause, WindowFrameClause, WithClause, CommonTable } from "./Clause";
2
+ import { ForClause, FromClause, GroupByClause, HavingClause, LimitClause, OrderByClause, SelectClause, SourceExpression, WhereClause, WindowsClause as WindowClause, WithClause, CommonTable, OffsetClause, FetchClause } from "./Clause";
3
3
  import { ValueComponent } from "./ValueComponent";
4
4
  import { BinarySelectQuery } from "./BinarySelectQuery";
5
5
  import type { SelectQuery } from "./SelectQuery";
@@ -9,17 +9,32 @@ import { TableColumnResolver } from "../transformers/TableColumnResolver";
9
9
  */
10
10
  export declare class SimpleSelectQuery extends SqlComponent implements SelectQuery {
11
11
  static kind: symbol;
12
- WithClause: WithClause | null;
12
+ withClause: WithClause | null;
13
13
  selectClause: SelectClause;
14
14
  fromClause: FromClause | null;
15
15
  whereClause: WhereClause | null;
16
16
  groupByClause: GroupByClause | null;
17
17
  havingClause: HavingClause | null;
18
18
  orderByClause: OrderByClause | null;
19
- windowFrameClause: WindowFrameClause | null;
20
- rowLimitClause: LimitClause | null;
19
+ windowClause: WindowClause | null;
20
+ limitClause: LimitClause | null;
21
+ offsetClause: OffsetClause | null;
22
+ fetchClause: FetchClause | null;
21
23
  forClause: ForClause | null;
22
- constructor(withClause: WithClause | null, selectClause: SelectClause, fromClause: FromClause | null, whereClause: WhereClause | null, groupByClause: GroupByClause | null, havingClause: HavingClause | null, orderByClause: OrderByClause | null, windowFrameClause: WindowFrameClause | null, rowLimitClause: LimitClause | null, forClause: ForClause | null);
24
+ constructor(params: {
25
+ selectClause: SelectClause;
26
+ fromClause?: FromClause | null;
27
+ whereClause?: WhereClause | null;
28
+ groupByClause?: GroupByClause | null;
29
+ havingClause?: HavingClause | null;
30
+ orderByClause?: OrderByClause | null;
31
+ windowClause?: WindowClause | null;
32
+ limitClause?: LimitClause | null;
33
+ offsetClause?: OffsetClause | null;
34
+ fetchClause?: FetchClause | null;
35
+ forClause?: ForClause | null;
36
+ withClause?: WithClause | null;
37
+ });
23
38
  /**
24
39
  * Creates a new BinarySelectQuery with this query as the left side and the provided query as the right side,
25
40
  * using UNION as the operator.
@@ -0,0 +1,102 @@
1
+ export declare enum SqlPrintTokenType {
2
+ container = 0,
3
+ keyword = 1,
4
+ value = 2,// Represents non-keyword elements such as table names
5
+ comma = 3,// Represents comma ','
6
+ parenthesis = 4,// Represents parentheses: ( ) { } [ ]
7
+ operator = 5,// Represents operators such as +, -, *, /
8
+ comment = 6,
9
+ parameter = 7,
10
+ dot = 8,
11
+ type = 9,
12
+ space = 10,
13
+ argumentSplitter = 11
14
+ }
15
+ export declare enum SqlPrintTokenContainerType {
16
+ ColumnReference = "ColumnReference",
17
+ LiteralValue = "LiteralValue",
18
+ IdentifierString = "IdentifierString",
19
+ InlineQuery = "InlineQuery",
20
+ StringSpecifierExpression = "StringSpecifierExpression",
21
+ None = "",
22
+ ValueList = "ValueList",
23
+ OrderByItem = "OrderByItem",
24
+ FunctionCall = "FunctionCall",
25
+ UnaryExpression = "UnaryExpression",
26
+ BinaryExpression = "BinaryExpression",
27
+ SwitchCaseArgument = "SwitchCaseArgument",
28
+ ElseClause = "ElseClause",
29
+ CaseKeyValuePair = "CaseKeyValuePair",
30
+ ParenExpression = "ParenExpression",
31
+ CastExpression = "CastExpression",
32
+ CaseExpression = "CaseExpression",
33
+ ArrayExpression = "ArrayExpression",
34
+ BetweenExpression = "BetweenExpression",
35
+ TypeValue = "TypeValue",
36
+ TupleExpression = "TupleExpression",
37
+ WindowFrameExpression = "WindowFrameExpression",
38
+ SelectItem = "SelectItem",
39
+ SelectClause = "SelectClause",
40
+ DistinctOn = "DistinctOn",
41
+ SourceExpression = "SourceExpression",
42
+ FromClause = "FromClause",
43
+ JoinClause = "JoinClause",
44
+ JoinOnClause = "JoinOnClause",
45
+ JoinUsingClause = "JoinUsingClause",
46
+ FunctionSource = "FunctionSource",
47
+ SourceAliasExpression = "SourceAliasExpression",
48
+ RawString = "RawString",
49
+ QualifiedName = "QualifiedName",
50
+ WhereClause = "WhereClause",
51
+ SimpleSelectQuery = "SimpleSelectQuery",
52
+ OrderByClause = "OrderByClause",
53
+ GroupByClause = "GroupByClause",
54
+ HavingClause = "HavingClause",
55
+ SubQuerySource = "SubQuerySource",
56
+ PartitionByClause = "PartitionByClause",
57
+ WindowFrameClause = "WindowFrameClause",
58
+ LimitClause = "LimitClause",
59
+ OffsetClause = "OffsetClause",
60
+ ForClause = "ForClause",
61
+ WindowClause = "WindowClause",
62
+ BinarySelectQueryOperator = "BinarySelectQueryOperator",
63
+ Values = "Values",
64
+ ValuesQuery = "ValuesQuery",
65
+ WithClause = "WithClause",
66
+ CommonTable = "CommonTable",
67
+ WindowFrameSpec = "WindowFrameSpec",
68
+ WindowFrameBoundStatic = "WindowFrameBoundStatic",
69
+ WindowFrameBoundaryValue = "WindowFrameBoundaryValue",
70
+ FetchClause = "FetchClause",
71
+ FetchExpression = "FetchExpression",
72
+ InsertQuery = "InsertQuery",
73
+ UpdateQuery = "UpdateQuery",
74
+ UpdateClause = "UpdateClause",
75
+ ReturningClause = "ReturningClause",
76
+ SetClauseItem = "SetClauseItem",
77
+ CreateTableQuery = "CreateTableQuery"
78
+ }
79
+ export declare class SqlPrintToken {
80
+ /**
81
+ * The type of this token, representing the general category (e.g. keyword, value, operator).
82
+ */
83
+ type: SqlPrintTokenType;
84
+ /**
85
+ * The actual text content of this token, following SQL syntax.
86
+ */
87
+ text: string;
88
+ /**
89
+ * The type of the container this token belongs to. Used for clauses, functions, or other groupings.
90
+ */
91
+ containerType: SqlPrintTokenContainerType;
92
+ /**
93
+ * Optional. Keywords that are part of this token, like DISTINCT in a SELECT clause.
94
+ * These should typically be processed before innerTokens.
95
+ */
96
+ keywordTokens?: SqlPrintToken[];
97
+ /**
98
+ * Child tokens that belong to this container.
99
+ */
100
+ innerTokens: SqlPrintToken[];
101
+ constructor(type: SqlPrintTokenType, text?: string, containerType?: SqlPrintTokenContainerType);
102
+ }
@@ -13,20 +13,34 @@ export declare class ValueList extends SqlComponent {
13
13
  constructor(values: ValueComponent[]);
14
14
  }
15
15
  export declare class ColumnReference extends SqlComponent {
16
+ /**
17
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
18
+ */
19
+ get namespaces(): IdentifierString[] | null;
20
+ /**
21
+ * For backward compatibility: returns the column name as IdentifierString (readonly)
22
+ */
23
+ get column(): IdentifierString;
16
24
  static kind: symbol;
17
- namespaces: IdentifierString[] | null;
18
- column: IdentifierString;
25
+ qualifiedName: QualifiedName;
19
26
  constructor(namespaces: string | string[] | IdentifierString[] | null, column: string | IdentifierString);
20
27
  toString(): string;
21
28
  getNamespace(): string;
22
29
  }
23
30
  export declare class FunctionCall extends SqlComponent {
24
31
  static kind: symbol;
25
- namespaces: IdentifierString[] | null;
26
- name: RawString;
32
+ qualifiedName: QualifiedName;
27
33
  argument: ValueComponent | null;
28
34
  over: OverExpression | null;
29
- constructor(namespaces: string[] | IdentifierString[] | null, name: string | RawString, argument: ValueComponent | null, over: OverExpression | null);
35
+ constructor(namespaces: string[] | IdentifierString[] | null, name: string | RawString | IdentifierString, argument: ValueComponent | null, over: OverExpression | null);
36
+ /**
37
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
38
+ */
39
+ get namespaces(): IdentifierString[] | null;
40
+ /**
41
+ * For backward compatibility: returns the function name as RawString | IdentifierString (readonly)
42
+ */
43
+ get name(): RawString | IdentifierString;
30
44
  }
31
45
  export type OverExpression = WindowFrameExpression | IdentifierString;
32
46
  export declare enum WindowFrameType {
@@ -149,15 +163,22 @@ export declare class BetweenExpression extends SqlComponent {
149
163
  export declare class StringSpecifierExpression extends SqlComponent {
150
164
  static kind: symbol;
151
165
  specifier: RawString;
152
- value: ValueComponent;
166
+ value: LiteralValue;
153
167
  constructor(specifier: string, value: string);
154
168
  }
155
169
  export declare class TypeValue extends SqlComponent {
156
170
  static kind: symbol;
157
- namespaces: IdentifierString[] | null;
158
- name: RawString;
171
+ qualifiedName: QualifiedName;
159
172
  argument: ValueComponent | null;
160
- constructor(namespaces: string[] | IdentifierString[] | null, name: string | RawString, argument?: ValueComponent | null);
173
+ constructor(namespaces: string[] | IdentifierString[] | null, name: string | RawString | IdentifierString, argument?: ValueComponent | null);
174
+ /**
175
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
176
+ */
177
+ get namespaces(): IdentifierString[] | null;
178
+ /**
179
+ * For backward compatibility: returns the type name as RawString | IdentifierString (readonly)
180
+ */
181
+ get name(): RawString | IdentifierString;
161
182
  getTypeName(): string;
162
183
  }
163
184
  export declare class TupleExpression extends SqlComponent {
@@ -165,3 +186,16 @@ export declare class TupleExpression extends SqlComponent {
165
186
  values: ValueComponent[];
166
187
  constructor(values: ValueComponent[]);
167
188
  }
189
+ /**
190
+ * Represents a qualified name with optional namespaces (e.g. schema.table, db.schema.function)
191
+ */
192
+ export declare class QualifiedName extends SqlComponent {
193
+ static kind: symbol;
194
+ /** List of namespaces (e.g. schema, database) */
195
+ namespaces: IdentifierString[] | null;
196
+ /** The actual name (e.g. table, function, type, column) */
197
+ name: RawString | IdentifierString;
198
+ constructor(namespaces: string[] | IdentifierString[] | null, name: string | RawString | IdentifierString);
199
+ /** Returns the full qualified name as a string (dot-separated) */
200
+ toString(): string;
201
+ }
@@ -0,0 +1,24 @@
1
+ import { FetchClause, FetchExpression } from "../models/Clause";
2
+ import { Lexeme } from "../models/Lexeme";
3
+ export declare class FetchClauseParser {
4
+ /**
5
+ * Parses a FETCH clause from a lexeme array starting at the given index.
6
+ * Supports syntax like: FETCH [FIRST|NEXT] <count> ROWS ONLY
7
+ * @param lexemes The array of lexemes
8
+ * @param index The starting index
9
+ * @returns { value: FetchSpecification, newIndex: number }
10
+ */
11
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
12
+ value: FetchClause;
13
+ newIndex: number;
14
+ };
15
+ }
16
+ export declare class FetchExpressionParser {
17
+ /**
18
+ * Parses a FETCH expression (not the whole clause, just the fetch part)
19
+ */
20
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
21
+ value: FetchExpression;
22
+ newIndex: number;
23
+ };
24
+ }
@@ -12,6 +12,7 @@ export declare class FullNameParser {
12
12
  namespaces: string[] | null;
13
13
  name: IdentifierString;
14
14
  newIndex: number;
15
+ lastTokenType: number;
15
16
  };
16
17
  /**
17
18
  * Parses a fully qualified name from a string (e.g. 'db.schema.table')
@@ -0,0 +1,9 @@
1
+ export declare class IdentifierDecorator {
2
+ start: string;
3
+ end: string;
4
+ constructor(identifierEscape?: {
5
+ start?: string;
6
+ end?: string;
7
+ });
8
+ decorate(text: string): string;
9
+ }
@@ -9,6 +9,4 @@ export declare class JoinClauseParser {
9
9
  private static parseLateral;
10
10
  private static isJoinCommand;
11
11
  private static parseJoinClause;
12
- private static tryParseJoinOn;
13
- private static tryParseJoinUsing;
14
12
  }
@@ -0,0 +1,8 @@
1
+ import { JoinOnClause } from "../models/Clause";
2
+ import { Lexeme } from "../models/Lexeme";
3
+ export declare class JoinOnClauseParser {
4
+ static tryParse(lexemes: Lexeme[], index: number): {
5
+ value: JoinOnClause;
6
+ newIndex: number;
7
+ } | null;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { JoinUsingClause } from "../models/Clause";
2
+ import { Lexeme } from "../models/Lexeme";
3
+ export declare class JoinUsingClauseParser {
4
+ static tryParse(lexemes: Lexeme[], index: number): {
5
+ value: JoinUsingClause;
6
+ newIndex: number;
7
+ } | null;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { OffsetClause } from "../models/Clause";
2
+ import { Lexeme } from "../models/Lexeme";
3
+ export declare class OffsetClauseParser {
4
+ static parse(query: string): OffsetClause;
5
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
6
+ value: OffsetClause;
7
+ newIndex: number;
8
+ };
9
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * This decorator formats parameter tokens according to DBMS-specific rules.
3
+ * It supports prefix/suffix, and parameter style (named, indexed, anonymous).
4
+ */
5
+ export declare class ParameterDecorator {
6
+ prefix: string;
7
+ suffix: string;
8
+ style: 'named' | 'indexed' | 'anonymous';
9
+ constructor(options?: {
10
+ prefix?: string;
11
+ suffix?: string;
12
+ style?: 'named' | 'indexed' | 'anonymous';
13
+ });
14
+ /**
15
+ * Decorate a parameter token with DBMS-specific format.
16
+ * @param token The parameter token
17
+ * @param index The parameter index (for indexed/anonymous)
18
+ */
19
+ decorate(text: string, index: number): string;
20
+ }