kysely 0.9.8 → 0.11.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 (220) hide show
  1. package/README.md +22 -16
  2. package/dist/cjs/dialect/dialect-adapter.d.ts +3 -2
  3. package/dist/cjs/dialect/mysql/mysql-adapter.js +1 -1
  4. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +3 -3
  5. package/dist/cjs/dialect/mysql/mysql-driver.js +25 -32
  6. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +2 -2
  7. package/dist/cjs/dialect/postgres/postgres-driver.js +8 -19
  8. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +7 -0
  9. package/dist/cjs/dialect/sqlite/sqlite-adapter.js +18 -0
  10. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +64 -0
  11. package/dist/cjs/dialect/sqlite/sqlite-dialect.js +33 -0
  12. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +14 -0
  13. package/dist/cjs/dialect/sqlite/sqlite-driver.js +116 -0
  14. package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +7 -0
  15. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +31 -0
  16. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
  17. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +19 -0
  18. package/dist/cjs/driver/database-connection.d.ts +2 -2
  19. package/dist/cjs/driver/runtime-driver.js +3 -4
  20. package/dist/cjs/index.d.ts +10 -0
  21. package/dist/cjs/index.js +10 -0
  22. package/dist/cjs/kysely.d.ts +6 -4
  23. package/dist/cjs/kysely.js +6 -4
  24. package/dist/cjs/migration/migration.d.ts +1 -1
  25. package/dist/cjs/migration/migration.js +3 -3
  26. package/dist/cjs/operation-node/column-definition-node.d.ts +8 -6
  27. package/dist/cjs/operation-node/column-definition-node.js +4 -4
  28. package/dist/cjs/operation-node/create-schema-node.d.ts +1 -2
  29. package/dist/cjs/operation-node/create-table-node.d.ts +2 -3
  30. package/dist/cjs/operation-node/create-table-node.js +2 -2
  31. package/dist/cjs/operation-node/create-view-node.d.ts +23 -0
  32. package/dist/cjs/operation-node/create-view-node.js +25 -0
  33. package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
  34. package/dist/cjs/operation-node/default-value-node.js +18 -0
  35. package/dist/cjs/operation-node/drop-index-node.d.ts +1 -2
  36. package/dist/cjs/operation-node/drop-schema-node.d.ts +2 -3
  37. package/dist/cjs/operation-node/drop-schema-node.js +3 -3
  38. package/dist/cjs/operation-node/drop-table-node.d.ts +2 -3
  39. package/dist/cjs/operation-node/drop-table-node.js +2 -2
  40. package/dist/cjs/operation-node/drop-view-node.d.ts +17 -0
  41. package/dist/cjs/operation-node/drop-view-node.js +25 -0
  42. package/dist/cjs/operation-node/generated-always-as-node.d.ts +16 -0
  43. package/dist/cjs/operation-node/generated-always-as-node.js +25 -0
  44. package/dist/cjs/operation-node/having-node.d.ts +4 -8
  45. package/dist/cjs/operation-node/having-node.js +3 -3
  46. package/dist/cjs/operation-node/join-node.d.ts +6 -9
  47. package/dist/cjs/operation-node/join-node.js +10 -7
  48. package/dist/cjs/operation-node/on-node.d.ts +14 -0
  49. package/dist/cjs/operation-node/on-node.js +28 -0
  50. package/dist/cjs/operation-node/operation-node-transformer.d.ts +10 -0
  51. package/dist/cjs/operation-node/operation-node-transformer.js +55 -11
  52. package/dist/cjs/operation-node/operation-node-visitor.d.ts +11 -0
  53. package/dist/cjs/operation-node/operation-node-visitor.js +11 -2
  54. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  55. package/dist/cjs/operation-node/query-node.d.ts +3 -3
  56. package/dist/cjs/operation-node/raw-node.d.ts +1 -1
  57. package/dist/cjs/operation-node/select-query-node.d.ts +5 -5
  58. package/dist/cjs/operation-node/select-query-node.js +1 -1
  59. package/dist/cjs/operation-node/where-node.d.ts +4 -8
  60. package/dist/cjs/operation-node/where-node.js +3 -3
  61. package/dist/cjs/parser/filter-parser.js +1 -1
  62. package/dist/cjs/parser/returning-parser.d.ts +4 -2
  63. package/dist/cjs/parser/select-parser.d.ts +2 -2
  64. package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
  65. package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.js +22 -0
  66. package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
  67. package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.js +21 -0
  68. package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +4 -0
  69. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +6 -0
  70. package/dist/cjs/query-builder/delete-result.d.ts +5 -0
  71. package/dist/cjs/query-builder/delete-result.js +13 -0
  72. package/dist/cjs/query-builder/expression-builder.d.ts +2 -2
  73. package/dist/cjs/query-builder/expression-builder.js +1 -1
  74. package/dist/cjs/query-builder/function-builder.d.ts +5 -5
  75. package/dist/cjs/query-builder/function-builder.js +3 -3
  76. package/dist/cjs/query-builder/insert-result.d.ts +27 -0
  77. package/dist/cjs/query-builder/insert-result.js +35 -0
  78. package/dist/cjs/query-builder/query-builder.d.ts +91 -81
  79. package/dist/cjs/query-builder/query-builder.js +38 -41
  80. package/dist/cjs/query-builder/update-result.d.ts +5 -0
  81. package/dist/cjs/query-builder/update-result.js +13 -0
  82. package/dist/cjs/query-compiler/compiled-query.d.ts +5 -0
  83. package/dist/cjs/query-compiler/compiled-query.js +12 -0
  84. package/dist/cjs/query-compiler/default-query-compiler.d.ts +10 -0
  85. package/dist/cjs/query-compiler/default-query-compiler.js +82 -23
  86. package/dist/cjs/query-compiler/query-compiler.d.ts +3 -1
  87. package/dist/cjs/query-creator.d.ts +36 -26
  88. package/dist/cjs/query-creator.js +25 -17
  89. package/dist/cjs/raw-builder/raw-builder.d.ts +1 -1
  90. package/dist/cjs/schema/alter-table-builder.d.ts +6 -2
  91. package/dist/cjs/schema/alter-table-builder.js +28 -4
  92. package/dist/cjs/schema/column-definition-builder.d.ts +43 -2
  93. package/dist/cjs/schema/column-definition-builder.js +23 -6
  94. package/dist/cjs/schema/create-schema-builder.js +1 -1
  95. package/dist/cjs/schema/create-table-builder.d.ts +7 -8
  96. package/dist/cjs/schema/create-table-builder.js +8 -9
  97. package/dist/cjs/schema/create-view-builder.d.ts +28 -0
  98. package/dist/cjs/schema/create-view-builder.js +84 -0
  99. package/dist/cjs/schema/drop-index-builder.js +1 -1
  100. package/dist/cjs/schema/drop-schema-builder.js +3 -1
  101. package/dist/cjs/schema/drop-table-builder.js +3 -1
  102. package/dist/cjs/schema/drop-view-builder.d.ts +20 -0
  103. package/dist/cjs/schema/drop-view-builder.js +39 -0
  104. package/dist/cjs/schema/schema.d.ts +30 -3
  105. package/dist/cjs/schema/schema.js +44 -3
  106. package/dist/cjs/util/dynamic-import.d.ts +2 -0
  107. package/dist/cjs/util/dynamic-import.js +32 -0
  108. package/dist/cjs/util/performance-now.d.ts +1 -0
  109. package/dist/cjs/util/performance-now.js +13 -0
  110. package/dist/cjs/util/type-utils.d.ts +4 -15
  111. package/dist/esm/dialect/dialect-adapter.d.ts +3 -2
  112. package/dist/esm/dialect/mysql/mysql-adapter.js +1 -1
  113. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +3 -3
  114. package/dist/esm/dialect/mysql/mysql-driver.js +26 -33
  115. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +2 -2
  116. package/dist/esm/dialect/postgres/postgres-driver.js +8 -19
  117. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +7 -0
  118. package/dist/esm/dialect/sqlite/sqlite-adapter.js +14 -0
  119. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +64 -0
  120. package/dist/esm/dialect/sqlite/sqlite-dialect.js +29 -0
  121. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +14 -0
  122. package/dist/esm/dialect/sqlite/sqlite-driver.js +112 -0
  123. package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +7 -0
  124. package/dist/esm/dialect/sqlite/sqlite-introspector.js +27 -0
  125. package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
  126. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +15 -0
  127. package/dist/esm/driver/database-connection.d.ts +2 -2
  128. package/dist/esm/driver/runtime-driver.js +3 -4
  129. package/dist/esm/index.d.ts +10 -0
  130. package/dist/esm/index.js +10 -0
  131. package/dist/esm/kysely.d.ts +6 -4
  132. package/dist/esm/kysely.js +6 -4
  133. package/dist/esm/migration/migration.d.ts +1 -1
  134. package/dist/esm/migration/migration.js +3 -3
  135. package/dist/esm/operation-node/column-definition-node.d.ts +8 -6
  136. package/dist/esm/operation-node/column-definition-node.js +4 -4
  137. package/dist/esm/operation-node/create-schema-node.d.ts +1 -2
  138. package/dist/esm/operation-node/create-table-node.d.ts +2 -3
  139. package/dist/esm/operation-node/create-table-node.js +2 -2
  140. package/dist/esm/operation-node/create-view-node.d.ts +23 -0
  141. package/dist/esm/operation-node/create-view-node.js +22 -0
  142. package/dist/esm/operation-node/default-value-node.d.ts +14 -0
  143. package/dist/esm/operation-node/default-value-node.js +15 -0
  144. package/dist/esm/operation-node/drop-index-node.d.ts +1 -2
  145. package/dist/esm/operation-node/drop-schema-node.d.ts +2 -3
  146. package/dist/esm/operation-node/drop-schema-node.js +3 -3
  147. package/dist/esm/operation-node/drop-table-node.d.ts +2 -3
  148. package/dist/esm/operation-node/drop-table-node.js +2 -2
  149. package/dist/esm/operation-node/drop-view-node.d.ts +17 -0
  150. package/dist/esm/operation-node/drop-view-node.js +22 -0
  151. package/dist/esm/operation-node/generated-always-as-node.d.ts +16 -0
  152. package/dist/esm/operation-node/generated-always-as-node.js +22 -0
  153. package/dist/esm/operation-node/having-node.d.ts +4 -8
  154. package/dist/esm/operation-node/having-node.js +3 -3
  155. package/dist/esm/operation-node/join-node.d.ts +6 -9
  156. package/dist/esm/operation-node/join-node.js +10 -7
  157. package/dist/esm/operation-node/on-node.d.ts +14 -0
  158. package/dist/esm/operation-node/on-node.js +25 -0
  159. package/dist/esm/operation-node/operation-node-transformer.d.ts +10 -0
  160. package/dist/esm/operation-node/operation-node-transformer.js +55 -11
  161. package/dist/esm/operation-node/operation-node-visitor.d.ts +11 -0
  162. package/dist/esm/operation-node/operation-node-visitor.js +11 -2
  163. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  164. package/dist/esm/operation-node/query-node.d.ts +3 -3
  165. package/dist/esm/operation-node/raw-node.d.ts +1 -1
  166. package/dist/esm/operation-node/select-query-node.d.ts +5 -5
  167. package/dist/esm/operation-node/select-query-node.js +1 -1
  168. package/dist/esm/operation-node/where-node.d.ts +4 -8
  169. package/dist/esm/operation-node/where-node.js +3 -3
  170. package/dist/esm/parser/filter-parser.js +1 -1
  171. package/dist/esm/parser/returning-parser.d.ts +4 -2
  172. package/dist/esm/parser/select-parser.d.ts +2 -2
  173. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
  174. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +18 -0
  175. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
  176. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +17 -0
  177. package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +4 -0
  178. package/dist/esm/plugin/with-schema/with-schema-transformer.js +6 -0
  179. package/dist/esm/query-builder/delete-result.d.ts +5 -0
  180. package/dist/esm/query-builder/delete-result.js +9 -0
  181. package/dist/esm/query-builder/expression-builder.d.ts +2 -2
  182. package/dist/esm/query-builder/expression-builder.js +1 -1
  183. package/dist/esm/query-builder/function-builder.d.ts +5 -5
  184. package/dist/esm/query-builder/function-builder.js +3 -3
  185. package/dist/esm/query-builder/insert-result.d.ts +27 -0
  186. package/dist/esm/query-builder/insert-result.js +31 -0
  187. package/dist/esm/query-builder/query-builder.d.ts +91 -81
  188. package/dist/esm/query-builder/query-builder.js +38 -41
  189. package/dist/esm/query-builder/update-result.d.ts +5 -0
  190. package/dist/esm/query-builder/update-result.js +9 -0
  191. package/dist/esm/query-compiler/compiled-query.d.ts +5 -0
  192. package/dist/esm/query-compiler/compiled-query.js +11 -1
  193. package/dist/esm/query-compiler/default-query-compiler.d.ts +10 -0
  194. package/dist/esm/query-compiler/default-query-compiler.js +82 -23
  195. package/dist/esm/query-compiler/query-compiler.d.ts +3 -1
  196. package/dist/esm/query-creator.d.ts +36 -26
  197. package/dist/esm/query-creator.js +25 -17
  198. package/dist/esm/raw-builder/raw-builder.d.ts +1 -1
  199. package/dist/esm/schema/alter-table-builder.d.ts +6 -2
  200. package/dist/esm/schema/alter-table-builder.js +28 -4
  201. package/dist/esm/schema/column-definition-builder.d.ts +43 -2
  202. package/dist/esm/schema/column-definition-builder.js +23 -6
  203. package/dist/esm/schema/create-schema-builder.js +1 -1
  204. package/dist/esm/schema/create-table-builder.d.ts +7 -8
  205. package/dist/esm/schema/create-table-builder.js +8 -9
  206. package/dist/esm/schema/create-view-builder.d.ts +28 -0
  207. package/dist/esm/schema/create-view-builder.js +80 -0
  208. package/dist/esm/schema/drop-index-builder.js +1 -1
  209. package/dist/esm/schema/drop-schema-builder.js +3 -1
  210. package/dist/esm/schema/drop-table-builder.js +3 -1
  211. package/dist/esm/schema/drop-view-builder.d.ts +20 -0
  212. package/dist/esm/schema/drop-view-builder.js +35 -0
  213. package/dist/esm/schema/schema.d.ts +30 -3
  214. package/dist/esm/schema/schema.js +44 -3
  215. package/dist/esm/util/dynamic-import.d.ts +2 -0
  216. package/dist/esm/util/dynamic-import.js +27 -0
  217. package/dist/esm/util/performance-now.d.ts +1 -0
  218. package/dist/esm/util/performance-now.js +9 -0
  219. package/dist/esm/util/type-utils.d.ts +4 -15
  220. package/package.json +5 -3
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JoinNode = void 0;
4
4
  const object_utils_js_1 = require("../util/object-utils.js");
5
- const and_node_js_1 = require("./and-node.js");
6
- const or_node_js_1 = require("./or-node.js");
5
+ const on_node_js_1 = require("./on-node.js");
7
6
  /**
8
7
  * @internal
9
8
  */
@@ -24,19 +23,23 @@ exports.JoinNode = (0, object_utils_js_1.freeze)({
24
23
  kind: 'JoinNode',
25
24
  joinType,
26
25
  table,
27
- on,
26
+ on: on_node_js_1.OnNode.create(on),
28
27
  });
29
28
  },
30
- cloneWithOn(joinNode, on) {
29
+ cloneWithOn(joinNode, filter) {
31
30
  return (0, object_utils_js_1.freeze)({
32
31
  ...joinNode,
33
- on: joinNode.on ? and_node_js_1.AndNode.create(joinNode.on, on) : on,
32
+ on: joinNode.on
33
+ ? on_node_js_1.OnNode.cloneWithFilter(joinNode.on, 'And', filter)
34
+ : on_node_js_1.OnNode.create(filter),
34
35
  });
35
36
  },
36
- cloneWithOrOn(joinNode, on) {
37
+ cloneWithOrOn(joinNode, filter) {
37
38
  return (0, object_utils_js_1.freeze)({
38
39
  ...joinNode,
39
- on: joinNode.on ? or_node_js_1.OrNode.create(joinNode.on, on) : on,
40
+ on: joinNode.on
41
+ ? on_node_js_1.OnNode.cloneWithFilter(joinNode.on, 'Or', filter)
42
+ : on_node_js_1.OnNode.create(filter),
40
43
  });
41
44
  },
42
45
  });
@@ -0,0 +1,14 @@
1
+ import { FilterExpressionNode } from './operation-node-utils.js';
2
+ import { OperationNode } from './operation-node.js';
3
+ export interface OnNode extends OperationNode {
4
+ readonly kind: 'OnNode';
5
+ readonly on: FilterExpressionNode;
6
+ }
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const OnNode: Readonly<{
11
+ is(node: OperationNode): node is OnNode;
12
+ create(filter: FilterExpressionNode): OnNode;
13
+ cloneWithFilter(onNode: OnNode, op: 'And' | 'Or', filter: FilterExpressionNode): OnNode;
14
+ }>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnNode = void 0;
4
+ const object_utils_js_1 = require("../util/object-utils.js");
5
+ const and_node_js_1 = require("./and-node.js");
6
+ const or_node_js_1 = require("./or-node.js");
7
+ /**
8
+ * @internal
9
+ */
10
+ exports.OnNode = (0, object_utils_js_1.freeze)({
11
+ is(node) {
12
+ return node.kind === 'OnNode';
13
+ },
14
+ create(filter) {
15
+ return (0, object_utils_js_1.freeze)({
16
+ kind: 'OnNode',
17
+ on: filter,
18
+ });
19
+ },
20
+ cloneWithFilter(onNode, op, filter) {
21
+ return (0, object_utils_js_1.freeze)({
22
+ ...onNode,
23
+ on: op === 'And'
24
+ ? and_node_js_1.AndNode.create(onNode.on, filter)
25
+ : or_node_js_1.OrNode.create(onNode.on, filter),
26
+ });
27
+ },
28
+ });
@@ -58,6 +58,11 @@ import { ColumnDefinitionNode } from './column-definition-node.js';
58
58
  import { ModifyColumnNode } from './modify-column-node.js';
59
59
  import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
60
60
  import { UnionNode } from './union-node.js';
61
+ import { CreateViewNode } from './create-view-node.js';
62
+ import { DropViewNode } from './drop-view-node.js';
63
+ import { GeneratedAlwaysAsNode } from './generated-always-as-node.js';
64
+ import { DefaultValueNode } from './default-value-node.js';
65
+ import { OnNode } from './on-node.js';
61
66
  /**
62
67
  * Transforms an operation node tree into another one.
63
68
  *
@@ -145,6 +150,11 @@ export declare class OperationNodeTransformer {
145
150
  protected transformModifyColumn(node: ModifyColumnNode): ModifyColumnNode;
146
151
  protected transformAddConstraint(node: AddConstraintNode): AddConstraintNode;
147
152
  protected transformDropConstraint(node: DropConstraintNode): DropConstraintNode;
153
+ protected transformCreateView(node: CreateViewNode): CreateViewNode;
154
+ protected transformDropView(node: DropViewNode): DropViewNode;
155
+ protected transformGeneratedAlwaysAs(node: GeneratedAlwaysAsNode): GeneratedAlwaysAsNode;
156
+ protected transformDefaultValue(node: DefaultValueNode): DefaultValueNode;
157
+ protected transformOn(node: OnNode): OnNode;
148
158
  protected transformDataType(node: DataTypeNode): DataTypeNode;
149
159
  protected transformSelectAll(node: SelectAllNode): SelectAllNode;
150
160
  protected transformIdentifier(node: IdentifierNode): IdentifierNode;
@@ -33,7 +33,7 @@ const object_utils_js_1 = require("../util/object-utils.js");
33
33
  */
34
34
  class OperationNodeTransformer {
35
35
  nodeStack = [];
36
- #transformers = {
36
+ #transformers = (0, object_utils_js_1.freeze)({
37
37
  AliasNode: this.transformAlias.bind(this),
38
38
  ColumnNode: this.transformColumn.bind(this),
39
39
  IdentifierNode: this.transformIdentifier.bind(this),
@@ -93,7 +93,12 @@ class OperationNodeTransformer {
93
93
  DropConstraintNode: this.transformDropConstraint.bind(this),
94
94
  ForeignKeyConstraintNode: this.transformForeignKeyConstraint.bind(this),
95
95
  UnionNode: this.transformUnion.bind(this),
96
- };
96
+ CreateViewNode: this.transformCreateView.bind(this),
97
+ DropViewNode: this.transformDropView.bind(this),
98
+ GeneratedAlwaysAsNode: this.transformGeneratedAlwaysAs.bind(this),
99
+ DefaultValueNode: this.transformDefaultValue.bind(this),
100
+ OnNode: this.transformOn.bind(this),
101
+ });
97
102
  transformNode = (node) => {
98
103
  if (!node) {
99
104
  return undefined;
@@ -115,7 +120,7 @@ class OperationNodeTransformer {
115
120
  from: this.transformNode(node.from),
116
121
  selections: this.transformNodeList(node.selections),
117
122
  distinctOnSelections: this.transformNodeList(node.distinctOnSelections),
118
- isDistinct: node.isDistinct,
123
+ distinct: node.distinct,
119
124
  joins: this.transformNodeList(node.joins),
120
125
  groupBy: this.transformNode(node.groupBy),
121
126
  orderBy: this.transformNode(node.orderBy),
@@ -257,7 +262,7 @@ class OperationNodeTransformer {
257
262
  table: this.transformNode(node.table),
258
263
  columns: this.transformNodeList(node.columns),
259
264
  constraints: this.transformNodeList(node.constraints),
260
- modifier: node.modifier,
265
+ ifNotExists: node.ifNotExists,
261
266
  };
262
267
  }
263
268
  transformColumnDefinition(node) {
@@ -266,12 +271,13 @@ class OperationNodeTransformer {
266
271
  column: this.transformNode(node.column),
267
272
  dataType: this.transformNode(node.dataType),
268
273
  references: this.transformNode(node.references),
269
- isPrimaryKey: node.isPrimaryKey,
270
- isAutoIncrementing: node.isAutoIncrementing,
271
- isUnique: node.isUnique,
272
- isNullable: node.isNullable,
274
+ primaryKey: node.primaryKey,
275
+ autoIncrement: node.autoIncrement,
276
+ unique: node.unique,
277
+ nullable: node.nullable,
273
278
  defaultTo: this.transformNode(node.defaultTo),
274
279
  check: this.transformNode(node.check),
280
+ generatedAlwaysAs: this.transformNode(node.generatedAlwaysAs),
275
281
  };
276
282
  }
277
283
  transformAddColumn(node) {
@@ -284,7 +290,7 @@ class OperationNodeTransformer {
284
290
  return {
285
291
  kind: 'DropTableNode',
286
292
  table: this.transformNode(node.table),
287
- modifier: node.modifier,
293
+ ifExists: node.ifExists,
288
294
  };
289
295
  }
290
296
  transformOrderBy(node) {
@@ -378,7 +384,7 @@ class OperationNodeTransformer {
378
384
  kind: 'DropIndexNode',
379
385
  name: this.transformNode(node.name),
380
386
  table: this.transformNode(node.table),
381
- modifier: node.modifier,
387
+ ifExists: node.ifExists,
382
388
  };
383
389
  }
384
390
  transformPrimaryKeyConstraint(node) {
@@ -457,7 +463,7 @@ class OperationNodeTransformer {
457
463
  return {
458
464
  kind: 'DropSchemaNode',
459
465
  schema: this.transformNode(node.schema),
460
- modifier: node.modifier,
466
+ ifExists: node.ifExists,
461
467
  };
462
468
  }
463
469
  transformAlterTable(node) {
@@ -518,6 +524,44 @@ class OperationNodeTransformer {
518
524
  constraintName: this.transformNode(node.constraintName),
519
525
  };
520
526
  }
527
+ transformCreateView(node) {
528
+ return {
529
+ kind: 'CreateViewNode',
530
+ name: this.transformNode(node.name),
531
+ orReplace: node.orReplace,
532
+ ifNotExists: node.ifNotExists,
533
+ materialized: node.materialized,
534
+ columns: this.transformNodeList(node.columns),
535
+ as: this.transformNode(node.as),
536
+ };
537
+ }
538
+ transformDropView(node) {
539
+ return {
540
+ kind: 'DropViewNode',
541
+ name: this.transformNode(node.name),
542
+ ifExists: node.ifExists,
543
+ materialized: node.materialized,
544
+ };
545
+ }
546
+ transformGeneratedAlwaysAs(node) {
547
+ return {
548
+ kind: 'GeneratedAlwaysAsNode',
549
+ expression: this.transformNode(node.expression),
550
+ stored: node.stored,
551
+ };
552
+ }
553
+ transformDefaultValue(node) {
554
+ return {
555
+ kind: 'DefaultValueNode',
556
+ defaultValue: this.transformNode(node.defaultValue),
557
+ };
558
+ }
559
+ transformOn(node) {
560
+ return {
561
+ kind: 'OnNode',
562
+ on: this.transformNode(node.on),
563
+ };
564
+ }
521
565
  transformDataType(node) {
522
566
  // An Object.freezed leaf node. No need to clone.
523
567
  return node;
@@ -58,9 +58,15 @@ import { ColumnDefinitionNode } from './column-definition-node.js';
58
58
  import { ModifyColumnNode } from './modify-column-node.js';
59
59
  import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
60
60
  import { UnionNode } from './union-node.js';
61
+ import { CreateViewNode } from './create-view-node.js';
62
+ import { DropViewNode } from './drop-view-node.js';
63
+ import { GeneratedAlwaysAsNode } from './generated-always-as-node.js';
64
+ import { DefaultValueNode } from './default-value-node.js';
65
+ import { OnNode } from './on-node.js';
61
66
  export declare abstract class OperationNodeVisitor {
62
67
  #private;
63
68
  protected readonly nodeStack: OperationNode[];
69
+ protected get parentNode(): OperationNode | undefined;
64
70
  protected readonly visitNode: (node: OperationNode) => void;
65
71
  protected abstract visitSelectQuery(node: SelectQueryNode): void;
66
72
  protected abstract visitSelection(node: SelectionNode): void;
@@ -121,4 +127,9 @@ export declare abstract class OperationNodeVisitor {
121
127
  protected abstract visitValue(_: ValueNode): void;
122
128
  protected abstract visitPrimitiveValueList(_: PrimitiveValueListNode): void;
123
129
  protected abstract visitOperator(node: OperatorNode): void;
130
+ protected abstract visitCreateView(node: CreateViewNode): void;
131
+ protected abstract visitDropView(node: DropViewNode): void;
132
+ protected abstract visitGeneratedAlwaysAs(node: GeneratedAlwaysAsNode): void;
133
+ protected abstract visitDefaultValue(node: DefaultValueNode): void;
134
+ protected abstract visitOn(node: OnNode): void;
124
135
  }
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OperationNodeVisitor = void 0;
4
+ const object_utils_js_1 = require("../util/object-utils.js");
4
5
  class OperationNodeVisitor {
5
6
  nodeStack = [];
6
- #visitors = {
7
+ get parentNode() {
8
+ return this.nodeStack[this.nodeStack.length - 2];
9
+ }
10
+ #visitors = (0, object_utils_js_1.freeze)({
7
11
  AliasNode: this.visitAlias.bind(this),
8
12
  ColumnNode: this.visitColumn.bind(this),
9
13
  IdentifierNode: this.visitIdentifier.bind(this),
@@ -63,7 +67,12 @@ class OperationNodeVisitor {
63
67
  DropConstraintNode: this.visitDropConstraint.bind(this),
64
68
  ForeignKeyConstraintNode: this.visitForeignKeyConstraint.bind(this),
65
69
  UnionNode: this.visitUnion.bind(this),
66
- };
70
+ CreateViewNode: this.visitCreateView.bind(this),
71
+ DropViewNode: this.visitDropView.bind(this),
72
+ GeneratedAlwaysAsNode: this.visitGeneratedAlwaysAs.bind(this),
73
+ DefaultValueNode: this.visitDefaultValue.bind(this),
74
+ OnNode: this.visitOn.bind(this),
75
+ });
67
76
  visitNode = (node) => {
68
77
  this.nodeStack.push(node);
69
78
  this.#visitors[node.kind](node);
@@ -1,4 +1,4 @@
1
- export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'UnionNode';
1
+ export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'UnionNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedAlwaysAsNode' | 'DefaultValueNode' | 'OnNode';
2
2
  export interface OperationNode {
3
3
  readonly kind: OperationNodeKind;
4
4
  }
@@ -2,10 +2,10 @@ import { InsertQueryNode } from './insert-query-node.js';
2
2
  import { SelectQueryNode } from './select-query-node.js';
3
3
  import { UpdateQueryNode } from './update-query-node.js';
4
4
  import { DeleteQueryNode } from './delete-query-node.js';
5
- import { WhereChildNode } from './where-node.js';
6
5
  import { JoinNode } from './join-node.js';
7
6
  import { SelectionNode } from './selection-node.js';
8
7
  import { OperationNode } from './operation-node.js';
8
+ import { FilterExpressionNode } from './operation-node-utils.js';
9
9
  export declare type QueryNode = SelectQueryNode | DeleteQueryNode | InsertQueryNode | UpdateQueryNode;
10
10
  export declare type MutatingQueryNode = DeleteQueryNode | InsertQueryNode | UpdateQueryNode;
11
11
  export declare type FilterableQueryNode = SelectQueryNode | DeleteQueryNode | UpdateQueryNode;
@@ -16,8 +16,8 @@ export declare const QueryNode: Readonly<{
16
16
  is(node: OperationNode): node is QueryNode;
17
17
  isMutating(node: OperationNode): node is MutatingQueryNode;
18
18
  isFilterable(node: OperationNode): node is FilterableQueryNode;
19
- cloneWithWhere<T extends FilterableQueryNode>(node: T, filter: WhereChildNode): T;
20
- cloneWithOrWhere<T_1 extends FilterableQueryNode>(node: T_1, filter: WhereChildNode): T_1;
19
+ cloneWithWhere<T extends FilterableQueryNode>(node: T, filter: FilterExpressionNode): T;
20
+ cloneWithOrWhere<T_1 extends FilterableQueryNode>(node: T_1, filter: FilterExpressionNode): T_1;
21
21
  cloneWithJoin<T_2 extends FilterableQueryNode>(node: T_2, join: JoinNode): T_2;
22
22
  cloneWithReturning<T_3 extends MutatingQueryNode>(node: T_3, selections: ReadonlyArray<SelectionNode>): T_3;
23
23
  }>;
@@ -9,6 +9,6 @@ export interface RawNode extends OperationNode {
9
9
  */
10
10
  export declare const RawNode: Readonly<{
11
11
  is(node: OperationNode): node is RawNode;
12
- create(sqlFragments: string[], params: ReadonlyArray<OperationNode>): RawNode;
12
+ create(sqlFragments: ReadonlyArray<string>, params: ReadonlyArray<OperationNode>): RawNode;
13
13
  createWithSql(sql: string): RawNode;
14
14
  }>;
@@ -1,12 +1,12 @@
1
1
  import { FromNode } from './from-node.js';
2
2
  import { GroupByItemNode } from './group-by-item-node.js';
3
3
  import { GroupByNode } from './group-by-node.js';
4
- import { HavingNode, HavingNodeChild } from './having-node.js';
4
+ import { HavingNode } from './having-node.js';
5
5
  import { JoinNode } from './join-node.js';
6
6
  import { LimitNode } from './limit-node.js';
7
7
  import { OffsetNode } from './offset-node.js';
8
8
  import { OperationNode } from './operation-node.js';
9
- import { TableExpressionNode } from './operation-node-utils.js';
9
+ import { FilterExpressionNode, TableExpressionNode } from './operation-node-utils.js';
10
10
  import { OrderByItemNode } from './order-by-item-node.js';
11
11
  import { OrderByNode } from './order-by-node.js';
12
12
  import { SelectionNode } from './selection-node.js';
@@ -19,7 +19,7 @@ export interface SelectQueryNode extends OperationNode {
19
19
  readonly from: FromNode;
20
20
  readonly selections?: ReadonlyArray<SelectionNode>;
21
21
  readonly distinctOnSelections?: ReadonlyArray<SelectionNode>;
22
- readonly isDistinct?: boolean;
22
+ readonly distinct?: boolean;
23
23
  readonly joins?: ReadonlyArray<JoinNode>;
24
24
  readonly groupBy?: GroupByNode;
25
25
  readonly orderBy?: OrderByNode;
@@ -44,8 +44,8 @@ export declare const SelectQueryNode: Readonly<{
44
44
  cloneWithGroupByItems(selectNode: SelectQueryNode, items: ReadonlyArray<GroupByItemNode>): SelectQueryNode;
45
45
  cloneWithLimit(selectNode: SelectQueryNode, limit: LimitNode): SelectQueryNode;
46
46
  cloneWithOffset(selectNode: SelectQueryNode, offset: OffsetNode): SelectQueryNode;
47
- cloneWithHaving(selectNode: SelectQueryNode, filter: HavingNodeChild): SelectQueryNode;
48
- cloneWithOrHaving(selectNode: SelectQueryNode, filter: HavingNodeChild): SelectQueryNode;
47
+ cloneWithHaving(selectNode: SelectQueryNode, filter: FilterExpressionNode): SelectQueryNode;
48
+ cloneWithOrHaving(selectNode: SelectQueryNode, filter: FilterExpressionNode): SelectQueryNode;
49
49
  cloneWithDistinct(selectNode: SelectQueryNode): SelectQueryNode;
50
50
  cloneWithUnion(selectNode: SelectQueryNode, union: UnionNode): SelectQueryNode;
51
51
  }>;
@@ -91,7 +91,7 @@ exports.SelectQueryNode = (0, object_utils_js_1.freeze)({
91
91
  cloneWithDistinct(selectNode) {
92
92
  return (0, object_utils_js_1.freeze)({
93
93
  ...selectNode,
94
- isDistinct: true,
94
+ distinct: true,
95
95
  });
96
96
  },
97
97
  cloneWithUnion(selectNode, union) {
@@ -1,18 +1,14 @@
1
- import { AndNode } from './and-node.js';
2
- import { FilterNode } from './filter-node.js';
1
+ import { FilterExpressionNode } from './operation-node-utils.js';
3
2
  import { OperationNode } from './operation-node.js';
4
- import { OrNode } from './or-node.js';
5
- import { ParensNode } from './parens-node.js';
6
- export declare type WhereChildNode = FilterNode | AndNode | OrNode | ParensNode;
7
3
  export interface WhereNode extends OperationNode {
8
4
  readonly kind: 'WhereNode';
9
- readonly where: WhereChildNode;
5
+ readonly where: FilterExpressionNode;
10
6
  }
11
7
  /**
12
8
  * @internal
13
9
  */
14
10
  export declare const WhereNode: Readonly<{
15
11
  is(node: OperationNode): node is WhereNode;
16
- create(filter: WhereChildNode): WhereNode;
17
- cloneWithFilter(whereNode: WhereNode, op: 'And' | 'Or', where: WhereChildNode): WhereNode;
12
+ create(filter: FilterExpressionNode): WhereNode;
13
+ cloneWithFilter(whereNode: WhereNode, op: 'And' | 'Or', filter: FilterExpressionNode): WhereNode;
18
14
  }>;
@@ -17,12 +17,12 @@ exports.WhereNode = (0, object_utils_js_1.freeze)({
17
17
  where: filter,
18
18
  });
19
19
  },
20
- cloneWithFilter(whereNode, op, where) {
20
+ cloneWithFilter(whereNode, op, filter) {
21
21
  return (0, object_utils_js_1.freeze)({
22
22
  ...whereNode,
23
23
  where: op === 'And'
24
- ? and_node_js_1.AndNode.create(whereNode.where, where)
25
- : or_node_js_1.OrNode.create(whereNode.where, where),
24
+ ? and_node_js_1.AndNode.create(whereNode.where, filter)
25
+ : or_node_js_1.OrNode.create(whereNode.where, filter),
26
26
  });
27
27
  },
28
28
  });
@@ -101,7 +101,7 @@ function parseOnGroup(ctx, callback) {
101
101
  if (!joinNode.on) {
102
102
  throw new Error('no `on*` methods called insided a group callback');
103
103
  }
104
- return parens_node_js_1.ParensNode.create(joinNode.on);
104
+ return parens_node_js_1.ParensNode.create(joinNode.on.on);
105
105
  }
106
106
  function parseExistExpression(ctx, type, arg) {
107
107
  const node = (0, object_utils_js_1.isFunction)(arg)
@@ -1,7 +1,9 @@
1
+ import { DeleteResult } from '../query-builder/delete-result.js';
2
+ import { InsertResult } from '../query-builder/insert-result.js';
1
3
  import { QueryBuilder } from '../query-builder/query-builder.js';
2
- import { DeleteResultTypeTag, InsertResultTypeTag, UpdateResultTypeTag } from '../util/type-utils.js';
4
+ import { UpdateResult } from '../query-builder/update-result.js';
3
5
  import { Selection } from './select-parser.js';
4
6
  /**
5
7
  * `returning` method output query builder type
6
8
  */
7
- export declare type QueryBuilderWithReturning<DB, TB extends keyof DB, O, S> = QueryBuilder<DB, TB, O extends InsertResultTypeTag ? Selection<DB, TB, S> : O extends DeleteResultTypeTag ? Selection<DB, TB, S> : O extends UpdateResultTypeTag ? Selection<DB, TB, S> : O & Selection<DB, TB, S>>;
9
+ export declare type QueryBuilderWithReturning<DB, TB extends keyof DB, O, S> = QueryBuilder<DB, TB, O extends InsertResult ? Selection<DB, TB, S> : O extends DeleteResult ? Selection<DB, TB, S> : O extends UpdateResult ? Selection<DB, TB, S> : O & Selection<DB, TB, S>>;
@@ -1,7 +1,7 @@
1
1
  import { AliasedRawBuilder } from '../raw-builder/raw-builder.js';
2
2
  import { AliasedQueryBuilder, QueryBuilder } from '../query-builder/query-builder.js';
3
3
  import { SelectionNode } from '../operation-node/selection-node.js';
4
- import { AliasedQueryBuilderFactory, AliasedRawBuilderFactory, AnyAliasedColumn, AnyAliasedColumnWithTable, AnyAliasedQueryBuilder, AnyAliasedRawBuilder, AnyColumn, AnyColumnWithTable, InsertResultTypeTag, RowType, ValueType } from '../util/type-utils.js';
4
+ import { AliasedQueryBuilderFactory, AliasedRawBuilderFactory, AnyAliasedColumn, AnyAliasedColumnWithTable, AnyAliasedQueryBuilder, AnyAliasedRawBuilder, AnyColumn, AnyColumnWithTable, RowType, ValueType } from '../util/type-utils.js';
5
5
  import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
6
6
  import { ParseContext } from './parse-context.js';
7
7
  /**
@@ -13,7 +13,7 @@ export declare type SelectExpressionOrList<DB, TB extends keyof DB> = SelectExpr
13
13
  * Given a selection expression returns a query builder type that
14
14
  * has the selection.
15
15
  */
16
- export declare type QueryBuilderWithSelection<DB, TB extends keyof DB, O, S> = QueryBuilder<DB, TB, O extends InsertResultTypeTag ? InsertResultTypeTag : O & Selection<DB, TB, S>>;
16
+ export declare type QueryBuilderWithSelection<DB, TB extends keyof DB, O, S> = QueryBuilder<DB, TB, O & Selection<DB, TB, S>>;
17
17
  /**
18
18
  * `selectAll` output query builder type.
19
19
  */
@@ -0,0 +1,17 @@
1
+ import { QueryResult } from '../../driver/database-connection.js';
2
+ import { RootOperationNode } from '../../query-compiler/query-compiler.js';
3
+ import { UnknownRow } from '../../util/type-utils.js';
4
+ import { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs } from '../kysely-plugin.js';
5
+ /**
6
+ * Transforms all ValueNodes to immediate.
7
+ *
8
+ * WARNING! This should never be part of the public API. Users should never use this.
9
+ * This is an internal helper.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare class ImmediateValuePlugin implements KyselyPlugin {
14
+ #private;
15
+ transformQuery(args: PluginTransformQueryArgs): RootOperationNode;
16
+ transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>>;
17
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImmediateValuePlugin = void 0;
4
+ const immediate_value_transformer_js_1 = require("./immediate-value-transformer.js");
5
+ /**
6
+ * Transforms all ValueNodes to immediate.
7
+ *
8
+ * WARNING! This should never be part of the public API. Users should never use this.
9
+ * This is an internal helper.
10
+ *
11
+ * @internal
12
+ */
13
+ class ImmediateValuePlugin {
14
+ #transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer();
15
+ transformQuery(args) {
16
+ return this.#transformer.transformNode(args.node);
17
+ }
18
+ async transformResult(args) {
19
+ return args.result;
20
+ }
21
+ }
22
+ exports.ImmediateValuePlugin = ImmediateValuePlugin;
@@ -0,0 +1,13 @@
1
+ import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
2
+ import { ValueNode } from '../../operation-node/value-node.js';
3
+ /**
4
+ * Transforms all ValueNodes to immediate.
5
+ *
6
+ * WARNING! This should never be part of the public API. Users should never use this.
7
+ * This is an internal helper.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare class ImmediateValueTransformer extends OperationNodeTransformer {
12
+ transformValue(node: ValueNode): ValueNode;
13
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImmediateValueTransformer = void 0;
4
+ const operation_node_transformer_js_1 = require("../../operation-node/operation-node-transformer.js");
5
+ /**
6
+ * Transforms all ValueNodes to immediate.
7
+ *
8
+ * WARNING! This should never be part of the public API. Users should never use this.
9
+ * This is an internal helper.
10
+ *
11
+ * @internal
12
+ */
13
+ class ImmediateValueTransformer extends operation_node_transformer_js_1.OperationNodeTransformer {
14
+ transformValue(node) {
15
+ return {
16
+ ...super.transformValue(node),
17
+ immediate: true,
18
+ };
19
+ }
20
+ }
21
+ exports.ImmediateValueTransformer = ImmediateValueTransformer;
@@ -1,9 +1,11 @@
1
1
  import { AlterTableNode } from '../../operation-node/alter-table-node.js';
2
2
  import { CreateIndexNode } from '../../operation-node/create-index-node.js';
3
3
  import { CreateTableNode } from '../../operation-node/create-table-node.js';
4
+ import { CreateViewNode } from '../../operation-node/create-view-node.js';
4
5
  import { DeleteQueryNode } from '../../operation-node/delete-query-node.js';
5
6
  import { DropIndexNode } from '../../operation-node/drop-index-node.js';
6
7
  import { DropTableNode } from '../../operation-node/drop-table-node.js';
8
+ import { DropViewNode } from '../../operation-node/drop-view-node.js';
7
9
  import { InsertQueryNode } from '../../operation-node/insert-query-node.js';
8
10
  import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
9
11
  import { SelectQueryNode } from '../../operation-node/select-query-node.js';
@@ -20,6 +22,8 @@ export declare class WithSchemaTransformer extends OperationNodeTransformer {
20
22
  protected transformDropTable(node: DropTableNode): DropTableNode;
21
23
  protected transformCreateIndex(node: CreateIndexNode): CreateIndexNode;
22
24
  protected transformDropIndex(node: DropIndexNode): DropIndexNode;
25
+ protected transformCreateView(node: CreateViewNode): CreateViewNode;
26
+ protected transformDropView(node: DropViewNode): DropViewNode;
23
27
  protected transformAlterTable(node: AlterTableNode): AlterTableNode;
24
28
  protected transformTable(node: TableNode): TableNode;
25
29
  }
@@ -35,6 +35,12 @@ class WithSchemaTransformer extends operation_node_transformer_js_1.OperationNod
35
35
  transformDropIndex(node) {
36
36
  return this.#transformRoot(node, (node) => super.transformDropIndex(node));
37
37
  }
38
+ transformCreateView(node) {
39
+ return this.#transformRoot(node, (node) => super.transformCreateView(node));
40
+ }
41
+ transformDropView(node) {
42
+ return this.#transformRoot(node, (node) => super.transformDropView(node));
43
+ }
38
44
  transformAlterTable(node) {
39
45
  return this.#transformRoot(node, (node) => super.transformAlterTable(node));
40
46
  }
@@ -0,0 +1,5 @@
1
+ export declare class DeleteResult {
2
+ #private;
3
+ constructor(numDeletedRows: bigint);
4
+ get numDeletedRows(): bigint;
5
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteResult = void 0;
4
+ class DeleteResult {
5
+ #numDeletedRows;
6
+ constructor(numDeletedRows) {
7
+ this.#numDeletedRows = numDeletedRows;
8
+ }
9
+ get numDeletedRows() {
10
+ return this.#numDeletedRows;
11
+ }
12
+ }
13
+ exports.DeleteResult = DeleteResult;
@@ -26,7 +26,7 @@ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
26
26
  * .execute()
27
27
  * ```
28
28
  *
29
- * The generated SQL (postgresql):
29
+ * The generated SQL (PostgreSQL):
30
30
  *
31
31
  * ```sql
32
32
  * select "person"."id", count("pet"."id") as "pet_count"
@@ -62,7 +62,7 @@ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
62
62
  * console.log(result[0].owner_name)
63
63
  * ```
64
64
  *
65
- * The generated SQL (postgresql):
65
+ * The generated SQL (PostgreSQL):
66
66
  *
67
67
  * ```sql
68
68
  * select
@@ -34,7 +34,7 @@ class ExpressionBuilder {
34
34
  * .execute()
35
35
  * ```
36
36
  *
37
- * The generated SQL (postgresql):
37
+ * The generated SQL (PostgreSQL):
38
38
  *
39
39
  * ```sql
40
40
  * select "person"."id", count("pet"."id") as "pet_count"