kysely 0.9.9 → 0.11.1
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 +44 -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 +8 -0
- package/dist/cjs/index.js +8 -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 +3 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/cjs/operation-node/drop-view-node.js +2 -2
- 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 +6 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +39 -13
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +7 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +9 -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 +1 -1
- 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 +6 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +60 -26
- 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 +5 -0
- package/dist/cjs/schema/create-view-builder.js +20 -1
- 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 +1 -0
- package/dist/cjs/schema/drop-view-builder.js +11 -1
- package/dist/cjs/schema/schema.d.ts +3 -3
- package/dist/cjs/schema/schema.js +3 -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 +40 -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 +8 -0
- package/dist/esm/index.js +8 -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 +3 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/esm/operation-node/drop-view-node.js +2 -2
- 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 +6 -0
- package/dist/esm/operation-node/operation-node-transformer.js +39 -13
- package/dist/esm/operation-node/operation-node-visitor.d.ts +7 -0
- package/dist/esm/operation-node/operation-node-visitor.js +9 -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 +1 -1
- 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 +6 -0
- package/dist/esm/query-compiler/default-query-compiler.js +60 -26
- 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 +5 -0
- package/dist/esm/schema/create-view-builder.js +20 -1
- 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 +1 -0
- package/dist/esm/schema/drop-view-builder.js +11 -1
- package/dist/esm/schema/schema.d.ts +3 -3
- package/dist/esm/schema/schema.js +3 -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
|
@@ -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
|
+
});
|
|
@@ -60,6 +60,9 @@ import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
|
60
60
|
import { UnionNode } from './union-node.js';
|
|
61
61
|
import { CreateViewNode } from './create-view-node.js';
|
|
62
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';
|
|
63
66
|
/**
|
|
64
67
|
* Transforms an operation node tree into another one.
|
|
65
68
|
*
|
|
@@ -149,6 +152,9 @@ export declare class OperationNodeTransformer {
|
|
|
149
152
|
protected transformDropConstraint(node: DropConstraintNode): DropConstraintNode;
|
|
150
153
|
protected transformCreateView(node: CreateViewNode): CreateViewNode;
|
|
151
154
|
protected transformDropView(node: DropViewNode): DropViewNode;
|
|
155
|
+
protected transformGeneratedAlwaysAs(node: GeneratedAlwaysAsNode): GeneratedAlwaysAsNode;
|
|
156
|
+
protected transformDefaultValue(node: DefaultValueNode): DefaultValueNode;
|
|
157
|
+
protected transformOn(node: OnNode): OnNode;
|
|
152
158
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
153
159
|
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
|
|
154
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),
|
|
@@ -95,7 +95,10 @@ class OperationNodeTransformer {
|
|
|
95
95
|
UnionNode: this.transformUnion.bind(this),
|
|
96
96
|
CreateViewNode: this.transformCreateView.bind(this),
|
|
97
97
|
DropViewNode: this.transformDropView.bind(this),
|
|
98
|
-
|
|
98
|
+
GeneratedAlwaysAsNode: this.transformGeneratedAlwaysAs.bind(this),
|
|
99
|
+
DefaultValueNode: this.transformDefaultValue.bind(this),
|
|
100
|
+
OnNode: this.transformOn.bind(this),
|
|
101
|
+
});
|
|
99
102
|
transformNode = (node) => {
|
|
100
103
|
if (!node) {
|
|
101
104
|
return undefined;
|
|
@@ -117,7 +120,7 @@ class OperationNodeTransformer {
|
|
|
117
120
|
from: this.transformNode(node.from),
|
|
118
121
|
selections: this.transformNodeList(node.selections),
|
|
119
122
|
distinctOnSelections: this.transformNodeList(node.distinctOnSelections),
|
|
120
|
-
|
|
123
|
+
distinct: node.distinct,
|
|
121
124
|
joins: this.transformNodeList(node.joins),
|
|
122
125
|
groupBy: this.transformNode(node.groupBy),
|
|
123
126
|
orderBy: this.transformNode(node.orderBy),
|
|
@@ -259,7 +262,7 @@ class OperationNodeTransformer {
|
|
|
259
262
|
table: this.transformNode(node.table),
|
|
260
263
|
columns: this.transformNodeList(node.columns),
|
|
261
264
|
constraints: this.transformNodeList(node.constraints),
|
|
262
|
-
|
|
265
|
+
ifNotExists: node.ifNotExists,
|
|
263
266
|
};
|
|
264
267
|
}
|
|
265
268
|
transformColumnDefinition(node) {
|
|
@@ -268,12 +271,13 @@ class OperationNodeTransformer {
|
|
|
268
271
|
column: this.transformNode(node.column),
|
|
269
272
|
dataType: this.transformNode(node.dataType),
|
|
270
273
|
references: this.transformNode(node.references),
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
274
|
+
primaryKey: node.primaryKey,
|
|
275
|
+
autoIncrement: node.autoIncrement,
|
|
276
|
+
unique: node.unique,
|
|
277
|
+
nullable: node.nullable,
|
|
275
278
|
defaultTo: this.transformNode(node.defaultTo),
|
|
276
279
|
check: this.transformNode(node.check),
|
|
280
|
+
generatedAlwaysAs: this.transformNode(node.generatedAlwaysAs),
|
|
277
281
|
};
|
|
278
282
|
}
|
|
279
283
|
transformAddColumn(node) {
|
|
@@ -286,7 +290,7 @@ class OperationNodeTransformer {
|
|
|
286
290
|
return {
|
|
287
291
|
kind: 'DropTableNode',
|
|
288
292
|
table: this.transformNode(node.table),
|
|
289
|
-
|
|
293
|
+
ifExists: node.ifExists,
|
|
290
294
|
};
|
|
291
295
|
}
|
|
292
296
|
transformOrderBy(node) {
|
|
@@ -380,7 +384,7 @@ class OperationNodeTransformer {
|
|
|
380
384
|
kind: 'DropIndexNode',
|
|
381
385
|
name: this.transformNode(node.name),
|
|
382
386
|
table: this.transformNode(node.table),
|
|
383
|
-
|
|
387
|
+
ifExists: node.ifExists,
|
|
384
388
|
};
|
|
385
389
|
}
|
|
386
390
|
transformPrimaryKeyConstraint(node) {
|
|
@@ -459,7 +463,7 @@ class OperationNodeTransformer {
|
|
|
459
463
|
return {
|
|
460
464
|
kind: 'DropSchemaNode',
|
|
461
465
|
schema: this.transformNode(node.schema),
|
|
462
|
-
|
|
466
|
+
ifExists: node.ifExists,
|
|
463
467
|
};
|
|
464
468
|
}
|
|
465
469
|
transformAlterTable(node) {
|
|
@@ -524,7 +528,9 @@ class OperationNodeTransformer {
|
|
|
524
528
|
return {
|
|
525
529
|
kind: 'CreateViewNode',
|
|
526
530
|
name: this.transformNode(node.name),
|
|
527
|
-
|
|
531
|
+
orReplace: node.orReplace,
|
|
532
|
+
ifNotExists: node.ifNotExists,
|
|
533
|
+
materialized: node.materialized,
|
|
528
534
|
columns: this.transformNodeList(node.columns),
|
|
529
535
|
as: this.transformNode(node.as),
|
|
530
536
|
};
|
|
@@ -533,7 +539,27 @@ class OperationNodeTransformer {
|
|
|
533
539
|
return {
|
|
534
540
|
kind: 'DropViewNode',
|
|
535
541
|
name: this.transformNode(node.name),
|
|
536
|
-
|
|
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),
|
|
537
563
|
};
|
|
538
564
|
}
|
|
539
565
|
transformDataType(node) {
|
|
@@ -60,9 +60,13 @@ import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
|
60
60
|
import { UnionNode } from './union-node.js';
|
|
61
61
|
import { CreateViewNode } from './create-view-node.js';
|
|
62
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';
|
|
63
66
|
export declare abstract class OperationNodeVisitor {
|
|
64
67
|
#private;
|
|
65
68
|
protected readonly nodeStack: OperationNode[];
|
|
69
|
+
protected get parentNode(): OperationNode | undefined;
|
|
66
70
|
protected readonly visitNode: (node: OperationNode) => void;
|
|
67
71
|
protected abstract visitSelectQuery(node: SelectQueryNode): void;
|
|
68
72
|
protected abstract visitSelection(node: SelectionNode): void;
|
|
@@ -125,4 +129,7 @@ export declare abstract class OperationNodeVisitor {
|
|
|
125
129
|
protected abstract visitOperator(node: OperatorNode): void;
|
|
126
130
|
protected abstract visitCreateView(node: CreateViewNode): void;
|
|
127
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;
|
|
128
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),
|
|
@@ -65,7 +69,10 @@ class OperationNodeVisitor {
|
|
|
65
69
|
UnionNode: this.visitUnion.bind(this),
|
|
66
70
|
CreateViewNode: this.visitCreateView.bind(this),
|
|
67
71
|
DropViewNode: this.visitDropView.bind(this),
|
|
68
|
-
|
|
72
|
+
GeneratedAlwaysAsNode: this.visitGeneratedAlwaysAs.bind(this),
|
|
73
|
+
DefaultValueNode: this.visitDefaultValue.bind(this),
|
|
74
|
+
OnNode: this.visitOn.bind(this),
|
|
75
|
+
});
|
|
69
76
|
visitNode = (node) => {
|
|
70
77
|
this.nodeStack.push(node);
|
|
71
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' | 'CreateViewNode' | 'DropViewNode';
|
|
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
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { QueryResult } from '../../driver/database-connection.js';
|
|
2
|
-
import { UnknownRow } from '../../index.js';
|
|
3
2
|
import { RootOperationNode } from '../../query-compiler/query-compiler.js';
|
|
3
|
+
import { UnknownRow } from '../../util/type-utils.js';
|
|
4
4
|
import { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs } from '../kysely-plugin.js';
|
|
5
5
|
/**
|
|
6
6
|
* Transforms all ValueNodes to immediate.
|
|
@@ -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
|
|
@@ -19,7 +19,7 @@ import { RawBuilder } from '../raw-builder/raw-builder.js';
|
|
|
19
19
|
* .execute()
|
|
20
20
|
* ```
|
|
21
21
|
*
|
|
22
|
-
* The generated SQL (
|
|
22
|
+
* The generated SQL (PostgreSQL):
|
|
23
23
|
*
|
|
24
24
|
* ```sql
|
|
25
25
|
* select "person"."id", count("pet"."id") as "pet_count"
|
|
@@ -66,7 +66,7 @@ export declare class FunctionBuilder<DB, TB extends keyof DB> {
|
|
|
66
66
|
* Calls the `sum` function for the column given as the argument.
|
|
67
67
|
*
|
|
68
68
|
* If this is used in a `select` statement the type of the selected expression
|
|
69
|
-
* will be `number | string |
|
|
69
|
+
* will be `number | string | bigint` by default. This is because Kysely can't
|
|
70
70
|
* know the type the db driver outputs. Sometimes the output can be larger than
|
|
71
71
|
* the largest javascript number and a string is returned instead. Most drivers
|
|
72
72
|
* allow you to configure the output type of large numbers and Kysely can't
|
|
@@ -83,12 +83,12 @@ export declare class FunctionBuilder<DB, TB extends keyof DB> {
|
|
|
83
83
|
* .execute()
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
|
-
sum<O extends number | string |
|
|
86
|
+
sum<O extends number | string | bigint, C extends StringReference<DB, TB> = any>(column: C): RawBuilder<O>;
|
|
87
87
|
/**
|
|
88
88
|
* Calls the `count` function for the column given as the argument.
|
|
89
89
|
*
|
|
90
90
|
* If this is used in a `select` statement the type of the selected expression
|
|
91
|
-
* will be `number | string |
|
|
91
|
+
* will be `number | string |bigint` by default. This is because Kysely can't
|
|
92
92
|
* know the type the db driver outputs. Sometimes the output can be larger than
|
|
93
93
|
* the largest javascript number and a string is returned instead. Most drivers
|
|
94
94
|
* allow you to configure the output type of large numbers and Kysely can't
|
|
@@ -105,7 +105,7 @@ export declare class FunctionBuilder<DB, TB extends keyof DB> {
|
|
|
105
105
|
* .execute()
|
|
106
106
|
* ```
|
|
107
107
|
*/
|
|
108
|
-
count<O extends number | string |
|
|
108
|
+
count<O extends number | string | bigint, C extends StringReference<DB, TB> = any>(column: C): RawBuilder<O>;
|
|
109
109
|
}
|
|
110
110
|
export interface FunctionBuilderProps {
|
|
111
111
|
readonly executor: QueryExecutor;
|
|
@@ -22,7 +22,7 @@ const query_id_js_1 = require("../util/query-id.js");
|
|
|
22
22
|
* .execute()
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
-
* The generated SQL (
|
|
25
|
+
* The generated SQL (PostgreSQL):
|
|
26
26
|
*
|
|
27
27
|
* ```sql
|
|
28
28
|
* select "person"."id", count("pet"."id") as "pet_count"
|
|
@@ -82,7 +82,7 @@ class FunctionBuilder {
|
|
|
82
82
|
* Calls the `sum` function for the column given as the argument.
|
|
83
83
|
*
|
|
84
84
|
* If this is used in a `select` statement the type of the selected expression
|
|
85
|
-
* will be `number | string |
|
|
85
|
+
* will be `number | string | bigint` by default. This is because Kysely can't
|
|
86
86
|
* know the type the db driver outputs. Sometimes the output can be larger than
|
|
87
87
|
* the largest javascript number and a string is returned instead. Most drivers
|
|
88
88
|
* allow you to configure the output type of large numbers and Kysely can't
|
|
@@ -106,7 +106,7 @@ class FunctionBuilder {
|
|
|
106
106
|
* Calls the `count` function for the column given as the argument.
|
|
107
107
|
*
|
|
108
108
|
* If this is used in a `select` statement the type of the selected expression
|
|
109
|
-
* will be `number | string |
|
|
109
|
+
* will be `number | string |bigint` by default. This is because Kysely can't
|
|
110
110
|
* know the type the db driver outputs. Sometimes the output can be larger than
|
|
111
111
|
* the largest javascript number and a string is returned instead. Most drivers
|
|
112
112
|
* allow you to configure the output type of large numbers and Kysely can't
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The result of an insert query.
|
|
3
|
+
*
|
|
4
|
+
* If the table has an auto incrementing primary key {@link insertId} will hold
|
|
5
|
+
* the generated id on dialects that support it. For example PostgreSQL doesn't
|
|
6
|
+
* return the id by default and {@link insertId} is undefined. On PostgreSQL you
|
|
7
|
+
* need to use {@link QueryBuilder.returning} or {@link QueryBuilder.returningAll}
|
|
8
|
+
* to get out the inserted id.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const result = await db
|
|
13
|
+
* .insertInto('person')
|
|
14
|
+
* .values(person)
|
|
15
|
+
* .executeTakeFirst()
|
|
16
|
+
*
|
|
17
|
+
* console.log(result.insertId)
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare class InsertResult {
|
|
21
|
+
#private;
|
|
22
|
+
constructor(insertId: bigint | undefined);
|
|
23
|
+
/**
|
|
24
|
+
* The auto incrementing primary key
|
|
25
|
+
*/
|
|
26
|
+
get insertId(): bigint | undefined;
|
|
27
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InsertResult = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The result of an insert query.
|
|
6
|
+
*
|
|
7
|
+
* If the table has an auto incrementing primary key {@link insertId} will hold
|
|
8
|
+
* the generated id on dialects that support it. For example PostgreSQL doesn't
|
|
9
|
+
* return the id by default and {@link insertId} is undefined. On PostgreSQL you
|
|
10
|
+
* need to use {@link QueryBuilder.returning} or {@link QueryBuilder.returningAll}
|
|
11
|
+
* to get out the inserted id.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const result = await db
|
|
16
|
+
* .insertInto('person')
|
|
17
|
+
* .values(person)
|
|
18
|
+
* .executeTakeFirst()
|
|
19
|
+
*
|
|
20
|
+
* console.log(result.insertId)
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
class InsertResult {
|
|
24
|
+
#insertId;
|
|
25
|
+
constructor(insertId) {
|
|
26
|
+
this.#insertId = insertId;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The auto incrementing primary key
|
|
30
|
+
*/
|
|
31
|
+
get insertId() {
|
|
32
|
+
return this.#insertId;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.InsertResult = InsertResult;
|