rawsql-ts 0.11.43-beta → 0.12.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 (294) hide show
  1. package/README.md +12 -12
  2. package/dist/esm/index.js +18 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/index.min.js +15 -19
  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 +195 -0
  19. package/dist/esm/src/models/DDLStatements.js +201 -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 +36 -0
  40. package/dist/esm/src/models/SqlPrintToken.js +35 -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/AnalyzeStatementParser.d.ts +13 -0
  49. package/dist/esm/src/parsers/AnalyzeStatementParser.js +90 -0
  50. package/dist/esm/src/parsers/AnalyzeStatementParser.js.map +1 -0
  51. package/dist/esm/src/parsers/CreateIndexParser.d.ts +16 -0
  52. package/dist/esm/src/parsers/CreateIndexParser.js +237 -0
  53. package/dist/esm/src/parsers/CreateIndexParser.js.map +1 -0
  54. package/dist/esm/src/parsers/CreateTableParser.d.ts +41 -0
  55. package/dist/esm/src/parsers/CreateTableParser.js +734 -0
  56. package/dist/esm/src/parsers/CreateTableParser.js.map +1 -0
  57. package/dist/esm/src/parsers/DeleteClauseParser.d.ts +11 -0
  58. package/dist/esm/src/parsers/DeleteClauseParser.js +33 -0
  59. package/dist/esm/src/parsers/DeleteClauseParser.js.map +1 -0
  60. package/dist/esm/src/parsers/DeleteQueryParser.d.ts +16 -0
  61. package/dist/esm/src/parsers/DeleteQueryParser.js +73 -0
  62. package/dist/esm/src/parsers/DeleteQueryParser.js.map +1 -0
  63. package/dist/esm/src/parsers/DropConstraintParser.d.ts +12 -0
  64. package/dist/esm/src/parsers/DropConstraintParser.js +47 -0
  65. package/dist/esm/src/parsers/DropConstraintParser.js.map +1 -0
  66. package/dist/esm/src/parsers/DropIndexParser.d.ts +12 -0
  67. package/dist/esm/src/parsers/DropIndexParser.js +69 -0
  68. package/dist/esm/src/parsers/DropIndexParser.js.map +1 -0
  69. package/dist/esm/src/parsers/DropTableParser.d.ts +12 -0
  70. package/dist/esm/src/parsers/DropTableParser.js +59 -0
  71. package/dist/esm/src/parsers/DropTableParser.js.map +1 -0
  72. package/dist/esm/src/parsers/ExplainStatementParser.d.ts +23 -0
  73. package/dist/esm/src/parsers/ExplainStatementParser.js +185 -0
  74. package/dist/esm/src/parsers/ExplainStatementParser.js.map +1 -0
  75. package/dist/esm/src/parsers/FunctionExpressionParser.d.ts +4 -0
  76. package/dist/esm/src/parsers/FunctionExpressionParser.js +25 -8
  77. package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
  78. package/dist/esm/src/parsers/InsertQueryParser.js +103 -31
  79. package/dist/esm/src/parsers/InsertQueryParser.js.map +1 -1
  80. package/dist/esm/src/parsers/MergeQueryParser.d.ts +26 -0
  81. package/dist/esm/src/parsers/MergeQueryParser.js +479 -0
  82. package/dist/esm/src/parsers/MergeQueryParser.js.map +1 -0
  83. package/dist/esm/src/parsers/ParenExpressionParser.js +25 -0
  84. package/dist/esm/src/parsers/ParenExpressionParser.js.map +1 -1
  85. package/dist/esm/src/parsers/ReturningClauseParser.js +50 -7
  86. package/dist/esm/src/parsers/ReturningClauseParser.js.map +1 -1
  87. package/dist/esm/src/parsers/SelectClauseParser.js +3 -3
  88. package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
  89. package/dist/esm/src/parsers/SelectQueryParser.d.ts +4 -0
  90. package/dist/esm/src/parsers/SelectQueryParser.js +4 -0
  91. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  92. package/dist/esm/src/parsers/SetClauseParser.js +97 -15
  93. package/dist/esm/src/parsers/SetClauseParser.js.map +1 -1
  94. package/dist/esm/src/parsers/SqlParser.d.ts +40 -0
  95. package/dist/esm/src/parsers/SqlParser.js +400 -0
  96. package/dist/esm/src/parsers/SqlParser.js.map +1 -0
  97. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +65 -3
  98. package/dist/esm/src/parsers/SqlPrintTokenParser.js +1145 -38
  99. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  100. package/dist/esm/src/parsers/SqlTokenizer.d.ts +24 -2
  101. package/dist/esm/src/parsers/SqlTokenizer.js +135 -74
  102. package/dist/esm/src/parsers/SqlTokenizer.js.map +1 -1
  103. package/dist/esm/src/parsers/UpdateQueryParser.js +11 -1
  104. package/dist/esm/src/parsers/UpdateQueryParser.js.map +1 -1
  105. package/dist/esm/src/parsers/UsingClauseParser.d.ts +11 -0
  106. package/dist/esm/src/parsers/UsingClauseParser.js +29 -0
  107. package/dist/esm/src/parsers/UsingClauseParser.js.map +1 -0
  108. package/dist/esm/src/parsers/ValueParser.js +5 -1
  109. package/dist/esm/src/parsers/ValueParser.js.map +1 -1
  110. package/dist/esm/src/parsers/ValuesQueryParser.d.ts +0 -2
  111. package/dist/esm/src/parsers/ValuesQueryParser.js +5 -45
  112. package/dist/esm/src/parsers/ValuesQueryParser.js.map +1 -1
  113. package/dist/esm/src/parsers/utils/LexemeCommentUtils.d.ts +6 -0
  114. package/dist/esm/src/parsers/utils/LexemeCommentUtils.js +26 -0
  115. package/dist/esm/src/parsers/utils/LexemeCommentUtils.js.map +1 -0
  116. package/dist/esm/src/tokenReaders/CommandTokenReader.js +50 -2
  117. package/dist/esm/src/tokenReaders/CommandTokenReader.js.map +1 -1
  118. package/dist/esm/src/tokenReaders/LiteralTokenReader.js +8 -5
  119. package/dist/esm/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  120. package/dist/esm/src/tokenReaders/OperatorTokenReader.js +10 -1
  121. package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +1 -1
  122. package/dist/esm/src/tokenReaders/TypeTokenReader.js +11 -1
  123. package/dist/esm/src/tokenReaders/TypeTokenReader.js.map +1 -1
  124. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.d.ts +18 -0
  125. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js +118 -0
  126. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
  127. package/dist/esm/src/transformers/LinePrinter.d.ts +1 -0
  128. package/dist/esm/src/transformers/LinePrinter.js +12 -0
  129. package/dist/esm/src/transformers/LinePrinter.js.map +1 -1
  130. package/dist/esm/src/transformers/OnelineFormattingHelper.d.ts +29 -0
  131. package/dist/esm/src/transformers/OnelineFormattingHelper.js +95 -0
  132. package/dist/esm/src/transformers/OnelineFormattingHelper.js.map +1 -0
  133. package/dist/esm/src/transformers/QueryBuilder.d.ts +47 -13
  134. package/dist/esm/src/transformers/QueryBuilder.js +424 -62
  135. package/dist/esm/src/transformers/QueryBuilder.js.map +1 -1
  136. package/dist/esm/src/transformers/SqlFormatter.d.ts +13 -1
  137. package/dist/esm/src/transformers/SqlFormatter.js +13 -4
  138. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  139. package/dist/esm/src/transformers/SqlPrinter.d.ts +47 -8
  140. package/dist/esm/src/transformers/SqlPrinter.js +625 -72
  141. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  142. package/dist/esm/src/types/Formatting.d.ts +8 -0
  143. package/dist/esm/src/types/Formatting.js +2 -0
  144. package/dist/esm/src/types/Formatting.js.map +1 -0
  145. package/dist/esm/src/utils/ParserStringUtils.d.ts +6 -0
  146. package/dist/esm/src/utils/ParserStringUtils.js +28 -0
  147. package/dist/esm/src/utils/ParserStringUtils.js.map +1 -0
  148. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  149. package/dist/index.min.js +14 -18
  150. package/dist/index.min.js.map +4 -4
  151. package/dist/src/index.d.ts +18 -0
  152. package/dist/src/index.js +18 -0
  153. package/dist/src/index.js.map +1 -1
  154. package/dist/src/models/BinarySelectQuery.d.ts +25 -1
  155. package/dist/src/models/BinarySelectQuery.js +28 -0
  156. package/dist/src/models/BinarySelectQuery.js.map +1 -1
  157. package/dist/src/models/Clause.d.ts +14 -2
  158. package/dist/src/models/Clause.js +29 -2
  159. package/dist/src/models/Clause.js.map +1 -1
  160. package/dist/src/models/CreateTableQuery.d.ts +99 -5
  161. package/dist/src/models/CreateTableQuery.js +90 -11
  162. package/dist/src/models/CreateTableQuery.js.map +1 -1
  163. package/dist/src/models/DDLStatements.d.ts +195 -0
  164. package/dist/src/models/DDLStatements.js +216 -0
  165. package/dist/src/models/DDLStatements.js.map +1 -0
  166. package/dist/src/models/DeleteQuery.d.ts +17 -0
  167. package/dist/src/models/DeleteQuery.js +20 -0
  168. package/dist/src/models/DeleteQuery.js.map +1 -0
  169. package/dist/src/models/InsertQuery.d.ts +7 -1
  170. package/dist/src/models/InsertQuery.js +6 -2
  171. package/dist/src/models/InsertQuery.js.map +1 -1
  172. package/dist/src/models/MergeQuery.d.ts +63 -0
  173. package/dist/src/models/MergeQuery.js +104 -0
  174. package/dist/src/models/MergeQuery.js.map +1 -0
  175. package/dist/src/models/SelectQuery.d.ts +37 -1
  176. package/dist/src/models/SelectQuery.js +7 -1
  177. package/dist/src/models/SelectQuery.js.map +1 -1
  178. package/dist/src/models/SimpleSelectQuery.d.ts +29 -1
  179. package/dist/src/models/SimpleSelectQuery.js +32 -0
  180. package/dist/src/models/SimpleSelectQuery.js.map +1 -1
  181. package/dist/src/models/SqlComponent.d.ts +2 -1
  182. package/dist/src/models/SqlComponent.js +1 -1
  183. package/dist/src/models/SqlComponent.js.map +1 -1
  184. package/dist/src/models/SqlPrintToken.d.ts +36 -0
  185. package/dist/src/models/SqlPrintToken.js +35 -0
  186. package/dist/src/models/SqlPrintToken.js.map +1 -1
  187. package/dist/src/models/ValuesQuery.d.ts +25 -1
  188. package/dist/src/models/ValuesQuery.js +28 -0
  189. package/dist/src/models/ValuesQuery.js.map +1 -1
  190. package/dist/src/parsers/AlterTableParser.d.ts +25 -0
  191. package/dist/src/parsers/AlterTableParser.js +432 -0
  192. package/dist/src/parsers/AlterTableParser.js.map +1 -0
  193. package/dist/src/parsers/AnalyzeStatementParser.d.ts +13 -0
  194. package/dist/src/parsers/AnalyzeStatementParser.js +94 -0
  195. package/dist/src/parsers/AnalyzeStatementParser.js.map +1 -0
  196. package/dist/src/parsers/CreateIndexParser.d.ts +16 -0
  197. package/dist/src/parsers/CreateIndexParser.js +241 -0
  198. package/dist/src/parsers/CreateIndexParser.js.map +1 -0
  199. package/dist/src/parsers/CreateTableParser.d.ts +41 -0
  200. package/dist/src/parsers/CreateTableParser.js +738 -0
  201. package/dist/src/parsers/CreateTableParser.js.map +1 -0
  202. package/dist/src/parsers/DeleteClauseParser.d.ts +11 -0
  203. package/dist/src/parsers/DeleteClauseParser.js +37 -0
  204. package/dist/src/parsers/DeleteClauseParser.js.map +1 -0
  205. package/dist/src/parsers/DeleteQueryParser.d.ts +16 -0
  206. package/dist/src/parsers/DeleteQueryParser.js +77 -0
  207. package/dist/src/parsers/DeleteQueryParser.js.map +1 -0
  208. package/dist/src/parsers/DropConstraintParser.d.ts +12 -0
  209. package/dist/src/parsers/DropConstraintParser.js +51 -0
  210. package/dist/src/parsers/DropConstraintParser.js.map +1 -0
  211. package/dist/src/parsers/DropIndexParser.d.ts +12 -0
  212. package/dist/src/parsers/DropIndexParser.js +73 -0
  213. package/dist/src/parsers/DropIndexParser.js.map +1 -0
  214. package/dist/src/parsers/DropTableParser.d.ts +12 -0
  215. package/dist/src/parsers/DropTableParser.js +63 -0
  216. package/dist/src/parsers/DropTableParser.js.map +1 -0
  217. package/dist/src/parsers/ExplainStatementParser.d.ts +23 -0
  218. package/dist/src/parsers/ExplainStatementParser.js +189 -0
  219. package/dist/src/parsers/ExplainStatementParser.js.map +1 -0
  220. package/dist/src/parsers/FunctionExpressionParser.d.ts +4 -0
  221. package/dist/src/parsers/FunctionExpressionParser.js +25 -8
  222. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  223. package/dist/src/parsers/InsertQueryParser.js +103 -31
  224. package/dist/src/parsers/InsertQueryParser.js.map +1 -1
  225. package/dist/src/parsers/MergeQueryParser.d.ts +26 -0
  226. package/dist/src/parsers/MergeQueryParser.js +483 -0
  227. package/dist/src/parsers/MergeQueryParser.js.map +1 -0
  228. package/dist/src/parsers/ParenExpressionParser.js +25 -0
  229. package/dist/src/parsers/ParenExpressionParser.js.map +1 -1
  230. package/dist/src/parsers/ReturningClauseParser.js +50 -7
  231. package/dist/src/parsers/ReturningClauseParser.js.map +1 -1
  232. package/dist/src/parsers/SelectClauseParser.js +2 -2
  233. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  234. package/dist/src/parsers/SelectQueryParser.d.ts +4 -0
  235. package/dist/src/parsers/SelectQueryParser.js +4 -0
  236. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  237. package/dist/src/parsers/SetClauseParser.js +97 -15
  238. package/dist/src/parsers/SetClauseParser.js.map +1 -1
  239. package/dist/src/parsers/SqlParser.d.ts +40 -0
  240. package/dist/src/parsers/SqlParser.js +409 -0
  241. package/dist/src/parsers/SqlParser.js.map +1 -0
  242. package/dist/src/parsers/SqlPrintTokenParser.d.ts +65 -3
  243. package/dist/src/parsers/SqlPrintTokenParser.js +1143 -36
  244. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  245. package/dist/src/parsers/SqlTokenizer.d.ts +24 -2
  246. package/dist/src/parsers/SqlTokenizer.js +139 -74
  247. package/dist/src/parsers/SqlTokenizer.js.map +1 -1
  248. package/dist/src/parsers/UpdateQueryParser.js +11 -1
  249. package/dist/src/parsers/UpdateQueryParser.js.map +1 -1
  250. package/dist/src/parsers/UsingClauseParser.d.ts +11 -0
  251. package/dist/src/parsers/UsingClauseParser.js +33 -0
  252. package/dist/src/parsers/UsingClauseParser.js.map +1 -0
  253. package/dist/src/parsers/ValueParser.js +5 -1
  254. package/dist/src/parsers/ValueParser.js.map +1 -1
  255. package/dist/src/parsers/ValuesQueryParser.d.ts +0 -2
  256. package/dist/src/parsers/ValuesQueryParser.js +5 -45
  257. package/dist/src/parsers/ValuesQueryParser.js.map +1 -1
  258. package/dist/src/parsers/utils/LexemeCommentUtils.d.ts +6 -0
  259. package/dist/src/parsers/utils/LexemeCommentUtils.js +29 -0
  260. package/dist/src/parsers/utils/LexemeCommentUtils.js.map +1 -0
  261. package/dist/src/tokenReaders/CommandTokenReader.js +50 -2
  262. package/dist/src/tokenReaders/CommandTokenReader.js.map +1 -1
  263. package/dist/src/tokenReaders/LiteralTokenReader.js +8 -5
  264. package/dist/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  265. package/dist/src/tokenReaders/OperatorTokenReader.js +10 -1
  266. package/dist/src/tokenReaders/OperatorTokenReader.js.map +1 -1
  267. package/dist/src/tokenReaders/TypeTokenReader.js +11 -1
  268. package/dist/src/tokenReaders/TypeTokenReader.js.map +1 -1
  269. package/dist/src/transformers/InsertQuerySelectValuesConverter.d.ts +18 -0
  270. package/dist/src/transformers/InsertQuerySelectValuesConverter.js +122 -0
  271. package/dist/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
  272. package/dist/src/transformers/LinePrinter.d.ts +1 -0
  273. package/dist/src/transformers/LinePrinter.js +12 -0
  274. package/dist/src/transformers/LinePrinter.js.map +1 -1
  275. package/dist/src/transformers/OnelineFormattingHelper.d.ts +29 -0
  276. package/dist/src/transformers/OnelineFormattingHelper.js +99 -0
  277. package/dist/src/transformers/OnelineFormattingHelper.js.map +1 -0
  278. package/dist/src/transformers/QueryBuilder.d.ts +47 -13
  279. package/dist/src/transformers/QueryBuilder.js +433 -60
  280. package/dist/src/transformers/QueryBuilder.js.map +1 -1
  281. package/dist/src/transformers/SqlFormatter.d.ts +13 -1
  282. package/dist/src/transformers/SqlFormatter.js +20 -5
  283. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  284. package/dist/src/transformers/SqlPrinter.d.ts +47 -8
  285. package/dist/src/transformers/SqlPrinter.js +625 -72
  286. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  287. package/dist/src/types/Formatting.d.ts +8 -0
  288. package/dist/src/types/Formatting.js +3 -0
  289. package/dist/src/types/Formatting.js.map +1 -0
  290. package/dist/src/utils/ParserStringUtils.d.ts +6 -0
  291. package/dist/src/utils/ParserStringUtils.js +31 -0
  292. package/dist/src/utils/ParserStringUtils.js.map +1 -0
  293. package/dist/tsconfig.tsbuildinfo +1 -1
  294. package/package.json +3 -3
@@ -0,0 +1,195 @@
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
+ }
158
+ /**
159
+ * Option entry within an EXPLAIN statement.
160
+ */
161
+ export declare class ExplainOption extends SqlComponent {
162
+ static kind: symbol;
163
+ name: IdentifierString;
164
+ value: ValueComponent | null;
165
+ constructor(params: {
166
+ name: IdentifierString;
167
+ value?: ValueComponent | null;
168
+ });
169
+ }
170
+ /**
171
+ * EXPLAIN statement representation.
172
+ */
173
+ export declare class ExplainStatement extends SqlComponent {
174
+ static kind: symbol;
175
+ options: ExplainOption[] | null;
176
+ statement: SqlComponent;
177
+ constructor(params: {
178
+ options?: ExplainOption[] | null;
179
+ statement: SqlComponent;
180
+ });
181
+ }
182
+ /**
183
+ * ANALYZE statement representation.
184
+ */
185
+ export declare class AnalyzeStatement extends SqlComponent {
186
+ static kind: symbol;
187
+ verbose: boolean;
188
+ target: QualifiedName | null;
189
+ columns: IdentifierString[] | null;
190
+ constructor(params?: {
191
+ verbose?: boolean;
192
+ target?: QualifiedName | null;
193
+ columns?: IdentifierString[] | null;
194
+ });
195
+ }
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyzeStatement = exports.ExplainStatement = exports.ExplainOption = exports.DropConstraintStatement = exports.AlterTableStatement = exports.AlterTableDropColumn = exports.AlterTableDropConstraint = exports.AlterTableAddConstraint = exports.CreateIndexStatement = exports.IndexColumnDefinition = exports.DropIndexStatement = exports.DropTableStatement = void 0;
4
+ const SqlComponent_1 = require("./SqlComponent");
5
+ const ValueComponent_1 = require("./ValueComponent");
6
+ function cloneIdentifierWithComments(identifier) {
7
+ const clone = new ValueComponent_1.IdentifierString(identifier.name);
8
+ // Preserve positioned comment metadata while cloning identifiers.
9
+ if (identifier.positionedComments) {
10
+ clone.positionedComments = identifier.positionedComments.map(entry => ({
11
+ position: entry.position,
12
+ comments: [...entry.comments],
13
+ }));
14
+ }
15
+ else if (identifier.comments && identifier.comments.length > 0) {
16
+ // Copy legacy comment arrays when no positioned comments exist.
17
+ clone.comments = [...identifier.comments];
18
+ }
19
+ return clone;
20
+ }
21
+ /**
22
+ * DROP TABLE statement representation.
23
+ */
24
+ class DropTableStatement extends SqlComponent_1.SqlComponent {
25
+ constructor(params) {
26
+ var _a, _b;
27
+ super();
28
+ this.tables = params.tables.map(table => new ValueComponent_1.QualifiedName(table.namespaces, table.name));
29
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
30
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
31
+ }
32
+ }
33
+ exports.DropTableStatement = DropTableStatement;
34
+ DropTableStatement.kind = Symbol("DropTableStatement");
35
+ /**
36
+ * DROP INDEX statement representation.
37
+ */
38
+ class DropIndexStatement extends SqlComponent_1.SqlComponent {
39
+ constructor(params) {
40
+ var _a, _b, _c;
41
+ super();
42
+ this.indexNames = params.indexNames.map(index => new ValueComponent_1.QualifiedName(index.namespaces, index.name));
43
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
44
+ this.concurrently = (_b = params.concurrently) !== null && _b !== void 0 ? _b : false;
45
+ this.behavior = (_c = params.behavior) !== null && _c !== void 0 ? _c : null;
46
+ }
47
+ }
48
+ exports.DropIndexStatement = DropIndexStatement;
49
+ DropIndexStatement.kind = Symbol("DropIndexStatement");
50
+ /**
51
+ * Column definition within CREATE INDEX clause.
52
+ */
53
+ class IndexColumnDefinition extends SqlComponent_1.SqlComponent {
54
+ constructor(params) {
55
+ var _a, _b, _c, _d;
56
+ super();
57
+ this.expression = params.expression;
58
+ this.sortOrder = (_a = params.sortOrder) !== null && _a !== void 0 ? _a : null;
59
+ this.nullsOrder = (_b = params.nullsOrder) !== null && _b !== void 0 ? _b : null;
60
+ this.collation = (_c = params.collation) !== null && _c !== void 0 ? _c : null;
61
+ this.operatorClass = (_d = params.operatorClass) !== null && _d !== void 0 ? _d : null;
62
+ }
63
+ }
64
+ exports.IndexColumnDefinition = IndexColumnDefinition;
65
+ IndexColumnDefinition.kind = Symbol("IndexColumnDefinition");
66
+ /**
67
+ * CREATE INDEX statement representation.
68
+ */
69
+ class CreateIndexStatement extends SqlComponent_1.SqlComponent {
70
+ constructor(params) {
71
+ var _a, _b, _c, _d, _e, _f;
72
+ super();
73
+ this.unique = (_a = params.unique) !== null && _a !== void 0 ? _a : false;
74
+ this.concurrently = (_b = params.concurrently) !== null && _b !== void 0 ? _b : false;
75
+ this.ifNotExists = (_c = params.ifNotExists) !== null && _c !== void 0 ? _c : false;
76
+ this.indexName = new ValueComponent_1.QualifiedName(params.indexName.namespaces, params.indexName.name);
77
+ this.tableName = new ValueComponent_1.QualifiedName(params.tableName.namespaces, params.tableName.name);
78
+ this.usingMethod = (_d = params.usingMethod) !== null && _d !== void 0 ? _d : null;
79
+ this.columns = params.columns.map(col => {
80
+ var _a, _b;
81
+ return new IndexColumnDefinition({
82
+ expression: col.expression,
83
+ sortOrder: col.sortOrder,
84
+ nullsOrder: col.nullsOrder,
85
+ collation: (_a = col.collation) !== null && _a !== void 0 ? _a : null,
86
+ operatorClass: (_b = col.operatorClass) !== null && _b !== void 0 ? _b : null
87
+ });
88
+ });
89
+ this.include = params.include ? [...params.include] : null;
90
+ this.where = params.where;
91
+ this.withOptions = (_e = params.withOptions) !== null && _e !== void 0 ? _e : null;
92
+ this.tablespace = (_f = params.tablespace) !== null && _f !== void 0 ? _f : null;
93
+ }
94
+ }
95
+ exports.CreateIndexStatement = CreateIndexStatement;
96
+ CreateIndexStatement.kind = Symbol("CreateIndexStatement");
97
+ /**
98
+ * ALTER TABLE ... ADD CONSTRAINT action.
99
+ */
100
+ class AlterTableAddConstraint extends SqlComponent_1.SqlComponent {
101
+ constructor(params) {
102
+ var _a, _b;
103
+ super();
104
+ this.constraint = params.constraint;
105
+ this.ifNotExists = (_a = params.ifNotExists) !== null && _a !== void 0 ? _a : false;
106
+ this.notValid = (_b = params.notValid) !== null && _b !== void 0 ? _b : false;
107
+ }
108
+ }
109
+ exports.AlterTableAddConstraint = AlterTableAddConstraint;
110
+ AlterTableAddConstraint.kind = Symbol("AlterTableAddConstraint");
111
+ /**
112
+ * ALTER TABLE ... DROP CONSTRAINT action.
113
+ */
114
+ class AlterTableDropConstraint extends SqlComponent_1.SqlComponent {
115
+ constructor(params) {
116
+ var _a, _b;
117
+ super();
118
+ this.constraintName = params.constraintName;
119
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
120
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
121
+ }
122
+ }
123
+ exports.AlterTableDropConstraint = AlterTableDropConstraint;
124
+ AlterTableDropConstraint.kind = Symbol("AlterTableDropConstraint");
125
+ /**
126
+ * ALTER TABLE ... DROP COLUMN action.
127
+ */
128
+ class AlterTableDropColumn extends SqlComponent_1.SqlComponent {
129
+ constructor(params) {
130
+ var _a, _b;
131
+ super();
132
+ this.columnName = params.columnName;
133
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
134
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
135
+ }
136
+ }
137
+ exports.AlterTableDropColumn = AlterTableDropColumn;
138
+ AlterTableDropColumn.kind = Symbol("AlterTableDropColumn");
139
+ /**
140
+ * ALTER TABLE statement representation with constraint-centric actions.
141
+ */
142
+ class AlterTableStatement extends SqlComponent_1.SqlComponent {
143
+ constructor(params) {
144
+ var _a, _b;
145
+ super();
146
+ this.table = new ValueComponent_1.QualifiedName(params.table.namespaces, params.table.name);
147
+ this.only = (_a = params.only) !== null && _a !== void 0 ? _a : false;
148
+ this.ifExists = (_b = params.ifExists) !== null && _b !== void 0 ? _b : false;
149
+ this.actions = params.actions.map(action => action);
150
+ }
151
+ }
152
+ exports.AlterTableStatement = AlterTableStatement;
153
+ AlterTableStatement.kind = Symbol("AlterTableStatement");
154
+ /**
155
+ * Standalone DROP CONSTRAINT statement representation.
156
+ */
157
+ class DropConstraintStatement extends SqlComponent_1.SqlComponent {
158
+ constructor(params) {
159
+ var _a, _b;
160
+ super();
161
+ this.constraintName = params.constraintName;
162
+ this.ifExists = (_a = params.ifExists) !== null && _a !== void 0 ? _a : false;
163
+ this.behavior = (_b = params.behavior) !== null && _b !== void 0 ? _b : null;
164
+ }
165
+ }
166
+ exports.DropConstraintStatement = DropConstraintStatement;
167
+ DropConstraintStatement.kind = Symbol("DropConstraintStatement");
168
+ /**
169
+ * Option entry within an EXPLAIN statement.
170
+ */
171
+ class ExplainOption extends SqlComponent_1.SqlComponent {
172
+ constructor(params) {
173
+ var _a;
174
+ super();
175
+ // Clone the option name so explain options keep associated metadata.
176
+ this.name = cloneIdentifierWithComments(params.name);
177
+ this.value = (_a = params.value) !== null && _a !== void 0 ? _a : null;
178
+ }
179
+ }
180
+ exports.ExplainOption = ExplainOption;
181
+ ExplainOption.kind = Symbol("ExplainOption");
182
+ /**
183
+ * EXPLAIN statement representation.
184
+ */
185
+ class ExplainStatement extends SqlComponent_1.SqlComponent {
186
+ constructor(params) {
187
+ super();
188
+ this.options = params.options ? params.options.map(option => new ExplainOption(option)) : null;
189
+ this.statement = params.statement;
190
+ }
191
+ }
192
+ exports.ExplainStatement = ExplainStatement;
193
+ ExplainStatement.kind = Symbol("ExplainStatement");
194
+ /**
195
+ * ANALYZE statement representation.
196
+ */
197
+ class AnalyzeStatement extends SqlComponent_1.SqlComponent {
198
+ constructor(params) {
199
+ var _a;
200
+ super();
201
+ this.verbose = (_a = params === null || params === void 0 ? void 0 : params.verbose) !== null && _a !== void 0 ? _a : false;
202
+ this.target = (params === null || params === void 0 ? void 0 : params.target)
203
+ ? new ValueComponent_1.QualifiedName(params.target.namespaces, params.target.name)
204
+ : null;
205
+ if (params === null || params === void 0 ? void 0 : params.columns) {
206
+ // Clone target columns so position-aware comments remain intact.
207
+ this.columns = params.columns.map(cloneIdentifierWithComments);
208
+ }
209
+ else {
210
+ this.columns = null;
211
+ }
212
+ }
213
+ }
214
+ exports.AnalyzeStatement = AnalyzeStatement;
215
+ AnalyzeStatement.kind = Symbol("AnalyzeStatement");
216
+ //# 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,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteQuery = void 0;
4
+ // Represents a DELETE query in SQL.
5
+ // Supports optional USING, WHERE, and RETURNING clauses alongside WITH.
6
+ const SqlComponent_1 = require("./SqlComponent");
7
+ class DeleteQuery extends SqlComponent_1.SqlComponent {
8
+ constructor(params) {
9
+ var _a, _b, _c, _d;
10
+ super();
11
+ this.withClause = (_a = params.withClause) !== null && _a !== void 0 ? _a : null;
12
+ this.deleteClause = params.deleteClause;
13
+ this.usingClause = (_b = params.usingClause) !== null && _b !== void 0 ? _b : null;
14
+ this.whereClause = (_c = params.whereClause) !== null && _c !== void 0 ? _c : null;
15
+ this.returningClause = (_d = params.returning) !== null && _d !== void 0 ? _d : null;
16
+ }
17
+ }
18
+ exports.DeleteQuery = DeleteQuery;
19
+ DeleteQuery.kind = Symbol("DeleteQuery");
20
+ //# 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,iDAA8C;AAG9C,MAAa,WAAY,SAAQ,2BAAY;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;;AArBL,kCAsBC;AArBU,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
  }
@@ -8,12 +8,16 @@ class InsertQuery extends SqlComponent_1.SqlComponent {
8
8
  /**
9
9
  * @param params.insertClause InsertClause instance (target table and columns)
10
10
  * @param params.selectQuery SELECT/VALUES query (required)
11
+ * @param params.withClause Optional WITH clause scoped to the INSERT statement
12
+ * @param params.returning Optional RETURNING clause
11
13
  */
12
14
  constructor(params) {
13
- var _a;
15
+ var _a, _b, _c;
14
16
  super();
17
+ this.withClause = (_a = params.withClause) !== null && _a !== void 0 ? _a : null;
15
18
  this.insertClause = params.insertClause;
16
- this.selectQuery = (_a = params.selectQuery) !== null && _a !== void 0 ? _a : null;
19
+ this.selectQuery = (_b = params.selectQuery) !== null && _b !== void 0 ? _b : null;
20
+ this.returningClause = (_c = params.returning) !== null && _c !== void 0 ? _c : null;
17
21
  }
18
22
  }
19
23
  exports.InsertQuery = InsertQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"InsertQuery.js","sourceRoot":"","sources":["../../../src/models/InsertQuery.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,0DAA0D;AAC1D,iDAA8C;AAI9C,MAAa,WAAY,SAAQ,2BAAY;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;;AAhBL,kCAiBC;AAhBU,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,iDAA8C;AAI9C,MAAa,WAAY,SAAQ,2BAAY;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;;AAxBL,kCAyBC;AAxBU,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
+ }