rawsql-ts 0.11.42-beta → 0.11.44-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 (278) hide show
  1. package/README.md +12 -13
  2. package/dist/esm/index.js +18 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/index.min.js +23 -18
  5. package/dist/esm/index.min.js.map +4 -4
  6. package/dist/esm/src/index.d.ts +18 -0
  7. package/dist/esm/src/index.js +18 -0
  8. package/dist/esm/src/index.js.map +1 -1
  9. package/dist/esm/src/models/BinarySelectQuery.d.ts +25 -1
  10. package/dist/esm/src/models/BinarySelectQuery.js +28 -0
  11. package/dist/esm/src/models/BinarySelectQuery.js.map +1 -1
  12. package/dist/esm/src/models/Clause.d.ts +14 -2
  13. package/dist/esm/src/models/Clause.js +26 -1
  14. package/dist/esm/src/models/Clause.js.map +1 -1
  15. package/dist/esm/src/models/CreateTableQuery.d.ts +99 -5
  16. package/dist/esm/src/models/CreateTableQuery.js +85 -10
  17. package/dist/esm/src/models/CreateTableQuery.js.map +1 -1
  18. package/dist/esm/src/models/DDLStatements.d.ts +157 -0
  19. package/dist/esm/src/models/DDLStatements.js +141 -0
  20. package/dist/esm/src/models/DDLStatements.js.map +1 -0
  21. package/dist/esm/src/models/DeleteQuery.d.ts +17 -0
  22. package/dist/esm/src/models/DeleteQuery.js +16 -0
  23. package/dist/esm/src/models/DeleteQuery.js.map +1 -0
  24. package/dist/esm/src/models/InsertQuery.d.ts +7 -1
  25. package/dist/esm/src/models/InsertQuery.js +6 -2
  26. package/dist/esm/src/models/InsertQuery.js.map +1 -1
  27. package/dist/esm/src/models/MergeQuery.d.ts +63 -0
  28. package/dist/esm/src/models/MergeQuery.js +94 -0
  29. package/dist/esm/src/models/MergeQuery.js.map +1 -0
  30. package/dist/esm/src/models/SelectQuery.d.ts +37 -1
  31. package/dist/esm/src/models/SelectQuery.js +4 -1
  32. package/dist/esm/src/models/SelectQuery.js.map +1 -1
  33. package/dist/esm/src/models/SimpleSelectQuery.d.ts +29 -1
  34. package/dist/esm/src/models/SimpleSelectQuery.js +32 -0
  35. package/dist/esm/src/models/SimpleSelectQuery.js.map +1 -1
  36. package/dist/esm/src/models/SqlComponent.d.ts +2 -1
  37. package/dist/esm/src/models/SqlComponent.js +1 -1
  38. package/dist/esm/src/models/SqlComponent.js.map +1 -1
  39. package/dist/esm/src/models/SqlPrintToken.d.ts +33 -0
  40. package/dist/esm/src/models/SqlPrintToken.js +32 -0
  41. package/dist/esm/src/models/SqlPrintToken.js.map +1 -1
  42. package/dist/esm/src/models/ValuesQuery.d.ts +25 -1
  43. package/dist/esm/src/models/ValuesQuery.js +28 -0
  44. package/dist/esm/src/models/ValuesQuery.js.map +1 -1
  45. package/dist/esm/src/parsers/AlterTableParser.d.ts +25 -0
  46. package/dist/esm/src/parsers/AlterTableParser.js +428 -0
  47. package/dist/esm/src/parsers/AlterTableParser.js.map +1 -0
  48. package/dist/esm/src/parsers/CreateIndexParser.d.ts +16 -0
  49. package/dist/esm/src/parsers/CreateIndexParser.js +237 -0
  50. package/dist/esm/src/parsers/CreateIndexParser.js.map +1 -0
  51. package/dist/esm/src/parsers/CreateTableParser.d.ts +41 -0
  52. package/dist/esm/src/parsers/CreateTableParser.js +734 -0
  53. package/dist/esm/src/parsers/CreateTableParser.js.map +1 -0
  54. package/dist/esm/src/parsers/DeleteClauseParser.d.ts +11 -0
  55. package/dist/esm/src/parsers/DeleteClauseParser.js +33 -0
  56. package/dist/esm/src/parsers/DeleteClauseParser.js.map +1 -0
  57. package/dist/esm/src/parsers/DeleteQueryParser.d.ts +16 -0
  58. package/dist/esm/src/parsers/DeleteQueryParser.js +73 -0
  59. package/dist/esm/src/parsers/DeleteQueryParser.js.map +1 -0
  60. package/dist/esm/src/parsers/DropConstraintParser.d.ts +12 -0
  61. package/dist/esm/src/parsers/DropConstraintParser.js +47 -0
  62. package/dist/esm/src/parsers/DropConstraintParser.js.map +1 -0
  63. package/dist/esm/src/parsers/DropIndexParser.d.ts +12 -0
  64. package/dist/esm/src/parsers/DropIndexParser.js +69 -0
  65. package/dist/esm/src/parsers/DropIndexParser.js.map +1 -0
  66. package/dist/esm/src/parsers/DropTableParser.d.ts +12 -0
  67. package/dist/esm/src/parsers/DropTableParser.js +59 -0
  68. package/dist/esm/src/parsers/DropTableParser.js.map +1 -0
  69. package/dist/esm/src/parsers/FunctionExpressionParser.d.ts +4 -0
  70. package/dist/esm/src/parsers/FunctionExpressionParser.js +25 -8
  71. package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
  72. package/dist/esm/src/parsers/InsertQueryParser.js +103 -31
  73. package/dist/esm/src/parsers/InsertQueryParser.js.map +1 -1
  74. package/dist/esm/src/parsers/MergeQueryParser.d.ts +26 -0
  75. package/dist/esm/src/parsers/MergeQueryParser.js +479 -0
  76. package/dist/esm/src/parsers/MergeQueryParser.js.map +1 -0
  77. package/dist/esm/src/parsers/ReturningClauseParser.js +50 -7
  78. package/dist/esm/src/parsers/ReturningClauseParser.js.map +1 -1
  79. package/dist/esm/src/parsers/SelectClauseParser.js +3 -3
  80. package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
  81. package/dist/esm/src/parsers/SelectQueryParser.d.ts +4 -0
  82. package/dist/esm/src/parsers/SelectQueryParser.js +4 -0
  83. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  84. package/dist/esm/src/parsers/SetClauseParser.js +97 -15
  85. package/dist/esm/src/parsers/SetClauseParser.js.map +1 -1
  86. package/dist/esm/src/parsers/SqlParser.d.ts +38 -0
  87. package/dist/esm/src/parsers/SqlParser.js +344 -0
  88. package/dist/esm/src/parsers/SqlParser.js.map +1 -0
  89. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +68 -21
  90. package/dist/esm/src/parsers/SqlPrintTokenParser.js +1145 -254
  91. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  92. package/dist/esm/src/parsers/SqlTokenizer.d.ts +24 -2
  93. package/dist/esm/src/parsers/SqlTokenizer.js +135 -74
  94. package/dist/esm/src/parsers/SqlTokenizer.js.map +1 -1
  95. package/dist/esm/src/parsers/UpdateQueryParser.js +11 -1
  96. package/dist/esm/src/parsers/UpdateQueryParser.js.map +1 -1
  97. package/dist/esm/src/parsers/UsingClauseParser.d.ts +11 -0
  98. package/dist/esm/src/parsers/UsingClauseParser.js +29 -0
  99. package/dist/esm/src/parsers/UsingClauseParser.js.map +1 -0
  100. package/dist/esm/src/parsers/ValueParser.js +5 -1
  101. package/dist/esm/src/parsers/ValueParser.js.map +1 -1
  102. package/dist/esm/src/parsers/ValuesQueryParser.d.ts +0 -2
  103. package/dist/esm/src/parsers/ValuesQueryParser.js +5 -45
  104. package/dist/esm/src/parsers/ValuesQueryParser.js.map +1 -1
  105. package/dist/esm/src/parsers/utils/LexemeCommentUtils.d.ts +6 -0
  106. package/dist/esm/src/parsers/utils/LexemeCommentUtils.js +26 -0
  107. package/dist/esm/src/parsers/utils/LexemeCommentUtils.js.map +1 -0
  108. package/dist/esm/src/tokenReaders/CommandTokenReader.js +49 -2
  109. package/dist/esm/src/tokenReaders/CommandTokenReader.js.map +1 -1
  110. package/dist/esm/src/tokenReaders/LiteralTokenReader.js +8 -5
  111. package/dist/esm/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  112. package/dist/esm/src/tokenReaders/OperatorTokenReader.js +10 -1
  113. package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +1 -1
  114. package/dist/esm/src/tokenReaders/TypeTokenReader.js +11 -1
  115. package/dist/esm/src/tokenReaders/TypeTokenReader.js.map +1 -1
  116. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.d.ts +18 -0
  117. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js +118 -0
  118. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
  119. package/dist/esm/src/transformers/LinePrinter.d.ts +2 -0
  120. package/dist/esm/src/transformers/LinePrinter.js +34 -1
  121. package/dist/esm/src/transformers/LinePrinter.js.map +1 -1
  122. package/dist/esm/src/transformers/OnelineFormattingHelper.d.ts +29 -0
  123. package/dist/esm/src/transformers/OnelineFormattingHelper.js +88 -0
  124. package/dist/esm/src/transformers/OnelineFormattingHelper.js.map +1 -0
  125. package/dist/esm/src/transformers/QueryBuilder.d.ts +47 -13
  126. package/dist/esm/src/transformers/QueryBuilder.js +424 -62
  127. package/dist/esm/src/transformers/QueryBuilder.js.map +1 -1
  128. package/dist/esm/src/transformers/SqlFormatter.d.ts +13 -3
  129. package/dist/esm/src/transformers/SqlFormatter.js +13 -4
  130. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  131. package/dist/esm/src/transformers/SqlPrinter.d.ts +63 -10
  132. package/dist/esm/src/transformers/SqlPrinter.js +954 -64
  133. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  134. package/dist/esm/src/types/Formatting.d.ts +8 -0
  135. package/dist/esm/src/types/Formatting.js +2 -0
  136. package/dist/esm/src/types/Formatting.js.map +1 -0
  137. package/dist/esm/src/utils/ParserStringUtils.d.ts +6 -0
  138. package/dist/esm/src/utils/ParserStringUtils.js +28 -0
  139. package/dist/esm/src/utils/ParserStringUtils.js.map +1 -0
  140. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  141. package/dist/index.min.js +22 -17
  142. package/dist/index.min.js.map +4 -4
  143. package/dist/src/index.d.ts +18 -0
  144. package/dist/src/index.js +18 -0
  145. package/dist/src/index.js.map +1 -1
  146. package/dist/src/models/BinarySelectQuery.d.ts +25 -1
  147. package/dist/src/models/BinarySelectQuery.js +28 -0
  148. package/dist/src/models/BinarySelectQuery.js.map +1 -1
  149. package/dist/src/models/Clause.d.ts +14 -2
  150. package/dist/src/models/Clause.js +29 -2
  151. package/dist/src/models/Clause.js.map +1 -1
  152. package/dist/src/models/CreateTableQuery.d.ts +99 -5
  153. package/dist/src/models/CreateTableQuery.js +90 -11
  154. package/dist/src/models/CreateTableQuery.js.map +1 -1
  155. package/dist/src/models/DDLStatements.d.ts +157 -0
  156. package/dist/src/models/DDLStatements.js +153 -0
  157. package/dist/src/models/DDLStatements.js.map +1 -0
  158. package/dist/src/models/DeleteQuery.d.ts +17 -0
  159. package/dist/src/models/DeleteQuery.js +20 -0
  160. package/dist/src/models/DeleteQuery.js.map +1 -0
  161. package/dist/src/models/InsertQuery.d.ts +7 -1
  162. package/dist/src/models/InsertQuery.js +6 -2
  163. package/dist/src/models/InsertQuery.js.map +1 -1
  164. package/dist/src/models/MergeQuery.d.ts +63 -0
  165. package/dist/src/models/MergeQuery.js +104 -0
  166. package/dist/src/models/MergeQuery.js.map +1 -0
  167. package/dist/src/models/SelectQuery.d.ts +37 -1
  168. package/dist/src/models/SelectQuery.js +7 -1
  169. package/dist/src/models/SelectQuery.js.map +1 -1
  170. package/dist/src/models/SimpleSelectQuery.d.ts +29 -1
  171. package/dist/src/models/SimpleSelectQuery.js +32 -0
  172. package/dist/src/models/SimpleSelectQuery.js.map +1 -1
  173. package/dist/src/models/SqlComponent.d.ts +2 -1
  174. package/dist/src/models/SqlComponent.js +1 -1
  175. package/dist/src/models/SqlComponent.js.map +1 -1
  176. package/dist/src/models/SqlPrintToken.d.ts +33 -0
  177. package/dist/src/models/SqlPrintToken.js +32 -0
  178. package/dist/src/models/SqlPrintToken.js.map +1 -1
  179. package/dist/src/models/ValuesQuery.d.ts +25 -1
  180. package/dist/src/models/ValuesQuery.js +28 -0
  181. package/dist/src/models/ValuesQuery.js.map +1 -1
  182. package/dist/src/parsers/AlterTableParser.d.ts +25 -0
  183. package/dist/src/parsers/AlterTableParser.js +432 -0
  184. package/dist/src/parsers/AlterTableParser.js.map +1 -0
  185. package/dist/src/parsers/CreateIndexParser.d.ts +16 -0
  186. package/dist/src/parsers/CreateIndexParser.js +241 -0
  187. package/dist/src/parsers/CreateIndexParser.js.map +1 -0
  188. package/dist/src/parsers/CreateTableParser.d.ts +41 -0
  189. package/dist/src/parsers/CreateTableParser.js +738 -0
  190. package/dist/src/parsers/CreateTableParser.js.map +1 -0
  191. package/dist/src/parsers/DeleteClauseParser.d.ts +11 -0
  192. package/dist/src/parsers/DeleteClauseParser.js +37 -0
  193. package/dist/src/parsers/DeleteClauseParser.js.map +1 -0
  194. package/dist/src/parsers/DeleteQueryParser.d.ts +16 -0
  195. package/dist/src/parsers/DeleteQueryParser.js +77 -0
  196. package/dist/src/parsers/DeleteQueryParser.js.map +1 -0
  197. package/dist/src/parsers/DropConstraintParser.d.ts +12 -0
  198. package/dist/src/parsers/DropConstraintParser.js +51 -0
  199. package/dist/src/parsers/DropConstraintParser.js.map +1 -0
  200. package/dist/src/parsers/DropIndexParser.d.ts +12 -0
  201. package/dist/src/parsers/DropIndexParser.js +73 -0
  202. package/dist/src/parsers/DropIndexParser.js.map +1 -0
  203. package/dist/src/parsers/DropTableParser.d.ts +12 -0
  204. package/dist/src/parsers/DropTableParser.js +63 -0
  205. package/dist/src/parsers/DropTableParser.js.map +1 -0
  206. package/dist/src/parsers/FunctionExpressionParser.d.ts +4 -0
  207. package/dist/src/parsers/FunctionExpressionParser.js +25 -8
  208. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  209. package/dist/src/parsers/InsertQueryParser.js +103 -31
  210. package/dist/src/parsers/InsertQueryParser.js.map +1 -1
  211. package/dist/src/parsers/MergeQueryParser.d.ts +26 -0
  212. package/dist/src/parsers/MergeQueryParser.js +483 -0
  213. package/dist/src/parsers/MergeQueryParser.js.map +1 -0
  214. package/dist/src/parsers/ReturningClauseParser.js +50 -7
  215. package/dist/src/parsers/ReturningClauseParser.js.map +1 -1
  216. package/dist/src/parsers/SelectClauseParser.js +2 -2
  217. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  218. package/dist/src/parsers/SelectQueryParser.d.ts +4 -0
  219. package/dist/src/parsers/SelectQueryParser.js +4 -0
  220. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  221. package/dist/src/parsers/SetClauseParser.js +97 -15
  222. package/dist/src/parsers/SetClauseParser.js.map +1 -1
  223. package/dist/src/parsers/SqlParser.d.ts +38 -0
  224. package/dist/src/parsers/SqlParser.js +353 -0
  225. package/dist/src/parsers/SqlParser.js.map +1 -0
  226. package/dist/src/parsers/SqlPrintTokenParser.d.ts +68 -21
  227. package/dist/src/parsers/SqlPrintTokenParser.js +1143 -252
  228. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  229. package/dist/src/parsers/SqlTokenizer.d.ts +24 -2
  230. package/dist/src/parsers/SqlTokenizer.js +139 -74
  231. package/dist/src/parsers/SqlTokenizer.js.map +1 -1
  232. package/dist/src/parsers/UpdateQueryParser.js +11 -1
  233. package/dist/src/parsers/UpdateQueryParser.js.map +1 -1
  234. package/dist/src/parsers/UsingClauseParser.d.ts +11 -0
  235. package/dist/src/parsers/UsingClauseParser.js +33 -0
  236. package/dist/src/parsers/UsingClauseParser.js.map +1 -0
  237. package/dist/src/parsers/ValueParser.js +5 -1
  238. package/dist/src/parsers/ValueParser.js.map +1 -1
  239. package/dist/src/parsers/ValuesQueryParser.d.ts +0 -2
  240. package/dist/src/parsers/ValuesQueryParser.js +5 -45
  241. package/dist/src/parsers/ValuesQueryParser.js.map +1 -1
  242. package/dist/src/parsers/utils/LexemeCommentUtils.d.ts +6 -0
  243. package/dist/src/parsers/utils/LexemeCommentUtils.js +29 -0
  244. package/dist/src/parsers/utils/LexemeCommentUtils.js.map +1 -0
  245. package/dist/src/tokenReaders/CommandTokenReader.js +49 -2
  246. package/dist/src/tokenReaders/CommandTokenReader.js.map +1 -1
  247. package/dist/src/tokenReaders/LiteralTokenReader.js +8 -5
  248. package/dist/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  249. package/dist/src/tokenReaders/OperatorTokenReader.js +10 -1
  250. package/dist/src/tokenReaders/OperatorTokenReader.js.map +1 -1
  251. package/dist/src/tokenReaders/TypeTokenReader.js +11 -1
  252. package/dist/src/tokenReaders/TypeTokenReader.js.map +1 -1
  253. package/dist/src/transformers/InsertQuerySelectValuesConverter.d.ts +18 -0
  254. package/dist/src/transformers/InsertQuerySelectValuesConverter.js +122 -0
  255. package/dist/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
  256. package/dist/src/transformers/LinePrinter.d.ts +2 -0
  257. package/dist/src/transformers/LinePrinter.js +34 -1
  258. package/dist/src/transformers/LinePrinter.js.map +1 -1
  259. package/dist/src/transformers/OnelineFormattingHelper.d.ts +29 -0
  260. package/dist/src/transformers/OnelineFormattingHelper.js +92 -0
  261. package/dist/src/transformers/OnelineFormattingHelper.js.map +1 -0
  262. package/dist/src/transformers/QueryBuilder.d.ts +47 -13
  263. package/dist/src/transformers/QueryBuilder.js +433 -60
  264. package/dist/src/transformers/QueryBuilder.js.map +1 -1
  265. package/dist/src/transformers/SqlFormatter.d.ts +13 -3
  266. package/dist/src/transformers/SqlFormatter.js +20 -6
  267. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  268. package/dist/src/transformers/SqlPrinter.d.ts +63 -10
  269. package/dist/src/transformers/SqlPrinter.js +954 -64
  270. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  271. package/dist/src/types/Formatting.d.ts +8 -0
  272. package/dist/src/types/Formatting.js +3 -0
  273. package/dist/src/types/Formatting.js.map +1 -0
  274. package/dist/src/utils/ParserStringUtils.d.ts +6 -0
  275. package/dist/src/utils/ParserStringUtils.js +31 -0
  276. package/dist/src/utils/ParserStringUtils.js.map +1 -0
  277. package/dist/tsconfig.tsbuildinfo +1 -1
  278. package/package.json +1 -1
@@ -0,0 +1,157 @@
1
+ import { SqlComponent } from "./SqlComponent";
2
+ import { QualifiedName, IdentifierString, ValueComponent, RawString } from "./ValueComponent";
3
+ import { TableConstraintDefinition } from "./CreateTableQuery";
4
+ export type DropBehavior = 'cascade' | 'restrict' | null;
5
+ export type IndexSortOrder = 'asc' | 'desc' | null;
6
+ export type IndexNullsOrder = 'first' | 'last' | null;
7
+ /**
8
+ * DROP TABLE statement representation.
9
+ */
10
+ export declare class DropTableStatement extends SqlComponent {
11
+ static kind: symbol;
12
+ tables: QualifiedName[];
13
+ ifExists: boolean;
14
+ behavior: DropBehavior;
15
+ constructor(params: {
16
+ tables: QualifiedName[];
17
+ ifExists?: boolean;
18
+ behavior?: DropBehavior;
19
+ });
20
+ }
21
+ /**
22
+ * DROP INDEX statement representation.
23
+ */
24
+ export declare class DropIndexStatement extends SqlComponent {
25
+ static kind: symbol;
26
+ indexNames: QualifiedName[];
27
+ ifExists: boolean;
28
+ concurrently: boolean;
29
+ behavior: DropBehavior;
30
+ constructor(params: {
31
+ indexNames: QualifiedName[];
32
+ ifExists?: boolean;
33
+ concurrently?: boolean;
34
+ behavior?: DropBehavior;
35
+ });
36
+ }
37
+ /**
38
+ * Column definition within CREATE INDEX clause.
39
+ */
40
+ export declare class IndexColumnDefinition extends SqlComponent {
41
+ static kind: symbol;
42
+ expression: ValueComponent;
43
+ sortOrder: IndexSortOrder;
44
+ nullsOrder: IndexNullsOrder;
45
+ collation?: QualifiedName | null;
46
+ operatorClass?: QualifiedName | null;
47
+ constructor(params: {
48
+ expression: ValueComponent;
49
+ sortOrder?: IndexSortOrder;
50
+ nullsOrder?: IndexNullsOrder;
51
+ collation?: QualifiedName | null;
52
+ operatorClass?: QualifiedName | null;
53
+ });
54
+ }
55
+ /**
56
+ * CREATE INDEX statement representation.
57
+ */
58
+ export declare class CreateIndexStatement extends SqlComponent {
59
+ static kind: symbol;
60
+ unique: boolean;
61
+ concurrently: boolean;
62
+ ifNotExists: boolean;
63
+ indexName: QualifiedName;
64
+ tableName: QualifiedName;
65
+ usingMethod?: IdentifierString | RawString | null;
66
+ columns: IndexColumnDefinition[];
67
+ include?: IdentifierString[] | null;
68
+ where?: ValueComponent;
69
+ withOptions?: RawString | null;
70
+ tablespace?: IdentifierString | null;
71
+ constructor(params: {
72
+ unique?: boolean;
73
+ concurrently?: boolean;
74
+ ifNotExists?: boolean;
75
+ indexName: QualifiedName;
76
+ tableName: QualifiedName;
77
+ usingMethod?: IdentifierString | RawString | null;
78
+ columns: IndexColumnDefinition[];
79
+ include?: IdentifierString[] | null;
80
+ where?: ValueComponent;
81
+ withOptions?: RawString | null;
82
+ tablespace?: IdentifierString | null;
83
+ });
84
+ }
85
+ /**
86
+ * ALTER TABLE ... ADD CONSTRAINT action.
87
+ */
88
+ export declare class AlterTableAddConstraint extends SqlComponent {
89
+ static kind: symbol;
90
+ constraint: TableConstraintDefinition;
91
+ ifNotExists: boolean;
92
+ notValid: boolean;
93
+ constructor(params: {
94
+ constraint: TableConstraintDefinition;
95
+ ifNotExists?: boolean;
96
+ notValid?: boolean;
97
+ });
98
+ }
99
+ /**
100
+ * ALTER TABLE ... DROP CONSTRAINT action.
101
+ */
102
+ export declare class AlterTableDropConstraint extends SqlComponent {
103
+ static kind: symbol;
104
+ constraintName: IdentifierString;
105
+ ifExists: boolean;
106
+ behavior: DropBehavior;
107
+ constructor(params: {
108
+ constraintName: IdentifierString;
109
+ ifExists?: boolean;
110
+ behavior?: DropBehavior;
111
+ });
112
+ }
113
+ /**
114
+ * ALTER TABLE ... DROP COLUMN action.
115
+ */
116
+ export declare class AlterTableDropColumn extends SqlComponent {
117
+ static kind: symbol;
118
+ columnName: IdentifierString;
119
+ ifExists: boolean;
120
+ behavior: DropBehavior;
121
+ constructor(params: {
122
+ columnName: IdentifierString;
123
+ ifExists?: boolean;
124
+ behavior?: DropBehavior;
125
+ });
126
+ }
127
+ export type AlterTableAction = AlterTableAddConstraint | AlterTableDropConstraint | AlterTableDropColumn;
128
+ /**
129
+ * ALTER TABLE statement representation with constraint-centric actions.
130
+ */
131
+ export declare class AlterTableStatement extends SqlComponent {
132
+ static kind: symbol;
133
+ table: QualifiedName;
134
+ only: boolean;
135
+ ifExists: boolean;
136
+ actions: AlterTableAction[];
137
+ constructor(params: {
138
+ table: QualifiedName;
139
+ only?: boolean;
140
+ ifExists?: boolean;
141
+ actions: AlterTableAction[];
142
+ });
143
+ }
144
+ /**
145
+ * Standalone DROP CONSTRAINT statement representation.
146
+ */
147
+ export declare class DropConstraintStatement extends SqlComponent {
148
+ static kind: symbol;
149
+ constraintName: IdentifierString;
150
+ ifExists: boolean;
151
+ behavior: DropBehavior;
152
+ constructor(params: {
153
+ constraintName: IdentifierString;
154
+ ifExists?: boolean;
155
+ behavior?: DropBehavior;
156
+ });
157
+ }
@@ -0,0 +1,141 @@
1
+ import { SqlComponent } from "./SqlComponent";
2
+ import { QualifiedName } from "./ValueComponent";
3
+ /**
4
+ * DROP TABLE statement representation.
5
+ */
6
+ export class DropTableStatement extends SqlComponent {
7
+ constructor(params) {
8
+ var _a, _b;
9
+ super();
10
+ this.tables = params.tables.map(table => new QualifiedName(table.namespaces, table.name));
11
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
12
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
13
+ }
14
+ }
15
+ DropTableStatement.kind = Symbol("DropTableStatement");
16
+ /**
17
+ * DROP INDEX statement representation.
18
+ */
19
+ export class DropIndexStatement extends SqlComponent {
20
+ constructor(params) {
21
+ var _a, _b, _c;
22
+ super();
23
+ this.indexNames = params.indexNames.map(index => new QualifiedName(index.namespaces, index.name));
24
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
25
+ this.concurrently = (_b = params.concurrently) !== null && _b !== void 0 ? _b : false;
26
+ this.behavior = (_c = params.behavior) !== null && _c !== void 0 ? _c : null;
27
+ }
28
+ }
29
+ DropIndexStatement.kind = Symbol("DropIndexStatement");
30
+ /**
31
+ * Column definition within CREATE INDEX clause.
32
+ */
33
+ export class IndexColumnDefinition extends SqlComponent {
34
+ constructor(params) {
35
+ var _a, _b, _c, _d;
36
+ super();
37
+ this.expression = params.expression;
38
+ this.sortOrder = (_a = params.sortOrder) !== null && _a !== void 0 ? _a : null;
39
+ this.nullsOrder = (_b = params.nullsOrder) !== null && _b !== void 0 ? _b : null;
40
+ this.collation = (_c = params.collation) !== null && _c !== void 0 ? _c : null;
41
+ this.operatorClass = (_d = params.operatorClass) !== null && _d !== void 0 ? _d : null;
42
+ }
43
+ }
44
+ IndexColumnDefinition.kind = Symbol("IndexColumnDefinition");
45
+ /**
46
+ * CREATE INDEX statement representation.
47
+ */
48
+ export class CreateIndexStatement extends SqlComponent {
49
+ constructor(params) {
50
+ var _a, _b, _c, _d, _e, _f;
51
+ super();
52
+ this.unique = (_a = params.unique) !== null && _a !== void 0 ? _a : false;
53
+ this.concurrently = (_b = params.concurrently) !== null && _b !== void 0 ? _b : false;
54
+ this.ifNotExists = (_c = params.ifNotExists) !== null && _c !== void 0 ? _c : false;
55
+ this.indexName = new QualifiedName(params.indexName.namespaces, params.indexName.name);
56
+ this.tableName = new QualifiedName(params.tableName.namespaces, params.tableName.name);
57
+ this.usingMethod = (_d = params.usingMethod) !== null && _d !== void 0 ? _d : null;
58
+ this.columns = params.columns.map(col => {
59
+ var _a, _b;
60
+ return new IndexColumnDefinition({
61
+ expression: col.expression,
62
+ sortOrder: col.sortOrder,
63
+ nullsOrder: col.nullsOrder,
64
+ collation: (_a = col.collation) !== null && _a !== void 0 ? _a : null,
65
+ operatorClass: (_b = col.operatorClass) !== null && _b !== void 0 ? _b : null
66
+ });
67
+ });
68
+ this.include = params.include ? [...params.include] : null;
69
+ this.where = params.where;
70
+ this.withOptions = (_e = params.withOptions) !== null && _e !== void 0 ? _e : null;
71
+ this.tablespace = (_f = params.tablespace) !== null && _f !== void 0 ? _f : null;
72
+ }
73
+ }
74
+ CreateIndexStatement.kind = Symbol("CreateIndexStatement");
75
+ /**
76
+ * ALTER TABLE ... ADD CONSTRAINT action.
77
+ */
78
+ export class AlterTableAddConstraint extends SqlComponent {
79
+ constructor(params) {
80
+ var _a, _b;
81
+ super();
82
+ this.constraint = params.constraint;
83
+ this.ifNotExists = (_a = params.ifNotExists) !== null && _a !== void 0 ? _a : false;
84
+ this.notValid = (_b = params.notValid) !== null && _b !== void 0 ? _b : false;
85
+ }
86
+ }
87
+ AlterTableAddConstraint.kind = Symbol("AlterTableAddConstraint");
88
+ /**
89
+ * ALTER TABLE ... DROP CONSTRAINT action.
90
+ */
91
+ export class AlterTableDropConstraint extends SqlComponent {
92
+ constructor(params) {
93
+ var _a, _b;
94
+ super();
95
+ this.constraintName = params.constraintName;
96
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
97
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
98
+ }
99
+ }
100
+ AlterTableDropConstraint.kind = Symbol("AlterTableDropConstraint");
101
+ /**
102
+ * ALTER TABLE ... DROP COLUMN action.
103
+ */
104
+ export class AlterTableDropColumn extends SqlComponent {
105
+ constructor(params) {
106
+ var _a, _b;
107
+ super();
108
+ this.columnName = params.columnName;
109
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
110
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
111
+ }
112
+ }
113
+ AlterTableDropColumn.kind = Symbol("AlterTableDropColumn");
114
+ /**
115
+ * ALTER TABLE statement representation with constraint-centric actions.
116
+ */
117
+ export class AlterTableStatement extends SqlComponent {
118
+ constructor(params) {
119
+ var _a, _b;
120
+ super();
121
+ this.table = new QualifiedName(params.table.namespaces, params.table.name);
122
+ this.only = (_a = params.only) !== null && _a !== void 0 ? _a : false;
123
+ this.ifExists = (_b = params.ifExists) !== null && _b !== void 0 ? _b : false;
124
+ this.actions = params.actions.map(action => action);
125
+ }
126
+ }
127
+ AlterTableStatement.kind = Symbol("AlterTableStatement");
128
+ /**
129
+ * Standalone DROP CONSTRAINT statement representation.
130
+ */
131
+ export class DropConstraintStatement extends SqlComponent {
132
+ constructor(params) {
133
+ var _a, _b;
134
+ super();
135
+ this.constraintName = params.constraintName;
136
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
137
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
138
+ }
139
+ }
140
+ DropConstraintStatement.kind = Symbol("DropConstraintStatement");
141
+ //# sourceMappingURL=DDLStatements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DDLStatements.js","sourceRoot":"","sources":["../../../../src/models/DDLStatements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { SqlComponent } from "./SqlComponent";
2
+ import { DeleteClause, ReturningClause, UsingClause, WhereClause, WithClause } from "./Clause";
3
+ export declare class DeleteQuery extends SqlComponent {
4
+ static kind: symbol;
5
+ withClause: WithClause | null;
6
+ deleteClause: DeleteClause;
7
+ usingClause: UsingClause | null;
8
+ whereClause: WhereClause | null;
9
+ returningClause: ReturningClause | null;
10
+ constructor(params: {
11
+ withClause?: WithClause | null;
12
+ deleteClause: DeleteClause;
13
+ usingClause?: UsingClause | null;
14
+ whereClause?: WhereClause | null;
15
+ returning?: ReturningClause | null;
16
+ });
17
+ }
@@ -0,0 +1,16 @@
1
+ // Represents a DELETE query in SQL.
2
+ // Supports optional USING, WHERE, and RETURNING clauses alongside WITH.
3
+ import { SqlComponent } from "./SqlComponent";
4
+ export class DeleteQuery extends SqlComponent {
5
+ constructor(params) {
6
+ var _a, _b, _c, _d;
7
+ super();
8
+ this.withClause = (_a = params.withClause) !== null && _a !== void 0 ? _a : null;
9
+ this.deleteClause = params.deleteClause;
10
+ this.usingClause = (_b = params.usingClause) !== null && _b !== void 0 ? _b : null;
11
+ this.whereClause = (_c = params.whereClause) !== null && _c !== void 0 ? _c : null;
12
+ this.returningClause = (_d = params.returning) !== null && _d !== void 0 ? _d : null;
13
+ }
14
+ }
15
+ DeleteQuery.kind = Symbol("DeleteQuery");
16
+ //# sourceMappingURL=DeleteQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteQuery.js","sourceRoot":"","sources":["../../../../src/models/DeleteQuery.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,OAAO,WAAY,SAAQ,YAAY;IAQzC,YAAY,MAMX;;QACG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC;IACpD,CAAC;;AApBM,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC"}
@@ -1,16 +1,22 @@
1
1
  import { SqlComponent } from "./SqlComponent";
2
2
  import { SelectQuery } from "./SelectQuery";
3
- import { InsertClause } from "./Clause";
3
+ import { InsertClause, ReturningClause, WithClause } from "./Clause";
4
4
  export declare class InsertQuery extends SqlComponent {
5
5
  static kind: symbol;
6
+ withClause: WithClause | null;
6
7
  insertClause: InsertClause;
7
8
  selectQuery: SelectQuery | null;
9
+ returningClause: ReturningClause | null;
8
10
  /**
9
11
  * @param params.insertClause InsertClause instance (target table and columns)
10
12
  * @param params.selectQuery SELECT/VALUES query (required)
13
+ * @param params.withClause Optional WITH clause scoped to the INSERT statement
14
+ * @param params.returning Optional RETURNING clause
11
15
  */
12
16
  constructor(params: {
17
+ withClause?: WithClause | null;
13
18
  insertClause: InsertClause;
14
19
  selectQuery?: SelectQuery | null;
20
+ returning?: ReturningClause | null;
15
21
  });
16
22
  }
@@ -5,12 +5,16 @@ export class InsertQuery extends SqlComponent {
5
5
  /**
6
6
  * @param params.insertClause InsertClause instance (target table and columns)
7
7
  * @param params.selectQuery SELECT/VALUES query (required)
8
+ * @param params.withClause Optional WITH clause scoped to the INSERT statement
9
+ * @param params.returning Optional RETURNING clause
8
10
  */
9
11
  constructor(params) {
10
- var _a;
12
+ var _a, _b, _c;
11
13
  super();
14
+ this.withClause = (_a = params.withClause) !== null && _a !== void 0 ? _a : null;
12
15
  this.insertClause = params.insertClause;
13
- this.selectQuery = (_a = params.selectQuery) !== null && _a !== void 0 ? _a : null;
16
+ this.selectQuery = (_b = params.selectQuery) !== null && _b !== void 0 ? _b : null;
17
+ this.returningClause = (_c = params.returning) !== null && _c !== void 0 ? _c : null;
14
18
  }
15
19
  }
16
20
  InsertQuery.kind = Symbol("InsertQuery");
@@ -1 +1 @@
1
- {"version":3,"file":"InsertQuery.js","sourceRoot":"","sources":["../../../../src/models/InsertQuery.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,OAAO,WAAY,SAAQ,YAAY;IAKzC;;;OAGG;IACH,YAAY,MAGX;;QACG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,IAAI,CAAC;IAClD,CAAC;;AAfM,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"InsertQuery.js","sourceRoot":"","sources":["../../../../src/models/InsertQuery.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,OAAO,WAAY,SAAQ,YAAY;IAOzC;;;;;OAKG;IACH,YAAY,MAKX;;QACG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC;IACpD,CAAC;;AAvBM,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { SqlComponent } from "./SqlComponent";
2
+ import { IdentifierString, ValueList, ValueComponent } from "./ValueComponent";
3
+ import { SetClause, SetClauseItem, SourceExpression, WhereClause, WithClause } from "./Clause";
4
+ export type MergeMatchType = "matched" | "not_matched" | "not_matched_by_source" | "not_matched_by_target";
5
+ export declare abstract class MergeAction extends SqlComponent {
6
+ static kind: symbol;
7
+ }
8
+ export declare class MergeUpdateAction extends MergeAction {
9
+ static kind: symbol;
10
+ setClause: SetClause;
11
+ whereClause: WhereClause | null;
12
+ constructor(setClause: SetClause | SetClauseItem[], whereClause?: WhereClause | null);
13
+ }
14
+ export declare class MergeDeleteAction extends MergeAction {
15
+ static kind: symbol;
16
+ whereClause: WhereClause | null;
17
+ constructor(whereClause?: WhereClause | null);
18
+ }
19
+ export declare class MergeInsertAction extends MergeAction {
20
+ static kind: symbol;
21
+ columns: IdentifierString[] | null;
22
+ values: ValueList | null;
23
+ defaultValues: boolean;
24
+ private valuesLeadingComments;
25
+ constructor(params: {
26
+ columns?: (IdentifierString | string)[] | null;
27
+ values?: ValueList | null;
28
+ defaultValues?: boolean;
29
+ valuesLeadingComments?: string[] | null;
30
+ });
31
+ addValuesLeadingComments(comments: string[]): void;
32
+ getValuesLeadingComments(): string[];
33
+ }
34
+ export declare class MergeDoNothingAction extends MergeAction {
35
+ static kind: symbol;
36
+ }
37
+ export declare class MergeWhenClause extends SqlComponent {
38
+ static kind: symbol;
39
+ matchType: MergeMatchType;
40
+ condition: ValueComponent | null;
41
+ action: MergeAction;
42
+ private thenLeadingComments;
43
+ constructor(matchType: MergeMatchType, action: MergeAction, condition?: ValueComponent | null, options?: {
44
+ thenLeadingComments?: string[] | null;
45
+ });
46
+ addThenLeadingComments(comments: string[]): void;
47
+ getThenLeadingComments(): string[];
48
+ }
49
+ export declare class MergeQuery extends SqlComponent {
50
+ static kind: symbol;
51
+ withClause: WithClause | null;
52
+ target: SourceExpression;
53
+ source: SourceExpression;
54
+ onCondition: ValueComponent;
55
+ whenClauses: MergeWhenClause[];
56
+ constructor(params: {
57
+ withClause?: WithClause | null;
58
+ target: SourceExpression;
59
+ source: SourceExpression;
60
+ onCondition: ValueComponent;
61
+ whenClauses: MergeWhenClause[];
62
+ });
63
+ }
@@ -0,0 +1,94 @@
1
+ import { SqlComponent } from "./SqlComponent";
2
+ import { IdentifierString } from "./ValueComponent";
3
+ import { SetClause } from "./Clause";
4
+ export class MergeAction extends SqlComponent {
5
+ }
6
+ MergeAction.kind = Symbol("MergeAction");
7
+ export class MergeUpdateAction extends MergeAction {
8
+ constructor(setClause, whereClause) {
9
+ super();
10
+ this.setClause = setClause instanceof SetClause ? setClause : new SetClause(setClause);
11
+ this.whereClause = whereClause !== null && whereClause !== void 0 ? whereClause : null;
12
+ }
13
+ }
14
+ MergeUpdateAction.kind = Symbol("MergeUpdateAction");
15
+ export class MergeDeleteAction extends MergeAction {
16
+ constructor(whereClause) {
17
+ super();
18
+ this.whereClause = whereClause !== null && whereClause !== void 0 ? whereClause : null;
19
+ }
20
+ }
21
+ MergeDeleteAction.kind = Symbol("MergeDeleteAction");
22
+ export class MergeInsertAction extends MergeAction {
23
+ constructor(params) {
24
+ var _a, _b;
25
+ super();
26
+ this.columns = params.columns
27
+ ? params.columns.map(col => (typeof col === "string" ? new IdentifierString(col) : col))
28
+ : null;
29
+ this.values = (_a = params.values) !== null && _a !== void 0 ? _a : null;
30
+ this.defaultValues = (_b = params.defaultValues) !== null && _b !== void 0 ? _b : false;
31
+ this.valuesLeadingComments = params.valuesLeadingComments ? [...params.valuesLeadingComments] : null;
32
+ }
33
+ addValuesLeadingComments(comments) {
34
+ if (!comments || comments.length === 0) {
35
+ return;
36
+ }
37
+ if (!this.valuesLeadingComments) {
38
+ this.valuesLeadingComments = [];
39
+ }
40
+ for (const comment of comments) {
41
+ if (!this.valuesLeadingComments.includes(comment)) {
42
+ this.valuesLeadingComments.push(comment);
43
+ }
44
+ }
45
+ }
46
+ getValuesLeadingComments() {
47
+ return this.valuesLeadingComments ? [...this.valuesLeadingComments] : [];
48
+ }
49
+ }
50
+ MergeInsertAction.kind = Symbol("MergeInsertAction");
51
+ export class MergeDoNothingAction extends MergeAction {
52
+ }
53
+ MergeDoNothingAction.kind = Symbol("MergeDoNothingAction");
54
+ export class MergeWhenClause extends SqlComponent {
55
+ constructor(matchType, action, condition, options) {
56
+ super();
57
+ this.matchType = matchType;
58
+ this.action = action;
59
+ this.condition = condition !== null && condition !== void 0 ? condition : null;
60
+ this.thenLeadingComments = (options === null || options === void 0 ? void 0 : options.thenLeadingComments)
61
+ ? [...options.thenLeadingComments]
62
+ : null;
63
+ }
64
+ addThenLeadingComments(comments) {
65
+ if (!comments || comments.length === 0) {
66
+ return;
67
+ }
68
+ if (!this.thenLeadingComments) {
69
+ this.thenLeadingComments = [];
70
+ }
71
+ for (const comment of comments) {
72
+ if (!this.thenLeadingComments.includes(comment)) {
73
+ this.thenLeadingComments.push(comment);
74
+ }
75
+ }
76
+ }
77
+ getThenLeadingComments() {
78
+ return this.thenLeadingComments ? [...this.thenLeadingComments] : [];
79
+ }
80
+ }
81
+ MergeWhenClause.kind = Symbol("MergeWhenClause");
82
+ export class MergeQuery extends SqlComponent {
83
+ constructor(params) {
84
+ var _a;
85
+ super();
86
+ this.withClause = (_a = params.withClause) !== null && _a !== void 0 ? _a : null;
87
+ this.target = params.target;
88
+ this.source = params.source;
89
+ this.onCondition = params.onCondition;
90
+ this.whenClauses = params.whenClauses;
91
+ }
92
+ }
93
+ MergeQuery.kind = Symbol("MergeQuery");
94
+ //# sourceMappingURL=MergeQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergeQuery.js","sourceRoot":"","sources":["../../../../src/models/MergeQuery.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ import { SimpleSelectQuery } from "./SimpleSelectQuery";
4
4
  import { BinarySelectQuery } from "./BinarySelectQuery";
5
5
  import { ValuesQuery } from "./ValuesQuery";
6
6
  import { SqlParameterValue } from "./ValueComponent";
7
+ import { UpdateQuery } from "./UpdateQuery";
8
+ import { DeleteQuery } from "./DeleteQuery";
9
+ import { MergeQuery } from "./MergeQuery";
7
10
  /**
8
11
  * Options that control how a Common Table Expression is materialized when the query is executed.
9
12
  *
@@ -33,6 +36,35 @@ export interface CTEManagement {
33
36
  getCTENames(): string[];
34
37
  replaceCTE(name: string, query: SelectQuery, options?: CTEOptions): this;
35
38
  }
39
+ export interface InsertQueryConversionOptions {
40
+ target: string;
41
+ columns?: string[];
42
+ }
43
+ export interface UpdateQueryConversionOptions {
44
+ target: string;
45
+ primaryKeys: string | string[];
46
+ columns?: string[];
47
+ sourceAlias?: string;
48
+ }
49
+ export interface DeleteQueryConversionOptions {
50
+ target: string;
51
+ primaryKeys: string | string[];
52
+ columns?: string[];
53
+ sourceAlias?: string;
54
+ }
55
+ export type MergeMatchedAction = "update" | "delete" | "doNothing";
56
+ export type MergeNotMatchedAction = "insert" | "doNothing";
57
+ export type MergeNotMatchedBySourceAction = "delete" | "doNothing";
58
+ export interface MergeQueryConversionOptions {
59
+ target: string;
60
+ primaryKeys: string | string[];
61
+ updateColumns?: string[];
62
+ insertColumns?: string[];
63
+ sourceAlias?: string;
64
+ matchedAction?: MergeMatchedAction;
65
+ notMatchedAction?: MergeNotMatchedAction;
66
+ notMatchedBySourceAction?: MergeNotMatchedBySourceAction;
67
+ }
36
68
  /**
37
69
  * Shared interface implemented by all select query variants.
38
70
  *
@@ -49,5 +81,9 @@ export interface SelectQuery extends SqlComponent {
49
81
  headerComments: string[] | null;
50
82
  setParameter(name: string, value: SqlParameterValue): this;
51
83
  toSimpleQuery(): SimpleSelectQuery;
84
+ toInsertQuery(options: InsertQueryConversionOptions): InsertQuery;
85
+ toUpdateQuery(options: UpdateQueryConversionOptions): UpdateQuery;
86
+ toDeleteQuery(options: DeleteQueryConversionOptions): DeleteQuery;
87
+ toMergeQuery(options: MergeQueryConversionOptions): MergeQuery;
52
88
  }
53
- export { SimpleSelectQuery, BinarySelectQuery, ValuesQuery, InsertQuery };
89
+ export { SimpleSelectQuery, BinarySelectQuery, ValuesQuery, InsertQuery, UpdateQuery, DeleteQuery, MergeQuery };
@@ -2,6 +2,9 @@ import { InsertQuery } from "./InsertQuery";
2
2
  import { SimpleSelectQuery } from "./SimpleSelectQuery";
3
3
  import { BinarySelectQuery } from "./BinarySelectQuery";
4
4
  import { ValuesQuery } from "./ValuesQuery";
5
+ import { UpdateQuery } from "./UpdateQuery";
6
+ import { DeleteQuery } from "./DeleteQuery";
7
+ import { MergeQuery } from "./MergeQuery";
5
8
  export { DuplicateCTEError, InvalidCTENameError, CTENotFoundError } from './CTEError';
6
- export { SimpleSelectQuery, BinarySelectQuery, ValuesQuery, InsertQuery };
9
+ export { SimpleSelectQuery, BinarySelectQuery, ValuesQuery, InsertQuery, UpdateQuery, DeleteQuery, MergeQuery };
7
10
  //# sourceMappingURL=SelectQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../../src/models/SelectQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmB5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiCtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../../src/models/SelectQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkB1C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuEtF,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACb,CAAC"}