@uwdata/mosaic-sql 0.18.0 → 0.20.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 (212) hide show
  1. package/dist/src/ast/aggregate.d.ts +0 -4
  2. package/dist/src/ast/aggregate.d.ts.map +1 -1
  3. package/dist/src/ast/aggregate.js +0 -15
  4. package/dist/src/ast/aggregate.js.map +1 -1
  5. package/dist/src/ast/between-op.d.ts +0 -8
  6. package/dist/src/ast/between-op.d.ts.map +1 -1
  7. package/dist/src/ast/between-op.js +0 -12
  8. package/dist/src/ast/between-op.js.map +1 -1
  9. package/dist/src/ast/binary-op.d.ts +0 -4
  10. package/dist/src/ast/binary-op.d.ts.map +1 -1
  11. package/dist/src/ast/binary-op.js +0 -6
  12. package/dist/src/ast/binary-op.js.map +1 -1
  13. package/dist/src/ast/case.d.ts +0 -8
  14. package/dist/src/ast/case.d.ts.map +1 -1
  15. package/dist/src/ast/case.js +0 -16
  16. package/dist/src/ast/case.js.map +1 -1
  17. package/dist/src/ast/cast.d.ts +0 -4
  18. package/dist/src/ast/cast.d.ts.map +1 -1
  19. package/dist/src/ast/cast.js +0 -7
  20. package/dist/src/ast/cast.js.map +1 -1
  21. package/dist/src/ast/collate.d.ts +0 -4
  22. package/dist/src/ast/collate.d.ts.map +1 -1
  23. package/dist/src/ast/collate.js +0 -6
  24. package/dist/src/ast/collate.js.map +1 -1
  25. package/dist/src/ast/column-ref.d.ts +0 -4
  26. package/dist/src/ast/column-ref.d.ts.map +1 -1
  27. package/dist/src/ast/column-ref.js +0 -10
  28. package/dist/src/ast/column-ref.js.map +1 -1
  29. package/dist/src/ast/fragment.d.ts +0 -4
  30. package/dist/src/ast/fragment.d.ts.map +1 -1
  31. package/dist/src/ast/fragment.js +0 -6
  32. package/dist/src/ast/fragment.js.map +1 -1
  33. package/dist/src/ast/from.d.ts +10 -3
  34. package/dist/src/ast/from.d.ts.map +1 -1
  35. package/dist/src/ast/from.js +11 -12
  36. package/dist/src/ast/from.js.map +1 -1
  37. package/dist/src/ast/function.d.ts +0 -4
  38. package/dist/src/ast/function.d.ts.map +1 -1
  39. package/dist/src/ast/function.js +0 -7
  40. package/dist/src/ast/function.js.map +1 -1
  41. package/dist/src/ast/in-op.d.ts +0 -4
  42. package/dist/src/ast/in-op.d.ts.map +1 -1
  43. package/dist/src/ast/in-op.js +0 -6
  44. package/dist/src/ast/in-op.js.map +1 -1
  45. package/dist/src/ast/interval.d.ts +0 -4
  46. package/dist/src/ast/interval.d.ts.map +1 -1
  47. package/dist/src/ast/interval.js +0 -6
  48. package/dist/src/ast/interval.js.map +1 -1
  49. package/dist/src/ast/join.d.ts +45 -0
  50. package/dist/src/ast/join.d.ts.map +1 -0
  51. package/dist/src/ast/join.js +47 -0
  52. package/dist/src/ast/join.js.map +1 -0
  53. package/dist/src/ast/list.d.ts +11 -0
  54. package/dist/src/ast/list.d.ts.map +1 -0
  55. package/dist/src/ast/list.js +15 -0
  56. package/dist/src/ast/list.js.map +1 -0
  57. package/dist/src/ast/literal.d.ts +0 -4
  58. package/dist/src/ast/literal.d.ts.map +1 -1
  59. package/dist/src/ast/literal.js +0 -6
  60. package/dist/src/ast/literal.js.map +1 -1
  61. package/dist/src/ast/logical-op.d.ts +0 -4
  62. package/dist/src/ast/logical-op.d.ts.map +1 -1
  63. package/dist/src/ast/logical-op.js +0 -9
  64. package/dist/src/ast/logical-op.js.map +1 -1
  65. package/dist/src/ast/node.d.ts +13 -0
  66. package/dist/src/ast/node.d.ts.map +1 -1
  67. package/dist/src/ast/node.js +25 -3
  68. package/dist/src/ast/node.js.map +1 -1
  69. package/dist/src/ast/order-by.d.ts +0 -4
  70. package/dist/src/ast/order-by.d.ts.map +1 -1
  71. package/dist/src/ast/order-by.js +0 -13
  72. package/dist/src/ast/order-by.js.map +1 -1
  73. package/dist/src/ast/param.d.ts +0 -4
  74. package/dist/src/ast/param.d.ts.map +1 -1
  75. package/dist/src/ast/param.js +0 -7
  76. package/dist/src/ast/param.js.map +1 -1
  77. package/dist/src/ast/query.d.ts +43 -15
  78. package/dist/src/ast/query.d.ts.map +1 -1
  79. package/dist/src/ast/query.js +71 -92
  80. package/dist/src/ast/query.js.map +1 -1
  81. package/dist/src/ast/sample.d.ts +0 -4
  82. package/dist/src/ast/sample.d.ts.map +1 -1
  83. package/dist/src/ast/sample.js +0 -9
  84. package/dist/src/ast/sample.js.map +1 -1
  85. package/dist/src/ast/select.d.ts +0 -4
  86. package/dist/src/ast/select.d.ts.map +1 -1
  87. package/dist/src/ast/select.js +0 -16
  88. package/dist/src/ast/select.js.map +1 -1
  89. package/dist/src/ast/subquery.d.ts +0 -4
  90. package/dist/src/ast/subquery.d.ts.map +1 -1
  91. package/dist/src/ast/subquery.js +0 -6
  92. package/dist/src/ast/subquery.js.map +1 -1
  93. package/dist/src/ast/table-ref.d.ts +0 -4
  94. package/dist/src/ast/table-ref.d.ts.map +1 -1
  95. package/dist/src/ast/table-ref.js +0 -7
  96. package/dist/src/ast/table-ref.js.map +1 -1
  97. package/dist/src/ast/unary-op.d.ts +0 -8
  98. package/dist/src/ast/unary-op.d.ts.map +1 -1
  99. package/dist/src/ast/unary-op.js +0 -12
  100. package/dist/src/ast/unary-op.js.map +1 -1
  101. package/dist/src/ast/unnest.d.ts +15 -0
  102. package/dist/src/ast/unnest.d.ts.map +1 -0
  103. package/dist/src/ast/unnest.js +21 -0
  104. package/dist/src/ast/unnest.js.map +1 -0
  105. package/dist/src/ast/verbatim.d.ts +0 -4
  106. package/dist/src/ast/verbatim.d.ts.map +1 -1
  107. package/dist/src/ast/verbatim.js +0 -6
  108. package/dist/src/ast/verbatim.js.map +1 -1
  109. package/dist/src/ast/window-frame.d.ts +0 -8
  110. package/dist/src/ast/window-frame.d.ts.map +1 -1
  111. package/dist/src/ast/window-frame.js +1 -29
  112. package/dist/src/ast/window-frame.js.map +1 -1
  113. package/dist/src/ast/window.d.ts +0 -16
  114. package/dist/src/ast/window.d.ts.map +1 -1
  115. package/dist/src/ast/window.js +0 -39
  116. package/dist/src/ast/window.js.map +1 -1
  117. package/dist/src/ast/with.d.ts +0 -4
  118. package/dist/src/ast/with.d.ts.map +1 -1
  119. package/dist/src/ast/with.js +0 -10
  120. package/dist/src/ast/with.js.map +1 -1
  121. package/dist/src/constants.d.ts +4 -0
  122. package/dist/src/constants.d.ts.map +1 -1
  123. package/dist/src/constants.js +4 -0
  124. package/dist/src/constants.js.map +1 -1
  125. package/dist/src/functions/from.d.ts +11 -0
  126. package/dist/src/functions/from.d.ts.map +1 -0
  127. package/dist/src/functions/from.js +12 -0
  128. package/dist/src/functions/from.js.map +1 -0
  129. package/dist/src/functions/join.d.ts +49 -0
  130. package/dist/src/functions/join.d.ts.map +1 -0
  131. package/dist/src/functions/join.js +50 -0
  132. package/dist/src/functions/join.js.map +1 -0
  133. package/dist/src/functions/list.d.ts +31 -0
  134. package/dist/src/functions/list.d.ts.map +1 -0
  135. package/dist/src/functions/list.js +49 -0
  136. package/dist/src/functions/list.js.map +1 -0
  137. package/dist/src/functions/unnest.d.ts +10 -0
  138. package/dist/src/functions/unnest.d.ts.map +1 -0
  139. package/dist/src/functions/unnest.js +12 -0
  140. package/dist/src/functions/unnest.js.map +1 -0
  141. package/dist/src/index.d.ts +11 -1
  142. package/dist/src/index.d.ts.map +1 -1
  143. package/dist/src/index.js +12 -1
  144. package/dist/src/index.js.map +1 -1
  145. package/dist/src/init.d.ts +2 -0
  146. package/dist/src/init.d.ts.map +1 -0
  147. package/dist/src/init.js +5 -0
  148. package/dist/src/init.js.map +1 -0
  149. package/dist/src/transforms/filter-query.d.ts.map +1 -1
  150. package/dist/src/transforms/filter-query.js +2 -0
  151. package/dist/src/transforms/filter-query.js.map +1 -1
  152. package/dist/src/visit/codegen/duckdb.d.ts +49 -0
  153. package/dist/src/visit/codegen/duckdb.d.ts.map +1 -0
  154. package/dist/src/visit/codegen/duckdb.js +332 -0
  155. package/dist/src/visit/codegen/duckdb.js.map +1 -0
  156. package/dist/src/visit/codegen/sql.d.ts +60 -0
  157. package/dist/src/visit/codegen/sql.d.ts.map +1 -0
  158. package/dist/src/visit/codegen/sql.js +85 -0
  159. package/dist/src/visit/codegen/sql.js.map +1 -0
  160. package/dist/src/visit/duckdb-visitor.d.ts +50 -0
  161. package/dist/src/visit/duckdb-visitor.d.ts.map +1 -0
  162. package/dist/src/visit/duckdb-visitor.js +350 -0
  163. package/dist/src/visit/duckdb-visitor.js.map +1 -0
  164. package/dist/src/visit/recurse.d.ts.map +1 -1
  165. package/dist/src/visit/recurse.js +3 -1
  166. package/dist/src/visit/recurse.js.map +1 -1
  167. package/dist/src/visit/to-string-visitor.d.ts +60 -0
  168. package/dist/src/visit/to-string-visitor.d.ts.map +1 -0
  169. package/dist/src/visit/to-string-visitor.js +80 -0
  170. package/dist/src/visit/to-string-visitor.js.map +1 -0
  171. package/package.json +2 -2
  172. package/src/ast/aggregate.ts +0 -16
  173. package/src/ast/between-op.ts +0 -14
  174. package/src/ast/binary-op.ts +0 -7
  175. package/src/ast/case.ts +0 -18
  176. package/src/ast/cast.ts +0 -8
  177. package/src/ast/collate.ts +0 -7
  178. package/src/ast/column-ref.ts +0 -11
  179. package/src/ast/fragment.ts +0 -7
  180. package/src/ast/from.ts +12 -12
  181. package/src/ast/function.ts +0 -8
  182. package/src/ast/in-op.ts +0 -7
  183. package/src/ast/interval.ts +0 -7
  184. package/src/ast/join.ts +66 -0
  185. package/src/ast/list.ts +16 -0
  186. package/src/ast/literal.ts +0 -7
  187. package/src/ast/logical-op.ts +0 -10
  188. package/src/ast/node.ts +30 -3
  189. package/src/ast/order-by.ts +0 -14
  190. package/src/ast/param.ts +0 -8
  191. package/src/ast/query.ts +80 -104
  192. package/src/ast/sample.ts +0 -10
  193. package/src/ast/select.ts +0 -18
  194. package/src/ast/subquery.ts +0 -7
  195. package/src/ast/table-ref.ts +0 -8
  196. package/src/ast/unary-op.ts +0 -14
  197. package/src/ast/unnest.ts +22 -0
  198. package/src/ast/verbatim.ts +0 -7
  199. package/src/ast/window-frame.ts +1 -32
  200. package/src/ast/window.ts +0 -43
  201. package/src/ast/with.ts +0 -11
  202. package/src/constants.ts +4 -0
  203. package/src/functions/from.ts +18 -0
  204. package/src/functions/join.ts +101 -0
  205. package/src/functions/list.ts +63 -0
  206. package/src/functions/unnest.ts +13 -0
  207. package/src/index.ts +13 -1
  208. package/src/init.ts +5 -0
  209. package/src/transforms/filter-query.ts +2 -0
  210. package/src/visit/codegen/duckdb.ts +444 -0
  211. package/src/visit/codegen/sql.ts +213 -0
  212. package/src/visit/recurse.ts +4 -0
@@ -0,0 +1,45 @@
1
+ import type { SampleClauseNode } from './sample.js';
2
+ import { ColumnRefNode } from './column-ref.js';
3
+ import { FromNode } from './from.js';
4
+ import { ExprNode } from './node.js';
5
+ import { TableRefNode } from './table-ref.js';
6
+ /** The join variant. Determines what kind of join is performed. */
7
+ export type JoinVariant = 'REGULAR' | 'CROSS' | 'NATURAL' | 'POSITIONAL' | 'ASOF';
8
+ /** The join type. Determines which values are included in the join output. */
9
+ export type JoinType = 'INNER' | 'LEFT' | 'RIGHT' | 'FULL' | 'SEMI' | 'ANTI';
10
+ export declare class JoinNode extends FromNode {
11
+ /** The left table to join. */
12
+ readonly left: FromNode | TableRefNode;
13
+ /** The right table to join. */
14
+ readonly right: FromNode | TableRefNode;
15
+ /** The join variant (REGULAR, CROSS, NATURAL, POSITIONAL, ASOF). */
16
+ readonly joinVariant: JoinVariant;
17
+ /** The join type (INNER, LEFT, RIGHT, FULL, SEMI, ANTI). */
18
+ readonly joinType: JoinType;
19
+ /**
20
+ * The join condition as a boolean expression.
21
+ * If specified, *using* should be `undefined`.
22
+ */
23
+ readonly condition?: ExprNode;
24
+ /**
25
+ * The join condition as shared columns to match on.
26
+ * If specified, *condition* should be `undefined`.
27
+ */
28
+ readonly using?: ColumnRefNode[];
29
+ /** A table sample to apply to join output. */
30
+ readonly sample?: SampleClauseNode;
31
+ /**
32
+ * Instantiate a join node.
33
+ * @param left The left table to join.
34
+ * @param right The right table to join.
35
+ * @param variant The join variant (REGULAR, CROSS, NATURAL, POSITIONAL, ASOF).
36
+ * @param type The join type (INNER, LEFT, RIGHT, FULL, SEMI, ANTI).
37
+ * @param condition The join condition as a boolean expression.
38
+ * If specified, *using* should be `undefined`.
39
+ * @param using The join condition as shared columns to match on.
40
+ * If specified, *condition* should be `undefined`.
41
+ * @param sample A table sample to apply to join output.
42
+ */
43
+ constructor(left: FromNode | TableRefNode, right: FromNode | TableRefNode, variant?: JoinVariant, type?: JoinType, condition?: ExprNode, using?: ColumnRefNode[], sample?: SampleClauseNode);
44
+ }
45
+ //# sourceMappingURL=join.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/ast/join.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;AAElF,8EAA8E;AAC9E,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7E,qBAAa,QAAS,SAAQ,QAAQ;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IACvC,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,CAAC;IACxC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;;;;;;;;OAWG;gBAED,IAAI,EAAE,QAAQ,GAAG,YAAY,EAC7B,KAAK,EAAE,QAAQ,GAAG,YAAY,EAC9B,OAAO,GAAE,WAAuB,EAChC,IAAI,GAAE,QAAkB,EACxB,SAAS,CAAC,EAAE,QAAQ,EACpB,KAAK,CAAC,EAAE,aAAa,EAAE,EACvB,MAAM,CAAC,EAAE,gBAAgB;CAW5B"}
@@ -0,0 +1,47 @@
1
+ import { JOIN_CLAUSE } from '../constants.js';
2
+ import { FromNode } from './from.js';
3
+ export class JoinNode extends FromNode {
4
+ /** The left table to join. */
5
+ left;
6
+ /** The right table to join. */
7
+ right;
8
+ /** The join variant (REGULAR, CROSS, NATURAL, POSITIONAL, ASOF). */
9
+ joinVariant;
10
+ /** The join type (INNER, LEFT, RIGHT, FULL, SEMI, ANTI). */
11
+ joinType;
12
+ /**
13
+ * The join condition as a boolean expression.
14
+ * If specified, *using* should be `undefined`.
15
+ */
16
+ condition;
17
+ /**
18
+ * The join condition as shared columns to match on.
19
+ * If specified, *condition* should be `undefined`.
20
+ */
21
+ using;
22
+ /** A table sample to apply to join output. */
23
+ sample;
24
+ /**
25
+ * Instantiate a join node.
26
+ * @param left The left table to join.
27
+ * @param right The right table to join.
28
+ * @param variant The join variant (REGULAR, CROSS, NATURAL, POSITIONAL, ASOF).
29
+ * @param type The join type (INNER, LEFT, RIGHT, FULL, SEMI, ANTI).
30
+ * @param condition The join condition as a boolean expression.
31
+ * If specified, *using* should be `undefined`.
32
+ * @param using The join condition as shared columns to match on.
33
+ * If specified, *condition* should be `undefined`.
34
+ * @param sample A table sample to apply to join output.
35
+ */
36
+ constructor(left, right, variant = 'NATURAL', type = 'INNER', condition, using, sample) {
37
+ super(JOIN_CLAUSE);
38
+ this.left = left;
39
+ this.right = right;
40
+ this.joinVariant = variant;
41
+ this.joinType = type;
42
+ this.condition = condition;
43
+ this.using = using;
44
+ this.sample = sample;
45
+ }
46
+ }
47
+ //# sourceMappingURL=join.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../src/ast/join.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAUrC,MAAM,OAAO,QAAS,SAAQ,QAAQ;IACpC,8BAA8B;IACrB,IAAI,CAA0B;IACvC,+BAA+B;IACtB,KAAK,CAA0B;IACxC,oEAAoE;IAC3D,WAAW,CAAc;IAClC,4DAA4D;IACnD,QAAQ,CAAW;IAC5B;;;OAGG;IACM,SAAS,CAAY;IAC9B;;;OAGG;IACM,KAAK,CAAmB;IACjC,8CAA8C;IACrC,MAAM,CAAoB;IAEnC;;;;;;;;;;;OAWG;IACH,YACE,IAA6B,EAC7B,KAA8B,EAC9B,UAAuB,SAAS,EAChC,OAAiB,OAAO,EACxB,SAAoB,EACpB,KAAuB,EACvB,MAAyB;QAEzB,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { ExprNode } from './node.js';
2
+ export declare class ListNode extends ExprNode {
3
+ /** The array of values. */
4
+ readonly values: ExprNode[];
5
+ /**
6
+ * Instantiate a list node.
7
+ * @param values
8
+ */
9
+ constructor(values: ExprNode[]);
10
+ }
11
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/ast/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,QAAS,SAAQ,QAAQ;IACpC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE5B;;;OAGG;gBACS,MAAM,EAAE,QAAQ,EAAE;CAI/B"}
@@ -0,0 +1,15 @@
1
+ import { LIST } from '../constants.js';
2
+ import { ExprNode } from './node.js';
3
+ export class ListNode extends ExprNode {
4
+ /** The array of values. */
5
+ values;
6
+ /**
7
+ * Instantiate a list node.
8
+ * @param values
9
+ */
10
+ constructor(values) {
11
+ super(LIST);
12
+ this.values = values;
13
+ }
14
+ }
15
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/ast/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,QAAS,SAAQ,QAAQ;IACpC,2BAA2B;IAClB,MAAM,CAAa;IAE5B;;;OAGG;IACH,YAAY,MAAkB;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -7,10 +7,6 @@ export declare class LiteralNode extends ExprNode {
7
7
  * @param value The literal value.
8
8
  */
9
9
  constructor(value: unknown);
10
- /**
11
- * Generate a SQL query string for this node.
12
- */
13
- toString(): string;
14
10
  }
15
11
  export declare function literalToSQL(value: unknown): string;
16
12
  //# sourceMappingURL=literal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../src/ast/literal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,WAAY,SAAQ,QAAQ;IACvC,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;;OAGG;gBACS,KAAK,EAAE,OAAO;IAK1B;;OAEG;IACH,QAAQ;CAGT;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,UA2B1C"}
1
+ {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../src/ast/literal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,WAAY,SAAQ,QAAQ;IACvC,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;;OAGG;gBACS,KAAK,EAAE,OAAO;CAI3B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,UA2B1C"}
@@ -11,12 +11,6 @@ export class LiteralNode extends ExprNode {
11
11
  super(LITERAL);
12
12
  this.value = value;
13
13
  }
14
- /**
15
- * Generate a SQL query string for this node.
16
- */
17
- toString() {
18
- return literalToSQL(this.value);
19
- }
20
14
  }
21
15
  export function literalToSQL(value) {
22
16
  switch (typeof value) {
@@ -1 +1 @@
1
- {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../src/ast/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,yBAAyB;IAChB,KAAK,CAAU;IAExB;;;OAGG;IACH,YAAY,KAAc;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACtD,KAAK,QAAQ;YACX,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC;YACE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,OAAO,MAAM,CAAC;gBACpC,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7B,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;oBACvC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY;YACrC,CAAC;iBAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;gBACnC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,OAAO,GAAG,KAAK,EAAE,CAAC;YACpB,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../src/ast/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,yBAAyB;IAChB,KAAK,CAAU;IAExB;;;OAGG;IACH,YAAY,KAAc;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACtD,KAAK,QAAQ;YACX,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC;YACE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,OAAO,MAAM,CAAC;gBACpC,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7B,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;oBACvC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY;YACrC,CAAC;iBAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;gBACnC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,OAAO,GAAG,KAAK,EAAE,CAAC;YACpB,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -10,10 +10,6 @@ export declare class LogicalOpNode<T extends ExprNode> extends ExprNode {
10
10
  * @param clauses The input clause expressions.
11
11
  */
12
12
  constructor(op: string, clauses: T[]);
13
- /**
14
- * Generate a SQL query string for this node.
15
- */
16
- toString(): string;
17
13
  }
18
14
  export declare class AndNode<T extends ExprNode> extends LogicalOpNode<T> {
19
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"logical-op.d.ts","sourceRoot":"","sources":["../../../src/ast/logical-op.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAC7D,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAEtB;;;;OAIG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IAMpC;;OAEG;IACH,QAAQ;CAMT;AAED,qBAAa,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC/D;;;OAGG;gBACS,OAAO,EAAE,CAAC,EAAE;CAGzB;AAED,qBAAa,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC9D;;;OAGG;gBACS,OAAO,EAAE,CAAC,EAAE;CAGzB"}
1
+ {"version":3,"file":"logical-op.d.ts","sourceRoot":"","sources":["../../../src/ast/logical-op.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAC7D,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAEtB;;;;OAIG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;CAKrC;AAED,qBAAa,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC/D;;;OAGG;gBACS,OAAO,EAAE,CAAC,EAAE;CAGzB;AAED,qBAAa,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC9D;;;OAGG;gBACS,OAAO,EAAE,CAAC,EAAE;CAGzB"}
@@ -15,15 +15,6 @@ export class LogicalOpNode extends ExprNode {
15
15
  this.op = op;
16
16
  this.clauses = clauses;
17
17
  }
18
- /**
19
- * Generate a SQL query string for this node.
20
- */
21
- toString() {
22
- const c = this.clauses;
23
- return c.length === 0 ? ''
24
- : c.length === 1 ? `${c[0]}`
25
- : `(${c.join(` ${this.op} `)})`;
26
- }
27
18
  }
28
19
  export class AndNode extends LogicalOpNode {
29
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"logical-op.js","sourceRoot":"","sources":["../../../src/ast/logical-op.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,aAAkC,SAAQ,QAAQ;IAC7D,2BAA2B;IAClB,EAAE,CAAS;IACpB,8BAA8B;IACrB,OAAO,CAAM;IAEtB;;;;OAIG;IACH,YAAY,EAAU,EAAE,OAAY;QAClC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,OAA4B,SAAQ,aAAgB;IAC/D;;;OAGG;IACH,YAAY,OAAY;QACtB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,OAAO,MAA2B,SAAQ,aAAgB;IAC9D;;;OAGG;IACH,YAAY,OAAY;QACtB,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"logical-op.js","sourceRoot":"","sources":["../../../src/ast/logical-op.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,aAAkC,SAAQ,QAAQ;IAC7D,2BAA2B;IAClB,EAAE,CAAS;IACpB,8BAA8B;IACrB,OAAO,CAAM;IAEtB;;;;OAIG;IACH,YAAY,EAAU,EAAE,OAAY;QAClC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,OAA4B,SAAQ,aAAgB;IAC/D;;;OAGG;IACH,YAAY,OAAY;QACtB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,OAAO,MAA2B,SAAQ,aAAgB;IAC9D;;;OAGG;IACH,YAAY,OAAY;QACtB,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;CACF"}
@@ -1,8 +1,14 @@
1
+ import type { SQLCodeGenerator } from '../visit/codegen/sql.js';
1
2
  /**
2
3
  * Check if a value is a SQL AST node.
3
4
  * @param value The value to check.
4
5
  */
5
6
  export declare function isNode(value: unknown): value is SQLNode;
7
+ /**
8
+ * Set the default visitor for toString operations.
9
+ * This is used when no visitor is explicitly provided.
10
+ */
11
+ export declare function setDefaultVisitor(visitor: SQLCodeGenerator): void;
6
12
  export declare class SQLNode {
7
13
  /** The SQL AST node type. */
8
14
  readonly type: string;
@@ -16,6 +22,13 @@ export declare class SQLNode {
16
22
  * @returns The shallow clone node.
17
23
  */
18
24
  clone(): this;
25
+ /**
26
+ * Generate a SQL query string for this node using a specific dialect visitor.
27
+ * @param visitor Optional SQL visitor to use for string generation.
28
+ * If not provided, uses the default visitor.
29
+ * @returns The SQL string representation.
30
+ */
31
+ toString(visitor?: SQLCodeGenerator | undefined): string;
19
32
  }
20
33
  /**
21
34
  * AST node corresponding to an individual expression.
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ast/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAEvD;AAED,qBAAa,OAAO;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAIxB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAQd;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;CACpC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ast/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAEvD;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,QAE1D;AAED,qBAAa,OAAO;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAIxB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAWb;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,GAAE,gBAAgB,GAAG,SAA2B,GAAG,MAAM;CAM1E;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;CACpC"}
@@ -5,6 +5,14 @@
5
5
  export function isNode(value) {
6
6
  return value instanceof SQLNode;
7
7
  }
8
+ let _defaultVisitor;
9
+ /**
10
+ * Set the default visitor for toString operations.
11
+ * This is used when no visitor is explicitly provided.
12
+ */
13
+ export function setDefaultVisitor(visitor) {
14
+ _defaultVisitor = visitor;
15
+ }
8
16
  export class SQLNode {
9
17
  /** The SQL AST node type. */
10
18
  type;
@@ -20,13 +28,27 @@ export class SQLNode {
20
28
  * @returns The shallow clone node.
21
29
  */
22
30
  clone() {
23
- // @ts-expect-error use constructor
24
- const clone = new this.constructor();
31
+ // @ts-expect-error use constructor with type
32
+ const clone = new this.constructor(this.type);
25
33
  for (const key in this) {
26
- clone[key] = this[key];
34
+ if (key !== 'type') { // Skip type since it's already set by constructor
35
+ clone[key] = this[key];
36
+ }
27
37
  }
28
38
  return clone;
29
39
  }
40
+ /**
41
+ * Generate a SQL query string for this node using a specific dialect visitor.
42
+ * @param visitor Optional SQL visitor to use for string generation.
43
+ * If not provided, uses the default visitor.
44
+ * @returns The SQL string representation.
45
+ */
46
+ toString(visitor = _defaultVisitor) {
47
+ if (!visitor) {
48
+ throw new Error('No visitor provided and no default visitor set.');
49
+ }
50
+ return visitor.toString(this);
51
+ }
30
52
  }
31
53
  /**
32
54
  * AST node corresponding to an individual expression.
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/ast/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,OAAO,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,OAAO;IAClB,6BAA6B;IACpB,IAAI,CAAS;IAEtB;;;OAGG;IACH,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,mCAAmC;QACnC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO;CACpC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/ast/node.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,OAAO,CAAC;AAClC,CAAC;AAED,IAAI,eAA6C,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAyB;IACzD,eAAe,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,OAAO;IAClB,6BAA6B;IACpB,IAAI,CAAS;IAEtB;;;OAGG;IACH,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,6CAA6C;QAC7C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC,kDAAkD;gBACtE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,UAAwC,eAAe;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO;CACpC"}
@@ -13,9 +13,5 @@ export declare class OrderByNode extends ExprNode {
13
13
  * @param nullsFirst Flag indicating if null values should be sorted first.
14
14
  */
15
15
  constructor(expr: ExprNode, desc?: boolean, nullsFirst?: boolean);
16
- /**
17
- * Generate a SQL query string for this node.
18
- */
19
- toString(): string;
20
16
  }
21
17
  //# sourceMappingURL=order-by.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"order-by.d.ts","sourceRoot":"","sources":["../../../src/ast/order-by.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,WAAY,SAAQ,QAAQ;IACvC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;gBACS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO;IAOhE;;OAEG;IACH,QAAQ;CAUT"}
1
+ {"version":3,"file":"order-by.d.ts","sourceRoot":"","sources":["../../../src/ast/order-by.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,WAAY,SAAQ,QAAQ;IACvC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;gBACS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO;CAMjE"}
@@ -19,18 +19,5 @@ export class OrderByNode extends ExprNode {
19
19
  this.desc = desc;
20
20
  this.nullsFirst = nullsFirst;
21
21
  }
22
- /**
23
- * Generate a SQL query string for this node.
24
- */
25
- toString() {
26
- const { expr, desc, nullsFirst } = this;
27
- const dir = desc ? ' DESC'
28
- : desc === false ? ' ASC'
29
- : '';
30
- const nf = nullsFirst ? ' NULLS FIRST'
31
- : nullsFirst === false ? ' NULLS LAST'
32
- : '';
33
- return `${expr}${dir}${nf}`;
34
- }
35
22
  }
36
23
  //# sourceMappingURL=order-by.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"order-by.js","sourceRoot":"","sources":["../../../src/ast/order-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,kCAAkC;IACzB,IAAI,CAAW;IACxB,wCAAwC;IAC/B,IAAI,CAAW;IACxB,6DAA6D;IACpD,UAAU,CAAW;IAE9B;;;;;OAKG;IACH,YAAY,IAAc,EAAE,IAAc,EAAE,UAAoB;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO;YACxB,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM;gBACzB,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc;YACpC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa;gBACtC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"order-by.js","sourceRoot":"","sources":["../../../src/ast/order-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,kCAAkC;IACzB,IAAI,CAAW;IACxB,wCAAwC;IAC/B,IAAI,CAAW;IACxB,6DAA6D;IACpD,UAAU,CAAW;IAE9B;;;;;OAKG;IACH,YAAY,IAAc,EAAE,IAAc,EAAE,UAAoB;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -12,9 +12,5 @@ export declare class ParamNode extends ExprNode {
12
12
  * Returns the current parameter value.
13
13
  */
14
14
  get value(): unknown;
15
- /**
16
- * Generate a SQL query string for this node.
17
- */
18
- toString(): string;
19
15
  }
20
16
  //# sourceMappingURL=param.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"param.d.ts","sourceRoot":"","sources":["../../../src/ast/param.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,SAAU,SAAQ,QAAQ;IACrC,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAE1B;;;OAGG;gBACS,KAAK,EAAE,SAAS;IAK5B;;OAEG;IACH,IAAI,KAAK,YAER;IAED;;OAEG;IACH,QAAQ;CAGT"}
1
+ {"version":3,"file":"param.d.ts","sourceRoot":"","sources":["../../../src/ast/param.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,SAAU,SAAQ,QAAQ;IACrC,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAE1B;;;OAGG;gBACS,KAAK,EAAE,SAAS;IAK5B;;OAEG;IACH,IAAI,KAAK,YAER;CACF"}
@@ -1,5 +1,4 @@
1
1
  import { PARAM } from '../constants.js';
2
- import { literalToSQL } from './literal.js';
3
2
  import { ExprNode } from './node.js';
4
3
  export class ParamNode extends ExprNode {
5
4
  /** The dynamic parameter. */
@@ -18,11 +17,5 @@ export class ParamNode extends ExprNode {
18
17
  get value() {
19
18
  return this.param.value;
20
19
  }
21
- /**
22
- * Generate a SQL query string for this node.
23
- */
24
- toString() {
25
- return literalToSQL(this.value);
26
- }
27
20
  }
28
21
  //# sourceMappingURL=param.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"param.js","sourceRoot":"","sources":["../../../src/ast/param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,6BAA6B;IACpB,KAAK,CAAY;IAE1B;;;OAGG;IACH,YAAY,KAAgB;QAC1B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"param.js","sourceRoot":"","sources":["../../../src/ast/param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,6BAA6B;IACpB,KAAK,CAAY;IAE1B;;;OAGG;IACH,YAAY,KAAgB;QAC1B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { FilterExpr, FromExpr, GroupByExpr, MaybeArray, OrderByExpr, SelectExpr, WithExpr } from '../types.js';
2
2
  import type { SampleMethod } from './sample.js';
3
- import { FromClauseNode } from './from.js';
3
+ import { FromNode } from './from.js';
4
4
  import { ExprNode, SQLNode } from './node.js';
5
5
  import { SampleClauseNode } from './sample.js';
6
6
  import { SelectClauseNode } from './select.js';
@@ -42,21 +42,41 @@ export declare class Query extends ExprNode {
42
42
  * @param queries The queries.
43
43
  */
44
44
  static union(...queries: MaybeArray<Query>[]): SetOperation;
45
+ /**
46
+ * Create a new UNION BY NAME set operation over the given queries.
47
+ * @param queries The queries.
48
+ */
49
+ static unionByName(...queries: MaybeArray<Query>[]): SetOperation;
45
50
  /**
46
51
  * Create a new UNION ALL set operation over the given queries.
47
52
  * @param queries The queries.
48
53
  */
49
54
  static unionAll(...queries: MaybeArray<Query>[]): SetOperation;
55
+ /**
56
+ * Create a new UNION ALL BY NAME set operation over the given queries.
57
+ * @param queries The queries.
58
+ */
59
+ static unionAllByName(...queries: MaybeArray<Query>[]): SetOperation;
50
60
  /**
51
61
  * Create a new INTERSECT set operation over the given queries.
52
62
  * @param queries The queries.
53
63
  */
54
64
  static intersect(...queries: MaybeArray<Query>[]): SetOperation;
65
+ /**
66
+ * Create a new INTERSECT ALL set operation over the given queries.
67
+ * @param queries The queries.
68
+ */
69
+ static intersectAll(...queries: MaybeArray<Query>[]): SetOperation;
55
70
  /**
56
71
  * Create a new EXCEPT set operation over the given queries.
57
72
  * @param queries The queries.
58
73
  */
59
74
  static except(...queries: MaybeArray<Query>[]): SetOperation;
75
+ /**
76
+ * Create a new EXCEPT ALL set operation over the given queries.
77
+ * @param queries The queries.
78
+ */
79
+ static exceptAll(...queries: MaybeArray<Query>[]): SetOperation;
60
80
  /**
61
81
  * Create a new describe query for the given input query.
62
82
  * @param query The query to describe.
@@ -113,7 +133,7 @@ export declare class Query extends ExprNode {
113
133
  }
114
134
  export declare class SelectQuery extends Query {
115
135
  _select: SelectClauseNode[];
116
- _from: FromClauseNode[];
136
+ _from: FromNode[];
117
137
  _where: ExprNode[];
118
138
  _sample?: SampleClauseNode;
119
139
  _groupby: ExprNode[];
@@ -165,7 +185,7 @@ export declare class SelectQuery extends Query {
165
185
  * @param method The sampling method to use.
166
186
  * @param seed The random seed.
167
187
  */
168
- sample(value: number | SampleClauseNode, method?: SampleMethod, seed?: number): this;
188
+ sample(value?: number | SampleClauseNode | null, method?: SampleMethod, seed?: number): this;
169
189
  /**
170
190
  * Add WHERE expressions.
171
191
  * @param expr Expressions to add.
@@ -201,10 +221,6 @@ export declare class SelectQuery extends Query {
201
221
  * @param expr Expressions to add.
202
222
  */
203
223
  qualify(...expr: FilterExpr[]): this;
204
- /**
205
- * Generate a SQL query string.
206
- */
207
- toString(): string;
208
224
  }
209
225
  export declare class DescribeQuery extends SQLNode {
210
226
  readonly query: Query;
@@ -217,10 +233,6 @@ export declare class DescribeQuery extends SQLNode {
217
233
  * Clone this describe query.
218
234
  */
219
235
  clone(): this;
220
- /**
221
- * Generate a SQL query string.
222
- */
223
- toString(): string;
224
236
  }
225
237
  export declare class SetOperation extends Query {
226
238
  /** The set operation to perform. */
@@ -246,10 +258,6 @@ export declare class SetOperation extends Query {
246
258
  * Clone this set operation.
247
259
  */
248
260
  clone(): this;
249
- /**
250
- * Generate a SQL query string.
251
- */
252
- toString(): string;
253
261
  }
254
262
  declare class WithClause {
255
263
  /** The common table expressions (CTE). */
@@ -274,21 +282,41 @@ declare class WithClause {
274
282
  * @param queries The queries.
275
283
  */
276
284
  union(...queries: Query[]): SetOperation;
285
+ /**
286
+ * Create a new UNION BY NAME set operation over the given queries.
287
+ * @param queries The queries.
288
+ */
289
+ unionByName(...queries: Query[]): SetOperation;
277
290
  /**
278
291
  * Create a new UNION ALL set operation over the given queries.
279
292
  * @param queries The queries.
280
293
  */
281
294
  unionAll(...queries: Query[]): SetOperation;
295
+ /**
296
+ * Create a new UNION ALL BY NAME set operation over the given queries.
297
+ * @param queries The queries.
298
+ */
299
+ unionAllByName(...queries: Query[]): SetOperation;
282
300
  /**
283
301
  * Create a new INTERSECT set operation over the given queries.
284
302
  * @param queries The queries.
285
303
  */
286
304
  intersect(...queries: Query[]): SetOperation;
305
+ /**
306
+ * Create a new INTERSECT ALL set operation over the given queries.
307
+ * @param queries The queries.
308
+ */
309
+ intersectAll(...queries: Query[]): SetOperation;
287
310
  /**
288
311
  * Create a new EXCEPT set operation over the given queries.
289
312
  * @param queries The queries.
290
313
  */
291
314
  except(...queries: Query[]): SetOperation;
315
+ /**
316
+ * Create a new EXCEPT ALL set operation over the given queries.
317
+ * @param queries The queries.
318
+ */
319
+ exceptAll(...queries: Query[]): SetOperation;
292
320
  }
293
321
  export {};
294
322
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/ast/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/ast/query.ts"],"names":[],"mappings":"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"}