kysely 0.23.5 → 0.24.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 +46 -24
- package/dist/cjs/dialect/mysql/mysql-adapter.js +2 -2
- package/dist/cjs/dialect/mysql/mysql-driver.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-driver.js +1 -1
- package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +1 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.js +1 -0
- package/dist/cjs/driver/runtime-driver.js +4 -2
- package/dist/cjs/expression/expression-builder.d.ts +386 -0
- package/dist/cjs/expression/expression-builder.js +92 -0
- package/dist/cjs/expression/expression-wrapper.d.ts +92 -0
- package/dist/cjs/expression/expression-wrapper.js +54 -0
- package/dist/cjs/expression/expression.d.ts +1 -1
- package/dist/cjs/helpers/mysql.d.ts +140 -0
- package/dist/cjs/helpers/mysql.js +170 -0
- package/dist/cjs/helpers/postgres.d.ts +133 -0
- package/dist/cjs/helpers/postgres.js +141 -0
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/kysely.d.ts +10 -0
- package/dist/cjs/kysely.js +12 -1
- package/dist/cjs/migration/file-migration-provider.d.ts +5 -2
- package/dist/cjs/migration/migrator.d.ts +5 -2
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -3
- package/dist/cjs/operation-node/create-index-node.d.ts +2 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/delete-query-node.js +0 -6
- package/dist/cjs/operation-node/function-node.d.ts +13 -0
- package/dist/cjs/operation-node/function-node.js +19 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +9 -0
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +13 -2
- package/dist/cjs/operation-node/operator-node.js +38 -3
- package/dist/cjs/operation-node/query-node.d.ts +25 -8
- package/dist/cjs/operation-node/query-node.js +9 -2
- package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/select-query-node.js +0 -6
- package/dist/cjs/operation-node/update-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/update-query-node.js +0 -6
- package/dist/cjs/parser/binary-operation-parser.d.ts +9 -10
- package/dist/cjs/parser/binary-operation-parser.js +89 -39
- package/dist/cjs/parser/coalesce-parser.d.ts +0 -2
- package/dist/cjs/parser/coalesce-parser.js +0 -9
- package/dist/cjs/parser/expression-parser.d.ts +7 -3
- package/dist/cjs/parser/expression-parser.js +3 -3
- package/dist/cjs/parser/group-by-parser.d.ts +3 -2
- package/dist/cjs/parser/group-by-parser.js +3 -0
- package/dist/cjs/parser/insert-values-parser.d.ts +4 -1
- package/dist/cjs/parser/insert-values-parser.js +19 -13
- package/dist/cjs/parser/join-parser.js +1 -1
- package/dist/cjs/parser/parse-utils.d.ts +0 -2
- package/dist/cjs/parser/parse-utils.js +1 -8
- package/dist/cjs/parser/returning-parser.d.ts +2 -1
- package/dist/cjs/parser/select-parser.d.ts +5 -13
- package/dist/cjs/parser/select-parser.js +8 -4
- package/dist/cjs/parser/table-parser.d.ts +5 -3
- package/dist/cjs/parser/unary-operation-parser.d.ts +5 -2
- package/dist/cjs/parser/unary-operation-parser.js +9 -8
- package/dist/cjs/parser/update-set-parser.d.ts +4 -1
- package/dist/cjs/parser/update-set-parser.js +9 -4
- package/dist/cjs/parser/value-parser.d.ts +5 -0
- package/dist/cjs/parser/value-parser.js +1 -3
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +1 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +40 -113
- package/dist/cjs/query-builder/aggregate-function-builder.js +23 -63
- package/dist/cjs/query-builder/delete-query-builder.d.ts +220 -201
- package/dist/cjs/query-builder/delete-query-builder.js +21 -27
- package/dist/cjs/query-builder/delete-result.js +3 -0
- package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +62 -0
- package/dist/cjs/query-builder/deprecated-having-expression-builder.js +2 -0
- package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +62 -0
- package/dist/cjs/query-builder/deprecated-on-expression-builder.js +2 -0
- package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +62 -0
- package/dist/cjs/query-builder/deprecated-where-expression-builder.js +2 -0
- package/dist/cjs/query-builder/function-module.d.ts +40 -12
- package/dist/cjs/query-builder/function-module.js +43 -329
- package/dist/cjs/query-builder/having-interface.d.ts +19 -16
- package/dist/cjs/query-builder/insert-query-builder.d.ts +75 -26
- package/dist/cjs/query-builder/insert-query-builder.js +21 -29
- package/dist/cjs/query-builder/insert-result.js +3 -0
- package/dist/cjs/query-builder/join-builder.d.ts +23 -26
- package/dist/cjs/query-builder/join-builder.js +17 -22
- package/dist/cjs/query-builder/no-result-error.d.ts +1 -0
- package/dist/cjs/query-builder/no-result-error.js +5 -1
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +158 -276
- package/dist/cjs/query-builder/on-conflict-builder.js +52 -36
- package/dist/cjs/query-builder/over-builder.d.ts +5 -0
- package/dist/cjs/query-builder/over-builder.js +7 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +2 -2
- package/dist/cjs/query-builder/select-query-builder.d.ts +148 -237
- package/dist/cjs/query-builder/select-query-builder.js +333 -78
- package/dist/cjs/query-builder/update-query-builder.d.ts +145 -213
- package/dist/cjs/query-builder/update-query-builder.js +21 -115
- package/dist/cjs/query-builder/update-result.js +3 -0
- package/dist/cjs/query-builder/where-interface.d.ts +71 -184
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +3 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +17 -1
- package/dist/cjs/query-creator.d.ts +9 -2
- package/dist/cjs/query-creator.js +1 -24
- package/dist/cjs/query-executor/query-executor.d.ts +3 -3
- package/dist/cjs/raw-builder/raw-builder.d.ts +5 -3
- package/dist/cjs/raw-builder/raw-builder.js +13 -7
- package/dist/cjs/raw-builder/sql.d.ts +17 -9
- package/dist/cjs/raw-builder/sql.js +8 -2
- package/dist/cjs/schema/alter-column-builder.d.ts +5 -0
- package/dist/cjs/schema/alter-column-builder.js +7 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +5 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +7 -0
- package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +5 -0
- package/dist/cjs/schema/alter-table-drop-constraint-builder.js +7 -0
- package/dist/cjs/schema/column-definition-builder.d.ts +6 -1
- package/dist/cjs/schema/column-definition-builder.js +8 -1
- package/dist/cjs/schema/create-index-builder.d.ts +51 -9
- package/dist/cjs/schema/create-index-builder.js +17 -0
- package/dist/cjs/schema/create-schema-builder.d.ts +5 -0
- package/dist/cjs/schema/create-schema-builder.js +7 -0
- package/dist/cjs/schema/create-table-builder.d.ts +3 -1
- package/dist/cjs/schema/create-table-builder.js +3 -1
- package/dist/cjs/schema/create-type-builder.d.ts +5 -0
- package/dist/cjs/schema/create-type-builder.js +7 -0
- package/dist/cjs/schema/create-view-builder.d.ts +5 -0
- package/dist/cjs/schema/create-view-builder.js +7 -0
- package/dist/cjs/schema/drop-index-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-index-builder.js +7 -0
- package/dist/cjs/schema/drop-schema-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-schema-builder.js +7 -0
- package/dist/cjs/schema/drop-table-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-table-builder.js +7 -0
- package/dist/cjs/schema/drop-type-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-type-builder.js +7 -0
- package/dist/cjs/schema/drop-view-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-view-builder.js +7 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +5 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.js +7 -0
- package/dist/cjs/util/compilable.d.ts +1 -0
- package/dist/cjs/util/compilable.js +6 -0
- package/dist/cjs/util/explainable.d.ts +35 -0
- package/dist/cjs/util/log.d.ts +2 -0
- package/dist/cjs/util/object-utils.js +1 -1
- package/dist/cjs/util/streamable.d.ts +29 -0
- package/dist/cjs/util/streamable.js +2 -0
- package/dist/cjs/util/type-utils.d.ts +1 -0
- package/dist/esm/dialect/mysql/mysql-adapter.js +2 -2
- package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-driver.js +1 -1
- package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.js +1 -0
- package/dist/esm/driver/runtime-driver.js +4 -2
- package/dist/esm/expression/expression-builder.d.ts +386 -0
- package/dist/esm/expression/expression-builder.js +88 -0
- package/dist/esm/expression/expression-wrapper.d.ts +92 -0
- package/dist/esm/expression/expression-wrapper.js +50 -0
- package/dist/esm/expression/expression.d.ts +1 -1
- package/dist/esm/helpers/mysql.d.ts +140 -0
- package/dist/esm/helpers/mysql.js +165 -0
- package/dist/esm/helpers/postgres.d.ts +133 -0
- package/dist/esm/helpers/postgres.js +136 -0
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +2 -1
- package/dist/esm/kysely.d.ts +10 -0
- package/dist/esm/kysely.js +13 -2
- package/dist/esm/migration/file-migration-provider.d.ts +5 -2
- package/dist/esm/migration/migrator.d.ts +5 -2
- package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -3
- package/dist/esm/operation-node/create-index-node.d.ts +2 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +0 -1
- package/dist/esm/operation-node/delete-query-node.js +0 -6
- package/dist/esm/operation-node/function-node.d.ts +13 -0
- package/dist/esm/operation-node/function-node.js +17 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-transformer.js +9 -0
- package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-visitor.js +1 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +13 -2
- package/dist/esm/operation-node/operator-node.js +34 -3
- package/dist/esm/operation-node/query-node.d.ts +25 -8
- package/dist/esm/operation-node/query-node.js +9 -2
- package/dist/esm/operation-node/select-query-node.d.ts +0 -1
- package/dist/esm/operation-node/select-query-node.js +0 -6
- package/dist/esm/operation-node/update-query-node.d.ts +0 -1
- package/dist/esm/operation-node/update-query-node.js +0 -6
- package/dist/esm/parser/binary-operation-parser.d.ts +9 -10
- package/dist/esm/parser/binary-operation-parser.js +85 -37
- package/dist/esm/parser/coalesce-parser.d.ts +0 -2
- package/dist/esm/parser/coalesce-parser.js +1 -7
- package/dist/esm/parser/expression-parser.d.ts +7 -3
- package/dist/esm/parser/expression-parser.js +3 -3
- package/dist/esm/parser/group-by-parser.d.ts +3 -2
- package/dist/esm/parser/group-by-parser.js +3 -0
- package/dist/esm/parser/insert-values-parser.d.ts +4 -1
- package/dist/esm/parser/insert-values-parser.js +18 -12
- package/dist/esm/parser/join-parser.js +2 -2
- package/dist/esm/parser/parse-utils.d.ts +0 -2
- package/dist/esm/parser/parse-utils.js +0 -6
- package/dist/esm/parser/returning-parser.d.ts +2 -1
- package/dist/esm/parser/select-parser.d.ts +5 -13
- package/dist/esm/parser/select-parser.js +7 -3
- package/dist/esm/parser/table-parser.d.ts +5 -3
- package/dist/esm/parser/unary-operation-parser.d.ts +5 -2
- package/dist/esm/parser/unary-operation-parser.js +8 -8
- package/dist/esm/parser/update-set-parser.d.ts +4 -1
- package/dist/esm/parser/update-set-parser.js +7 -2
- package/dist/esm/parser/value-parser.d.ts +5 -0
- package/dist/esm/parser/value-parser.js +1 -3
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +1 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +40 -113
- package/dist/esm/query-builder/aggregate-function-builder.js +24 -64
- package/dist/esm/query-builder/delete-query-builder.d.ts +220 -201
- package/dist/esm/query-builder/delete-query-builder.js +24 -30
- package/dist/esm/query-builder/delete-result.js +3 -0
- package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +62 -0
- package/dist/esm/query-builder/deprecated-having-expression-builder.js +2 -0
- package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +62 -0
- package/dist/esm/query-builder/deprecated-on-expression-builder.js +2 -0
- package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +62 -0
- package/dist/esm/query-builder/deprecated-where-expression-builder.js +2 -0
- package/dist/esm/query-builder/function-module.d.ts +40 -12
- package/dist/esm/query-builder/function-module.js +42 -328
- package/dist/esm/query-builder/having-interface.d.ts +19 -16
- package/dist/esm/query-builder/insert-query-builder.d.ts +75 -26
- package/dist/esm/query-builder/insert-query-builder.js +25 -33
- package/dist/esm/query-builder/insert-result.js +3 -0
- package/dist/esm/query-builder/join-builder.d.ts +23 -26
- package/dist/esm/query-builder/join-builder.js +18 -23
- package/dist/esm/query-builder/no-result-error.d.ts +1 -0
- package/dist/esm/query-builder/no-result-error.js +3 -0
- package/dist/esm/query-builder/on-conflict-builder.d.ts +158 -276
- package/dist/esm/query-builder/on-conflict-builder.js +54 -38
- package/dist/esm/query-builder/over-builder.d.ts +5 -0
- package/dist/esm/query-builder/over-builder.js +7 -0
- package/dist/esm/query-builder/returning-interface.d.ts +2 -2
- package/dist/esm/query-builder/select-query-builder.d.ts +148 -237
- package/dist/esm/query-builder/select-query-builder.js +337 -82
- package/dist/esm/query-builder/update-query-builder.d.ts +145 -213
- package/dist/esm/query-builder/update-query-builder.js +25 -119
- package/dist/esm/query-builder/update-result.js +3 -0
- package/dist/esm/query-builder/where-interface.d.ts +71 -184
- package/dist/esm/query-compiler/default-query-compiler.d.ts +3 -0
- package/dist/esm/query-compiler/default-query-compiler.js +17 -1
- package/dist/esm/query-creator.d.ts +9 -2
- package/dist/esm/query-creator.js +1 -24
- package/dist/esm/query-executor/query-executor.d.ts +3 -3
- package/dist/esm/raw-builder/raw-builder.d.ts +5 -3
- package/dist/esm/raw-builder/raw-builder.js +13 -7
- package/dist/esm/raw-builder/sql.d.ts +17 -9
- package/dist/esm/raw-builder/sql.js +8 -2
- package/dist/esm/schema/alter-column-builder.d.ts +5 -0
- package/dist/esm/schema/alter-column-builder.js +7 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +5 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +7 -0
- package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +5 -0
- package/dist/esm/schema/alter-table-drop-constraint-builder.js +7 -0
- package/dist/esm/schema/column-definition-builder.d.ts +6 -1
- package/dist/esm/schema/column-definition-builder.js +8 -1
- package/dist/esm/schema/create-index-builder.d.ts +51 -9
- package/dist/esm/schema/create-index-builder.js +17 -0
- package/dist/esm/schema/create-schema-builder.d.ts +5 -0
- package/dist/esm/schema/create-schema-builder.js +7 -0
- package/dist/esm/schema/create-table-builder.d.ts +3 -1
- package/dist/esm/schema/create-table-builder.js +3 -1
- package/dist/esm/schema/create-type-builder.d.ts +5 -0
- package/dist/esm/schema/create-type-builder.js +7 -0
- package/dist/esm/schema/create-view-builder.d.ts +5 -0
- package/dist/esm/schema/create-view-builder.js +7 -0
- package/dist/esm/schema/drop-index-builder.d.ts +5 -0
- package/dist/esm/schema/drop-index-builder.js +7 -0
- package/dist/esm/schema/drop-schema-builder.d.ts +5 -0
- package/dist/esm/schema/drop-schema-builder.js +7 -0
- package/dist/esm/schema/drop-table-builder.d.ts +5 -0
- package/dist/esm/schema/drop-table-builder.js +7 -0
- package/dist/esm/schema/drop-type-builder.d.ts +5 -0
- package/dist/esm/schema/drop-type-builder.js +7 -0
- package/dist/esm/schema/drop-view-builder.d.ts +5 -0
- package/dist/esm/schema/drop-view-builder.js +7 -0
- package/dist/esm/schema/foreign-key-constraint-builder.d.ts +5 -0
- package/dist/esm/schema/foreign-key-constraint-builder.js +7 -0
- package/dist/esm/util/compilable.d.ts +1 -0
- package/dist/esm/util/compilable.js +4 -1
- package/dist/esm/util/explainable.d.ts +35 -0
- package/dist/esm/util/log.d.ts +2 -0
- package/dist/esm/util/object-utils.js +1 -1
- package/dist/esm/util/streamable.d.ts +29 -0
- package/dist/esm/util/streamable.js +2 -0
- package/dist/esm/util/type-utils.d.ts +1 -0
- package/helpers/mysql.d.ts +1 -0
- package/helpers/mysql.js +1 -0
- package/helpers/postgres.d.ts +1 -0
- package/helpers/postgres.js +1 -0
- package/package.json +26 -9
- package/dist/cjs/query-builder/expression-builder.d.ts +0 -126
- package/dist/cjs/query-builder/expression-builder.js +0 -107
- package/dist/esm/query-builder/expression-builder.d.ts +0 -126
- package/dist/esm/query-builder/expression-builder.js +0 -104
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { ColumnNode } from '../operation-node/column-node.js';
|
|
3
3
|
import { IdentifierNode } from '../operation-node/identifier-node.js';
|
|
4
4
|
import { OnConflictNode } from '../operation-node/on-conflict-node.js';
|
|
5
|
-
import {
|
|
5
|
+
import { parseReferentialComparison, parseWhere, } from '../parser/binary-operation-parser.js';
|
|
6
6
|
import { parseExists, parseNotExists, } from '../parser/unary-operation-parser.js';
|
|
7
|
-
import {
|
|
7
|
+
import { parseUpdateExpression, } from '../parser/update-set-parser.js';
|
|
8
8
|
import { freeze } from '../util/object-utils.js';
|
|
9
9
|
import { preventAwait } from '../util/prevent-await.js';
|
|
10
10
|
export class OnConflictBuilder {
|
|
@@ -90,9 +90,12 @@ export class OnConflictBuilder {
|
|
|
90
90
|
whereRef(lhs, op, rhs) {
|
|
91
91
|
return new OnConflictBuilder({
|
|
92
92
|
...this.#props,
|
|
93
|
-
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode,
|
|
93
|
+
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
98
|
+
*/
|
|
96
99
|
orWhere(...args) {
|
|
97
100
|
return new OnConflictBuilder({
|
|
98
101
|
...this.#props,
|
|
@@ -100,20 +103,16 @@ export class OnConflictBuilder {
|
|
|
100
103
|
});
|
|
101
104
|
}
|
|
102
105
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* See {@link WhereInterface.orWhereRef} for more info.
|
|
106
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
106
107
|
*/
|
|
107
108
|
orWhereRef(lhs, op, rhs) {
|
|
108
109
|
return new OnConflictBuilder({
|
|
109
110
|
...this.#props,
|
|
110
|
-
onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode,
|
|
111
|
+
onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
111
112
|
});
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* See {@link WhereInterface.whereExists} for more info.
|
|
115
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
117
116
|
*/
|
|
118
117
|
whereExists(arg) {
|
|
119
118
|
return new OnConflictBuilder({
|
|
@@ -122,9 +121,7 @@ export class OnConflictBuilder {
|
|
|
122
121
|
});
|
|
123
122
|
}
|
|
124
123
|
/**
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
* See {@link WhereInterface.whereNotExists} for more info.
|
|
124
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
128
125
|
*/
|
|
129
126
|
whereNotExists(arg) {
|
|
130
127
|
return new OnConflictBuilder({
|
|
@@ -133,9 +130,7 @@ export class OnConflictBuilder {
|
|
|
133
130
|
});
|
|
134
131
|
}
|
|
135
132
|
/**
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* See {@link WhereInterface.orWhereExists} for more info.
|
|
133
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
139
134
|
*/
|
|
140
135
|
orWhereExists(arg) {
|
|
141
136
|
return new OnConflictBuilder({
|
|
@@ -144,9 +139,7 @@ export class OnConflictBuilder {
|
|
|
144
139
|
});
|
|
145
140
|
}
|
|
146
141
|
/**
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* See {@link WhereInterface.orWhereNotExists} for more info.
|
|
142
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
150
143
|
*/
|
|
151
144
|
orWhereNotExists(arg) {
|
|
152
145
|
return new OnConflictBuilder({
|
|
@@ -214,15 +207,38 @@ export class OnConflictBuilder {
|
|
|
214
207
|
* on conflict ("pic")
|
|
215
208
|
* do update set "first_name" = $3
|
|
216
209
|
* ```
|
|
210
|
+
*
|
|
211
|
+
* In the next example we use the `ref` method to reference
|
|
212
|
+
* columns of the virtual table `excluded` in a type-safe way
|
|
213
|
+
* to create an upsert operation:
|
|
214
|
+
*
|
|
215
|
+
* ```ts
|
|
216
|
+
* db.insertInto('person')
|
|
217
|
+
* .values(person)
|
|
218
|
+
* .onConflict((oc) => oc
|
|
219
|
+
* .column('id')
|
|
220
|
+
* .doUpdateSet((eb) => ({
|
|
221
|
+
* first_name: eb.ref('excluded.first_name'),
|
|
222
|
+
* last_name: eb.ref('excluded.last_name')
|
|
223
|
+
* }))
|
|
224
|
+
* )
|
|
225
|
+
* ```
|
|
217
226
|
*/
|
|
218
|
-
doUpdateSet(
|
|
227
|
+
doUpdateSet(update) {
|
|
219
228
|
return new OnConflictUpdateBuilder({
|
|
220
229
|
...this.#props,
|
|
221
230
|
onConflictNode: OnConflictNode.cloneWith(this.#props.onConflictNode, {
|
|
222
|
-
updates:
|
|
231
|
+
updates: parseUpdateExpression(update),
|
|
223
232
|
}),
|
|
224
233
|
});
|
|
225
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
237
|
+
* what the provided function returns.
|
|
238
|
+
*/
|
|
239
|
+
$call(func) {
|
|
240
|
+
return func(this);
|
|
241
|
+
}
|
|
226
242
|
}
|
|
227
243
|
preventAwait(OnConflictBuilder, "don't await OnConflictBuilder instances.");
|
|
228
244
|
export class OnConflictDoNothingBuilder {
|
|
@@ -254,9 +270,12 @@ export class OnConflictUpdateBuilder {
|
|
|
254
270
|
whereRef(lhs, op, rhs) {
|
|
255
271
|
return new OnConflictUpdateBuilder({
|
|
256
272
|
...this.#props,
|
|
257
|
-
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode,
|
|
273
|
+
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
258
274
|
});
|
|
259
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
278
|
+
*/
|
|
260
279
|
orWhere(...args) {
|
|
261
280
|
return new OnConflictUpdateBuilder({
|
|
262
281
|
...this.#props,
|
|
@@ -264,20 +283,16 @@ export class OnConflictUpdateBuilder {
|
|
|
264
283
|
});
|
|
265
284
|
}
|
|
266
285
|
/**
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
* See {@link WhereInterface.orWhereRef} for more info.
|
|
286
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
270
287
|
*/
|
|
271
288
|
orWhereRef(lhs, op, rhs) {
|
|
272
289
|
return new OnConflictUpdateBuilder({
|
|
273
290
|
...this.#props,
|
|
274
|
-
onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode,
|
|
291
|
+
onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
275
292
|
});
|
|
276
293
|
}
|
|
277
294
|
/**
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
* See {@link WhereInterface.whereExists} for more info.
|
|
295
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
281
296
|
*/
|
|
282
297
|
whereExists(arg) {
|
|
283
298
|
return new OnConflictUpdateBuilder({
|
|
@@ -286,9 +301,7 @@ export class OnConflictUpdateBuilder {
|
|
|
286
301
|
});
|
|
287
302
|
}
|
|
288
303
|
/**
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
* See {@link WhereInterface.whereNotExists} for more info.
|
|
304
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
292
305
|
*/
|
|
293
306
|
whereNotExists(arg) {
|
|
294
307
|
return new OnConflictUpdateBuilder({
|
|
@@ -297,9 +310,7 @@ export class OnConflictUpdateBuilder {
|
|
|
297
310
|
});
|
|
298
311
|
}
|
|
299
312
|
/**
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
* See {@link WhereInterface.orWhereExists} for more info.
|
|
313
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
303
314
|
*/
|
|
304
315
|
orWhereExists(arg) {
|
|
305
316
|
return new OnConflictUpdateBuilder({
|
|
@@ -308,9 +319,7 @@ export class OnConflictUpdateBuilder {
|
|
|
308
319
|
});
|
|
309
320
|
}
|
|
310
321
|
/**
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
* See {@link WhereInterface.orWhereNotExists} for more info.
|
|
322
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
314
323
|
*/
|
|
315
324
|
orWhereNotExists(arg) {
|
|
316
325
|
return new OnConflictUpdateBuilder({
|
|
@@ -324,6 +333,13 @@ export class OnConflictUpdateBuilder {
|
|
|
324
333
|
onConflictNode: OnConflictNode.cloneWithoutUpdateWhere(this.#props.onConflictNode),
|
|
325
334
|
});
|
|
326
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
338
|
+
* what the provided function returns.
|
|
339
|
+
*/
|
|
340
|
+
$call(func) {
|
|
341
|
+
return func(this);
|
|
342
|
+
}
|
|
327
343
|
toOperationNode() {
|
|
328
344
|
return this.#props.onConflictNode;
|
|
329
345
|
}
|
|
@@ -52,6 +52,11 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
|
|
|
52
52
|
*/
|
|
53
53
|
partitionBy(partitionBy: ReadonlyArray<PartitionByExpression<DB, TB>>): OverBuilder<DB, TB>;
|
|
54
54
|
partitionBy(partitionBy: PartitionByExpression<DB, TB>): OverBuilder<DB, TB>;
|
|
55
|
+
/**
|
|
56
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
57
|
+
* what the provided function returns.
|
|
58
|
+
*/
|
|
59
|
+
$call<T>(func: (qb: this) => T): T;
|
|
55
60
|
toOperationNode(): OverNode;
|
|
56
61
|
}
|
|
57
62
|
export interface OverBuilderProps {
|
|
@@ -40,6 +40,13 @@ export class OverBuilder {
|
|
|
40
40
|
overNode: OverNode.cloneWithPartitionByItems(this.#props.overNode, parsePartitionBy(partitionBy)),
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
45
|
+
* what the provided function returns.
|
|
46
|
+
*/
|
|
47
|
+
$call(func) {
|
|
48
|
+
return func(this);
|
|
49
|
+
}
|
|
43
50
|
toOperationNode() {
|
|
44
51
|
return this.#props.overNode;
|
|
45
52
|
}
|
|
@@ -53,10 +53,10 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
|
|
|
53
53
|
* first_name: 'Jennifer',
|
|
54
54
|
* last_name: 'Aniston'
|
|
55
55
|
* })
|
|
56
|
-
* .returning([
|
|
56
|
+
* .returning(eb => [
|
|
57
57
|
* 'id as id',
|
|
58
58
|
* sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
|
|
59
|
-
*
|
|
59
|
+
* eb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')
|
|
60
60
|
* ])
|
|
61
61
|
* .executeTakeFirst()
|
|
62
62
|
* ```
|