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.
- package/README.md +22 -16
- package/dist/cjs/dialect/dialect-adapter.d.ts +3 -2
- package/dist/cjs/dialect/mysql/mysql-adapter.js +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +3 -3
- package/dist/cjs/dialect/mysql/mysql-driver.js +25 -32
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +2 -2
- package/dist/cjs/dialect/postgres/postgres-driver.js +8 -19
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-adapter.js +18 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +64 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.js +33 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +14 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +116 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +31 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +19 -0
- package/dist/cjs/driver/database-connection.d.ts +2 -2
- package/dist/cjs/driver/runtime-driver.js +3 -4
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/kysely.d.ts +6 -4
- package/dist/cjs/kysely.js +6 -4
- package/dist/cjs/migration/migration.d.ts +1 -1
- package/dist/cjs/migration/migration.js +3 -3
- package/dist/cjs/operation-node/column-definition-node.d.ts +8 -6
- package/dist/cjs/operation-node/column-definition-node.js +4 -4
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -2
- package/dist/cjs/operation-node/create-table-node.d.ts +2 -3
- package/dist/cjs/operation-node/create-table-node.js +2 -2
- package/dist/cjs/operation-node/create-view-node.d.ts +23 -0
- package/dist/cjs/operation-node/create-view-node.js +25 -0
- package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
- package/dist/cjs/operation-node/default-value-node.js +18 -0
- package/dist/cjs/operation-node/drop-index-node.d.ts +1 -2
- package/dist/cjs/operation-node/drop-schema-node.d.ts +2 -3
- package/dist/cjs/operation-node/drop-schema-node.js +3 -3
- package/dist/cjs/operation-node/drop-table-node.d.ts +2 -3
- package/dist/cjs/operation-node/drop-table-node.js +2 -2
- package/dist/cjs/operation-node/drop-view-node.d.ts +17 -0
- package/dist/cjs/operation-node/drop-view-node.js +25 -0
- package/dist/cjs/operation-node/generated-always-as-node.d.ts +16 -0
- package/dist/cjs/operation-node/generated-always-as-node.js +25 -0
- package/dist/cjs/operation-node/having-node.d.ts +4 -8
- package/dist/cjs/operation-node/having-node.js +3 -3
- package/dist/cjs/operation-node/join-node.d.ts +6 -9
- package/dist/cjs/operation-node/join-node.js +10 -7
- package/dist/cjs/operation-node/on-node.d.ts +14 -0
- package/dist/cjs/operation-node/on-node.js +28 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +10 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +55 -11
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +11 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +11 -2
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/query-node.d.ts +3 -3
- package/dist/cjs/operation-node/raw-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +5 -5
- package/dist/cjs/operation-node/select-query-node.js +1 -1
- package/dist/cjs/operation-node/where-node.d.ts +4 -8
- package/dist/cjs/operation-node/where-node.js +3 -3
- package/dist/cjs/parser/filter-parser.js +1 -1
- package/dist/cjs/parser/returning-parser.d.ts +4 -2
- package/dist/cjs/parser/select-parser.d.ts +2 -2
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.js +22 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.js +21 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +4 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +6 -0
- package/dist/cjs/query-builder/delete-result.d.ts +5 -0
- package/dist/cjs/query-builder/delete-result.js +13 -0
- package/dist/cjs/query-builder/expression-builder.d.ts +2 -2
- package/dist/cjs/query-builder/expression-builder.js +1 -1
- package/dist/cjs/query-builder/function-builder.d.ts +5 -5
- package/dist/cjs/query-builder/function-builder.js +3 -3
- package/dist/cjs/query-builder/insert-result.d.ts +27 -0
- package/dist/cjs/query-builder/insert-result.js +35 -0
- package/dist/cjs/query-builder/query-builder.d.ts +91 -81
- package/dist/cjs/query-builder/query-builder.js +38 -41
- package/dist/cjs/query-builder/update-result.d.ts +5 -0
- package/dist/cjs/query-builder/update-result.js +13 -0
- package/dist/cjs/query-compiler/compiled-query.d.ts +5 -0
- package/dist/cjs/query-compiler/compiled-query.js +12 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +10 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +82 -23
- package/dist/cjs/query-compiler/query-compiler.d.ts +3 -1
- package/dist/cjs/query-creator.d.ts +36 -26
- package/dist/cjs/query-creator.js +25 -17
- package/dist/cjs/raw-builder/raw-builder.d.ts +1 -1
- package/dist/cjs/schema/alter-table-builder.d.ts +6 -2
- package/dist/cjs/schema/alter-table-builder.js +28 -4
- package/dist/cjs/schema/column-definition-builder.d.ts +43 -2
- package/dist/cjs/schema/column-definition-builder.js +23 -6
- package/dist/cjs/schema/create-schema-builder.js +1 -1
- package/dist/cjs/schema/create-table-builder.d.ts +7 -8
- package/dist/cjs/schema/create-table-builder.js +8 -9
- package/dist/cjs/schema/create-view-builder.d.ts +28 -0
- package/dist/cjs/schema/create-view-builder.js +84 -0
- package/dist/cjs/schema/drop-index-builder.js +1 -1
- package/dist/cjs/schema/drop-schema-builder.js +3 -1
- package/dist/cjs/schema/drop-table-builder.js +3 -1
- package/dist/cjs/schema/drop-view-builder.d.ts +20 -0
- package/dist/cjs/schema/drop-view-builder.js +39 -0
- package/dist/cjs/schema/schema.d.ts +30 -3
- package/dist/cjs/schema/schema.js +44 -3
- package/dist/cjs/util/dynamic-import.d.ts +2 -0
- package/dist/cjs/util/dynamic-import.js +32 -0
- package/dist/cjs/util/performance-now.d.ts +1 -0
- package/dist/cjs/util/performance-now.js +13 -0
- package/dist/cjs/util/type-utils.d.ts +4 -15
- package/dist/esm/dialect/dialect-adapter.d.ts +3 -2
- package/dist/esm/dialect/mysql/mysql-adapter.js +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +3 -3
- package/dist/esm/dialect/mysql/mysql-driver.js +26 -33
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +2 -2
- package/dist/esm/dialect/postgres/postgres-driver.js +8 -19
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-adapter.js +14 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +64 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.js +29 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +14 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +112 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +27 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +15 -0
- package/dist/esm/driver/database-connection.d.ts +2 -2
- package/dist/esm/driver/runtime-driver.js +3 -4
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/kysely.d.ts +6 -4
- package/dist/esm/kysely.js +6 -4
- package/dist/esm/migration/migration.d.ts +1 -1
- package/dist/esm/migration/migration.js +3 -3
- package/dist/esm/operation-node/column-definition-node.d.ts +8 -6
- package/dist/esm/operation-node/column-definition-node.js +4 -4
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -2
- package/dist/esm/operation-node/create-table-node.d.ts +2 -3
- package/dist/esm/operation-node/create-table-node.js +2 -2
- package/dist/esm/operation-node/create-view-node.d.ts +23 -0
- package/dist/esm/operation-node/create-view-node.js +22 -0
- package/dist/esm/operation-node/default-value-node.d.ts +14 -0
- package/dist/esm/operation-node/default-value-node.js +15 -0
- package/dist/esm/operation-node/drop-index-node.d.ts +1 -2
- package/dist/esm/operation-node/drop-schema-node.d.ts +2 -3
- package/dist/esm/operation-node/drop-schema-node.js +3 -3
- package/dist/esm/operation-node/drop-table-node.d.ts +2 -3
- package/dist/esm/operation-node/drop-table-node.js +2 -2
- package/dist/esm/operation-node/drop-view-node.d.ts +17 -0
- package/dist/esm/operation-node/drop-view-node.js +22 -0
- package/dist/esm/operation-node/generated-always-as-node.d.ts +16 -0
- package/dist/esm/operation-node/generated-always-as-node.js +22 -0
- package/dist/esm/operation-node/having-node.d.ts +4 -8
- package/dist/esm/operation-node/having-node.js +3 -3
- package/dist/esm/operation-node/join-node.d.ts +6 -9
- package/dist/esm/operation-node/join-node.js +10 -7
- package/dist/esm/operation-node/on-node.d.ts +14 -0
- package/dist/esm/operation-node/on-node.js +25 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +10 -0
- package/dist/esm/operation-node/operation-node-transformer.js +55 -11
- package/dist/esm/operation-node/operation-node-visitor.d.ts +11 -0
- package/dist/esm/operation-node/operation-node-visitor.js +11 -2
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/query-node.d.ts +3 -3
- package/dist/esm/operation-node/raw-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +5 -5
- package/dist/esm/operation-node/select-query-node.js +1 -1
- package/dist/esm/operation-node/where-node.d.ts +4 -8
- package/dist/esm/operation-node/where-node.js +3 -3
- package/dist/esm/parser/filter-parser.js +1 -1
- package/dist/esm/parser/returning-parser.d.ts +4 -2
- package/dist/esm/parser/select-parser.d.ts +2 -2
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +18 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +17 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +4 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +6 -0
- package/dist/esm/query-builder/delete-result.d.ts +5 -0
- package/dist/esm/query-builder/delete-result.js +9 -0
- package/dist/esm/query-builder/expression-builder.d.ts +2 -2
- package/dist/esm/query-builder/expression-builder.js +1 -1
- package/dist/esm/query-builder/function-builder.d.ts +5 -5
- package/dist/esm/query-builder/function-builder.js +3 -3
- package/dist/esm/query-builder/insert-result.d.ts +27 -0
- package/dist/esm/query-builder/insert-result.js +31 -0
- package/dist/esm/query-builder/query-builder.d.ts +91 -81
- package/dist/esm/query-builder/query-builder.js +38 -41
- package/dist/esm/query-builder/update-result.d.ts +5 -0
- package/dist/esm/query-builder/update-result.js +9 -0
- package/dist/esm/query-compiler/compiled-query.d.ts +5 -0
- package/dist/esm/query-compiler/compiled-query.js +11 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +10 -0
- package/dist/esm/query-compiler/default-query-compiler.js +82 -23
- package/dist/esm/query-compiler/query-compiler.d.ts +3 -1
- package/dist/esm/query-creator.d.ts +36 -26
- package/dist/esm/query-creator.js +25 -17
- package/dist/esm/raw-builder/raw-builder.d.ts +1 -1
- package/dist/esm/schema/alter-table-builder.d.ts +6 -2
- package/dist/esm/schema/alter-table-builder.js +28 -4
- package/dist/esm/schema/column-definition-builder.d.ts +43 -2
- package/dist/esm/schema/column-definition-builder.js +23 -6
- package/dist/esm/schema/create-schema-builder.js +1 -1
- package/dist/esm/schema/create-table-builder.d.ts +7 -8
- package/dist/esm/schema/create-table-builder.js +8 -9
- package/dist/esm/schema/create-view-builder.d.ts +28 -0
- package/dist/esm/schema/create-view-builder.js +80 -0
- package/dist/esm/schema/drop-index-builder.js +1 -1
- package/dist/esm/schema/drop-schema-builder.js +3 -1
- package/dist/esm/schema/drop-table-builder.js +3 -1
- package/dist/esm/schema/drop-view-builder.d.ts +20 -0
- package/dist/esm/schema/drop-view-builder.js +35 -0
- package/dist/esm/schema/schema.d.ts +30 -3
- package/dist/esm/schema/schema.js +44 -3
- package/dist/esm/util/dynamic-import.d.ts +2 -0
- package/dist/esm/util/dynamic-import.js +27 -0
- package/dist/esm/util/performance-now.d.ts +1 -0
- package/dist/esm/util/performance-now.js +9 -0
- package/dist/esm/util/type-utils.d.ts +4 -15
- 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
|
|
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,
|
|
29
|
+
cloneWithOn(joinNode, filter) {
|
|
31
30
|
return (0, object_utils_js_1.freeze)({
|
|
32
31
|
...joinNode,
|
|
33
|
-
on: joinNode.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,
|
|
37
|
+
cloneWithOrOn(joinNode, filter) {
|
|
37
38
|
return (0, object_utils_js_1.freeze)({
|
|
38
39
|
...joinNode,
|
|
39
|
-
on: joinNode.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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
20
|
-
cloneWithOrWhere<T_1 extends FilterableQueryNode>(node: T_1, filter:
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
48
|
-
cloneWithOrHaving(selectNode: SelectQueryNode, filter:
|
|
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
|
}>;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
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:
|
|
17
|
-
cloneWithFilter(whereNode: WhereNode, op: 'And' | 'Or',
|
|
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,
|
|
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,
|
|
25
|
-
: or_node_js_1.OrNode.create(whereNode.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 {
|
|
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
|
|
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,
|
|
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
|
|
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,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 (
|
|
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 (
|
|
65
|
+
* The generated SQL (PostgreSQL):
|
|
66
66
|
*
|
|
67
67
|
* ```sql
|
|
68
68
|
* select
|