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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Expression } from '../expression/expression.js';
|
|
2
2
|
import { OnConflictNode } from '../operation-node/on-conflict-node.js';
|
|
3
3
|
import { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
4
|
-
import { ComparisonOperatorExpression, OperandValueExpressionOrList
|
|
4
|
+
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
5
5
|
import { ExpressionOrFactory } from '../parser/expression-parser.js';
|
|
6
6
|
import { ReferenceExpression } from '../parser/reference-parser.js';
|
|
7
|
-
import {
|
|
7
|
+
import { UpdateExpression } from '../parser/update-set-parser.js';
|
|
8
8
|
import { AnyColumn } from '../util/type-utils.js';
|
|
9
|
-
import { WhereInterface } from './where-interface.js';
|
|
9
|
+
import { WhereExpressionFactory, WhereInterface } from './where-interface.js';
|
|
10
10
|
export declare class OnConflictBuilder<DB, TB extends keyof DB> implements WhereInterface<DB, TB> {
|
|
11
11
|
#private;
|
|
12
12
|
constructor(props: OnConflictBuilderProps);
|
|
@@ -47,53 +47,37 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
47
47
|
*/
|
|
48
48
|
where<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictBuilder<DB, TB>;
|
|
49
49
|
/**
|
|
50
|
-
* Adds a `where`
|
|
50
|
+
* Adds a `where` expression to the query.
|
|
51
51
|
*
|
|
52
|
-
*
|
|
52
|
+
* Calling this method multiple times will combine the expressions using `and`.
|
|
53
53
|
*
|
|
54
|
-
*
|
|
54
|
+
* Also see {@link whereRef}
|
|
55
55
|
*
|
|
56
|
-
*
|
|
56
|
+
* ### Examples
|
|
57
57
|
*
|
|
58
58
|
* ```ts
|
|
59
59
|
* const person = await db
|
|
60
60
|
* .selectFrom('person')
|
|
61
61
|
* .selectAll()
|
|
62
|
-
* .where('
|
|
62
|
+
* .where('first_name', '=', 'Jennifer')
|
|
63
|
+
* .where('age', '>', 40)
|
|
63
64
|
* .executeTakeFirst()
|
|
64
65
|
* ```
|
|
65
66
|
*
|
|
66
67
|
* The generated SQL (PostgreSQL):
|
|
67
68
|
*
|
|
68
69
|
* ```sql
|
|
69
|
-
* select * from "person" where "
|
|
70
|
+
* select * from "person" where "first_name" = $1 and "age" > $2
|
|
70
71
|
* ```
|
|
71
72
|
*
|
|
72
73
|
* Operator can be any supported operator or if the typings don't support it
|
|
73
|
-
* you can always use
|
|
74
|
+
* you can always use:
|
|
74
75
|
*
|
|
75
76
|
* ```ts
|
|
76
77
|
* sql`your operator`
|
|
77
78
|
* ```
|
|
78
79
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* ```ts
|
|
82
|
-
* const persons = await db
|
|
83
|
-
* .selectFrom('person')
|
|
84
|
-
* .selectAll()
|
|
85
|
-
* .where('id', '>', 100)
|
|
86
|
-
* .execute()
|
|
87
|
-
* ```
|
|
88
|
-
*
|
|
89
|
-
* The generated SQL (PostgreSQL):
|
|
90
|
-
*
|
|
91
|
-
* ```sql
|
|
92
|
-
* select * from "person" where "id" > $1
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* `where` methods don't change the type of the query. You can add
|
|
96
|
-
* conditional statements easily by doing something like this:
|
|
80
|
+
* You can add expressions conditionally like this:
|
|
97
81
|
*
|
|
98
82
|
* ```ts
|
|
99
83
|
* let query = db
|
|
@@ -106,16 +90,16 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
106
90
|
* query = query.where('first_name', '=', firstName)
|
|
107
91
|
* }
|
|
108
92
|
*
|
|
93
|
+
* if (lastName) {
|
|
94
|
+
* query = query.where('last_name', '=', lastName)
|
|
95
|
+
* }
|
|
96
|
+
*
|
|
109
97
|
* const persons = await query.execute()
|
|
110
98
|
* ```
|
|
111
99
|
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* Both the first and third argument can also be subqueries.
|
|
116
|
-
* A subquery is defined by passing a function and calling
|
|
117
|
-
* the `selectFrom` method of the object passed into the
|
|
118
|
-
* function:
|
|
100
|
+
* Both the first and third argument can also be arbitrary expressions like
|
|
101
|
+
* subqueries. An expression can defined by passing a function and calling
|
|
102
|
+
* the methods of the {@link ExpressionBuilder} passed to the callback:
|
|
119
103
|
*
|
|
120
104
|
* ```ts
|
|
121
105
|
* const persons = await db
|
|
@@ -146,8 +130,7 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
146
130
|
* ```
|
|
147
131
|
*
|
|
148
132
|
* A `where in` query can be built by using the `in` operator and an array
|
|
149
|
-
* of values. The values in the array can also be
|
|
150
|
-
* {@link sql} expressions.
|
|
133
|
+
* of values. The values in the array can also be expressions:
|
|
151
134
|
*
|
|
152
135
|
* ```ts
|
|
153
136
|
* const persons = await db
|
|
@@ -163,40 +146,53 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
163
146
|
* select * from "person" where "id" in ($1, $2, $3)
|
|
164
147
|
* ```
|
|
165
148
|
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
149
|
+
* For complex `where` expressions you can pass in a single callback and
|
|
150
|
+
* use the {@link ExpressionBuilder} to build your expression:
|
|
168
151
|
*
|
|
169
152
|
* ```ts
|
|
170
|
-
* import { sql } from 'kysely'
|
|
171
|
-
*
|
|
172
153
|
* const persons = await db
|
|
173
154
|
* .selectFrom('person')
|
|
174
|
-
* .selectAll()
|
|
175
|
-
* .where(
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
155
|
+
* .selectAll('person')
|
|
156
|
+
* .where(({ cmpr, or, and, not, exists, selectFrom, val }) => and([
|
|
157
|
+
* or([
|
|
158
|
+
* cmpr('first_name', '=', firstName),
|
|
159
|
+
* cmpr('age', '<', maxAge)
|
|
160
|
+
* ]),
|
|
161
|
+
* not(exists(
|
|
162
|
+
* selectFrom('pet').select('pet.id').whereRef('pet.owner_id', '=', 'person.id')
|
|
163
|
+
* ))
|
|
164
|
+
* ]))
|
|
181
165
|
* ```
|
|
182
166
|
*
|
|
183
167
|
* The generated SQL (PostgreSQL):
|
|
184
168
|
*
|
|
185
169
|
* ```sql
|
|
186
|
-
* select
|
|
187
|
-
*
|
|
170
|
+
* select "person".*
|
|
171
|
+
* from "person"
|
|
172
|
+
* where (
|
|
173
|
+
* (
|
|
174
|
+
* "first_name" = $1
|
|
175
|
+
* or "age" < $2
|
|
176
|
+
* )
|
|
177
|
+
* and not exists (
|
|
178
|
+
* select "pet"."id" from "pet" where "pet"."owner_id" = "person"."id"
|
|
179
|
+
* )
|
|
180
|
+
* )
|
|
188
181
|
* ```
|
|
189
182
|
*
|
|
190
|
-
* If
|
|
191
|
-
*
|
|
183
|
+
* If everything else fails, you can always use the {@link sql} tag
|
|
184
|
+
* as any of the arguments, including the operator:
|
|
192
185
|
*
|
|
193
186
|
* ```ts
|
|
187
|
+
* import { sql } from 'kysely'
|
|
188
|
+
*
|
|
194
189
|
* const persons = await db
|
|
195
190
|
* .selectFrom('person')
|
|
196
191
|
* .selectAll()
|
|
197
|
-
* .where(
|
|
198
|
-
*
|
|
199
|
-
*
|
|
192
|
+
* .where(
|
|
193
|
+
* sql`coalesce(first_name, last_name)`,
|
|
194
|
+
* 'like',
|
|
195
|
+
* '%' + name + '%',
|
|
200
196
|
* )
|
|
201
197
|
* .execute()
|
|
202
198
|
* ```
|
|
@@ -204,7 +200,8 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
204
200
|
* The generated SQL (PostgreSQL):
|
|
205
201
|
*
|
|
206
202
|
* ```sql
|
|
207
|
-
* select * from "person"
|
|
203
|
+
* select * from "person"
|
|
204
|
+
* where coalesce(first_name, last_name) like $1
|
|
208
205
|
* ```
|
|
209
206
|
*
|
|
210
207
|
* In all examples above the columns were known at compile time
|
|
@@ -226,11 +223,11 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
226
223
|
* .selectFrom('person')
|
|
227
224
|
* .selectAll()
|
|
228
225
|
* .where(ref(columnFromUserInput), '=', 1)
|
|
229
|
-
* .
|
|
226
|
+
* .where(sql.id(columnFromUserInput), '=', 2)
|
|
230
227
|
* .execute()
|
|
231
228
|
* ```
|
|
232
229
|
*/
|
|
233
|
-
where(
|
|
230
|
+
where(factory: WhereExpressionFactory<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
234
231
|
where(expression: Expression<any>): OnConflictBuilder<DB, TB>;
|
|
235
232
|
/**
|
|
236
233
|
* Specify an index predicate for the index target.
|
|
@@ -239,108 +236,39 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
239
236
|
*/
|
|
240
237
|
whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
241
238
|
/**
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
* See {@link WhereInterface.orWhere} for more info.
|
|
239
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
245
240
|
*/
|
|
246
241
|
orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictBuilder<DB, TB>;
|
|
247
242
|
/**
|
|
248
|
-
*
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
* ### Examples
|
|
255
|
-
*
|
|
256
|
-
* ```ts
|
|
257
|
-
* const persons = await db
|
|
258
|
-
* .selectFrom('person')
|
|
259
|
-
* .selectAll()
|
|
260
|
-
* .where('id', '=', 1)
|
|
261
|
-
* .orWhere('id', '=', 2)
|
|
262
|
-
* .execute()
|
|
263
|
-
* ```
|
|
264
|
-
*
|
|
265
|
-
* The generated SQL (PostgreSQL):
|
|
266
|
-
*
|
|
267
|
-
* ```sql
|
|
268
|
-
* select * from "person" where "id" = 1 or "id" = 2
|
|
269
|
-
* ```
|
|
270
|
-
*
|
|
271
|
-
* Grouping with parentheses:
|
|
272
|
-
*
|
|
273
|
-
* ```ts
|
|
274
|
-
* const persons = await db
|
|
275
|
-
* .selectFrom('person')
|
|
276
|
-
* .selectAll()
|
|
277
|
-
* .where((qb) => qb
|
|
278
|
-
* .where('id', '=', 1)
|
|
279
|
-
* .orWhere('id', '=', 2)
|
|
280
|
-
* )
|
|
281
|
-
* .execute()
|
|
282
|
-
* ```
|
|
283
|
-
*
|
|
284
|
-
* The generated SQL (PostgreSQL):
|
|
285
|
-
*
|
|
286
|
-
* ```sql
|
|
287
|
-
* select * from "person" (where "id" = 1 or "id" = 2)
|
|
288
|
-
* ```
|
|
289
|
-
*
|
|
290
|
-
* Even the first `where` can be an `orWhere`. This is useful
|
|
291
|
-
* if you are looping through a set of conditions:
|
|
292
|
-
*
|
|
293
|
-
* ```ts
|
|
294
|
-
* const persons = await db
|
|
295
|
-
* .selectFrom('person')
|
|
296
|
-
* .selectAll()
|
|
297
|
-
* .where((qb) => qb
|
|
298
|
-
* .orWhere('id', '=', 1)
|
|
299
|
-
* .orWhere('id', '=', 2)
|
|
300
|
-
* )
|
|
301
|
-
* .execute()
|
|
302
|
-
* ```
|
|
303
|
-
*
|
|
304
|
-
* The generated SQL (PostgreSQL):
|
|
305
|
-
*
|
|
306
|
-
* ```sql
|
|
307
|
-
* select * from "person" (where "id" = 1 or "id" = 2)
|
|
308
|
-
* ```
|
|
243
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
244
|
+
*/
|
|
245
|
+
orWhere(factory: WhereExpressionFactory<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
246
|
+
/**
|
|
247
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
309
248
|
*/
|
|
310
|
-
orWhere(grouper: WhereGrouper<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
311
249
|
orWhere(expression: Expression<any>): OnConflictBuilder<DB, TB>;
|
|
312
250
|
/**
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
* See {@link WhereInterface.orWhereRef} for more info.
|
|
251
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
316
252
|
*/
|
|
317
253
|
orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
318
254
|
/**
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
* See {@link WhereInterface.whereExists} for more info.
|
|
255
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
322
256
|
*/
|
|
323
257
|
whereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
324
258
|
/**
|
|
325
|
-
*
|
|
326
|
-
*
|
|
327
|
-
* See {@link WhereInterface.whereNotExists} for more info.
|
|
259
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
328
260
|
*/
|
|
329
261
|
whereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
330
262
|
/**
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
* See {@link WhereInterface.orWhereExists} for more info.
|
|
263
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
334
264
|
*/
|
|
335
265
|
orWhereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
336
266
|
/**
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
* See {@link WhereInterface.orWhereNotExists} for more info.
|
|
267
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
340
268
|
*/
|
|
341
269
|
orWhereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
342
270
|
/**
|
|
343
|
-
* Clears all where
|
|
271
|
+
* Clears all where expressions from the query.
|
|
344
272
|
*
|
|
345
273
|
* ### Examples
|
|
346
274
|
*
|
|
@@ -405,8 +333,29 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
405
333
|
* on conflict ("pic")
|
|
406
334
|
* do update set "first_name" = $3
|
|
407
335
|
* ```
|
|
336
|
+
*
|
|
337
|
+
* In the next example we use the `ref` method to reference
|
|
338
|
+
* columns of the virtual table `excluded` in a type-safe way
|
|
339
|
+
* to create an upsert operation:
|
|
340
|
+
*
|
|
341
|
+
* ```ts
|
|
342
|
+
* db.insertInto('person')
|
|
343
|
+
* .values(person)
|
|
344
|
+
* .onConflict((oc) => oc
|
|
345
|
+
* .column('id')
|
|
346
|
+
* .doUpdateSet((eb) => ({
|
|
347
|
+
* first_name: eb.ref('excluded.first_name'),
|
|
348
|
+
* last_name: eb.ref('excluded.last_name')
|
|
349
|
+
* }))
|
|
350
|
+
* )
|
|
351
|
+
* ```
|
|
352
|
+
*/
|
|
353
|
+
doUpdateSet(update: UpdateExpression<OnConflictDatabase<DB, TB>, OnConflictTables<TB>, OnConflictTables<TB>>): OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>;
|
|
354
|
+
/**
|
|
355
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
356
|
+
* what the provided function returns.
|
|
408
357
|
*/
|
|
409
|
-
|
|
358
|
+
$call<T>(func: (qb: this) => T): T;
|
|
410
359
|
}
|
|
411
360
|
export interface OnConflictBuilderProps {
|
|
412
361
|
readonly onConflictNode: OnConflictNode;
|
|
@@ -430,53 +379,37 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
430
379
|
*/
|
|
431
380
|
where<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictUpdateBuilder<DB, TB>;
|
|
432
381
|
/**
|
|
433
|
-
* Adds a `where`
|
|
382
|
+
* Adds a `where` expression to the query.
|
|
434
383
|
*
|
|
435
|
-
*
|
|
384
|
+
* Calling this method multiple times will combine the expressions using `and`.
|
|
436
385
|
*
|
|
437
|
-
*
|
|
386
|
+
* Also see {@link whereRef}
|
|
438
387
|
*
|
|
439
|
-
*
|
|
388
|
+
* ### Examples
|
|
440
389
|
*
|
|
441
390
|
* ```ts
|
|
442
391
|
* const person = await db
|
|
443
392
|
* .selectFrom('person')
|
|
444
393
|
* .selectAll()
|
|
445
|
-
* .where('
|
|
394
|
+
* .where('first_name', '=', 'Jennifer')
|
|
395
|
+
* .where('age', '>', 40)
|
|
446
396
|
* .executeTakeFirst()
|
|
447
397
|
* ```
|
|
448
398
|
*
|
|
449
399
|
* The generated SQL (PostgreSQL):
|
|
450
400
|
*
|
|
451
401
|
* ```sql
|
|
452
|
-
* select * from "person" where "
|
|
402
|
+
* select * from "person" where "first_name" = $1 and "age" > $2
|
|
453
403
|
* ```
|
|
454
404
|
*
|
|
455
405
|
* Operator can be any supported operator or if the typings don't support it
|
|
456
|
-
* you can always use
|
|
406
|
+
* you can always use:
|
|
457
407
|
*
|
|
458
408
|
* ```ts
|
|
459
409
|
* sql`your operator`
|
|
460
410
|
* ```
|
|
461
411
|
*
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
* ```ts
|
|
465
|
-
* const persons = await db
|
|
466
|
-
* .selectFrom('person')
|
|
467
|
-
* .selectAll()
|
|
468
|
-
* .where('id', '>', 100)
|
|
469
|
-
* .execute()
|
|
470
|
-
* ```
|
|
471
|
-
*
|
|
472
|
-
* The generated SQL (PostgreSQL):
|
|
473
|
-
*
|
|
474
|
-
* ```sql
|
|
475
|
-
* select * from "person" where "id" > $1
|
|
476
|
-
* ```
|
|
477
|
-
*
|
|
478
|
-
* `where` methods don't change the type of the query. You can add
|
|
479
|
-
* conditional statements easily by doing something like this:
|
|
412
|
+
* You can add expressions conditionally like this:
|
|
480
413
|
*
|
|
481
414
|
* ```ts
|
|
482
415
|
* let query = db
|
|
@@ -489,16 +422,16 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
489
422
|
* query = query.where('first_name', '=', firstName)
|
|
490
423
|
* }
|
|
491
424
|
*
|
|
425
|
+
* if (lastName) {
|
|
426
|
+
* query = query.where('last_name', '=', lastName)
|
|
427
|
+
* }
|
|
428
|
+
*
|
|
492
429
|
* const persons = await query.execute()
|
|
493
430
|
* ```
|
|
494
431
|
*
|
|
495
|
-
*
|
|
496
|
-
*
|
|
497
|
-
*
|
|
498
|
-
* Both the first and third argument can also be subqueries.
|
|
499
|
-
* A subquery is defined by passing a function and calling
|
|
500
|
-
* the `selectFrom` method of the object passed into the
|
|
501
|
-
* function:
|
|
432
|
+
* Both the first and third argument can also be arbitrary expressions like
|
|
433
|
+
* subqueries. An expression can defined by passing a function and calling
|
|
434
|
+
* the methods of the {@link ExpressionBuilder} passed to the callback:
|
|
502
435
|
*
|
|
503
436
|
* ```ts
|
|
504
437
|
* const persons = await db
|
|
@@ -529,8 +462,7 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
529
462
|
* ```
|
|
530
463
|
*
|
|
531
464
|
* A `where in` query can be built by using the `in` operator and an array
|
|
532
|
-
* of values. The values in the array can also be
|
|
533
|
-
* {@link sql} expressions.
|
|
465
|
+
* of values. The values in the array can also be expressions:
|
|
534
466
|
*
|
|
535
467
|
* ```ts
|
|
536
468
|
* const persons = await db
|
|
@@ -546,40 +478,53 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
546
478
|
* select * from "person" where "id" in ($1, $2, $3)
|
|
547
479
|
* ```
|
|
548
480
|
*
|
|
549
|
-
*
|
|
550
|
-
*
|
|
481
|
+
* For complex `where` expressions you can pass in a single callback and
|
|
482
|
+
* use the {@link ExpressionBuilder} to build your expression:
|
|
551
483
|
*
|
|
552
484
|
* ```ts
|
|
553
|
-
* import { sql } from 'kysely'
|
|
554
|
-
*
|
|
555
485
|
* const persons = await db
|
|
556
486
|
* .selectFrom('person')
|
|
557
|
-
* .selectAll()
|
|
558
|
-
* .where(
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
*
|
|
562
|
-
*
|
|
563
|
-
*
|
|
487
|
+
* .selectAll('person')
|
|
488
|
+
* .where(({ cmpr, or, and, not, exists, selectFrom, val }) => and([
|
|
489
|
+
* or([
|
|
490
|
+
* cmpr('first_name', '=', firstName),
|
|
491
|
+
* cmpr('age', '<', maxAge)
|
|
492
|
+
* ]),
|
|
493
|
+
* not(exists(
|
|
494
|
+
* selectFrom('pet').select('pet.id').whereRef('pet.owner_id', '=', 'person.id')
|
|
495
|
+
* ))
|
|
496
|
+
* ]))
|
|
564
497
|
* ```
|
|
565
498
|
*
|
|
566
499
|
* The generated SQL (PostgreSQL):
|
|
567
500
|
*
|
|
568
501
|
* ```sql
|
|
569
|
-
* select
|
|
570
|
-
*
|
|
502
|
+
* select "person".*
|
|
503
|
+
* from "person"
|
|
504
|
+
* where (
|
|
505
|
+
* (
|
|
506
|
+
* "first_name" = $1
|
|
507
|
+
* or "age" < $2
|
|
508
|
+
* )
|
|
509
|
+
* and not exists (
|
|
510
|
+
* select "pet"."id" from "pet" where "pet"."owner_id" = "person"."id"
|
|
511
|
+
* )
|
|
512
|
+
* )
|
|
571
513
|
* ```
|
|
572
514
|
*
|
|
573
|
-
* If
|
|
574
|
-
*
|
|
515
|
+
* If everything else fails, you can always use the {@link sql} tag
|
|
516
|
+
* as any of the arguments, including the operator:
|
|
575
517
|
*
|
|
576
518
|
* ```ts
|
|
519
|
+
* import { sql } from 'kysely'
|
|
520
|
+
*
|
|
577
521
|
* const persons = await db
|
|
578
522
|
* .selectFrom('person')
|
|
579
523
|
* .selectAll()
|
|
580
|
-
* .where(
|
|
581
|
-
*
|
|
582
|
-
*
|
|
524
|
+
* .where(
|
|
525
|
+
* sql`coalesce(first_name, last_name)`,
|
|
526
|
+
* 'like',
|
|
527
|
+
* '%' + name + '%',
|
|
583
528
|
* )
|
|
584
529
|
* .execute()
|
|
585
530
|
* ```
|
|
@@ -587,7 +532,8 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
587
532
|
* The generated SQL (PostgreSQL):
|
|
588
533
|
*
|
|
589
534
|
* ```sql
|
|
590
|
-
* select * from "person"
|
|
535
|
+
* select * from "person"
|
|
536
|
+
* where coalesce(first_name, last_name) like $1
|
|
591
537
|
* ```
|
|
592
538
|
*
|
|
593
539
|
* In all examples above the columns were known at compile time
|
|
@@ -609,11 +555,11 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
609
555
|
* .selectFrom('person')
|
|
610
556
|
* .selectAll()
|
|
611
557
|
* .where(ref(columnFromUserInput), '=', 1)
|
|
612
|
-
* .
|
|
558
|
+
* .where(sql.id(columnFromUserInput), '=', 2)
|
|
613
559
|
* .execute()
|
|
614
560
|
* ```
|
|
615
561
|
*/
|
|
616
|
-
where(
|
|
562
|
+
where(factory: WhereExpressionFactory<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
617
563
|
where(expression: Expression<any>): OnConflictUpdateBuilder<DB, TB>;
|
|
618
564
|
/**
|
|
619
565
|
* Specify a where condition for the update operation.
|
|
@@ -622,108 +568,39 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
622
568
|
*/
|
|
623
569
|
whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
624
570
|
/**
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
* See {@link WhereInterface.orWhere} for more info.
|
|
571
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
628
572
|
*/
|
|
629
573
|
orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictUpdateBuilder<DB, TB>;
|
|
630
574
|
/**
|
|
631
|
-
*
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
*
|
|
636
|
-
*
|
|
637
|
-
* ### Examples
|
|
638
|
-
*
|
|
639
|
-
* ```ts
|
|
640
|
-
* const persons = await db
|
|
641
|
-
* .selectFrom('person')
|
|
642
|
-
* .selectAll()
|
|
643
|
-
* .where('id', '=', 1)
|
|
644
|
-
* .orWhere('id', '=', 2)
|
|
645
|
-
* .execute()
|
|
646
|
-
* ```
|
|
647
|
-
*
|
|
648
|
-
* The generated SQL (PostgreSQL):
|
|
649
|
-
*
|
|
650
|
-
* ```sql
|
|
651
|
-
* select * from "person" where "id" = 1 or "id" = 2
|
|
652
|
-
* ```
|
|
653
|
-
*
|
|
654
|
-
* Grouping with parentheses:
|
|
655
|
-
*
|
|
656
|
-
* ```ts
|
|
657
|
-
* const persons = await db
|
|
658
|
-
* .selectFrom('person')
|
|
659
|
-
* .selectAll()
|
|
660
|
-
* .where((qb) => qb
|
|
661
|
-
* .where('id', '=', 1)
|
|
662
|
-
* .orWhere('id', '=', 2)
|
|
663
|
-
* )
|
|
664
|
-
* .execute()
|
|
665
|
-
* ```
|
|
666
|
-
*
|
|
667
|
-
* The generated SQL (PostgreSQL):
|
|
668
|
-
*
|
|
669
|
-
* ```sql
|
|
670
|
-
* select * from "person" (where "id" = 1 or "id" = 2)
|
|
671
|
-
* ```
|
|
672
|
-
*
|
|
673
|
-
* Even the first `where` can be an `orWhere`. This is useful
|
|
674
|
-
* if you are looping through a set of conditions:
|
|
675
|
-
*
|
|
676
|
-
* ```ts
|
|
677
|
-
* const persons = await db
|
|
678
|
-
* .selectFrom('person')
|
|
679
|
-
* .selectAll()
|
|
680
|
-
* .where((qb) => qb
|
|
681
|
-
* .orWhere('id', '=', 1)
|
|
682
|
-
* .orWhere('id', '=', 2)
|
|
683
|
-
* )
|
|
684
|
-
* .execute()
|
|
685
|
-
* ```
|
|
686
|
-
*
|
|
687
|
-
* The generated SQL (PostgreSQL):
|
|
688
|
-
*
|
|
689
|
-
* ```sql
|
|
690
|
-
* select * from "person" (where "id" = 1 or "id" = 2)
|
|
691
|
-
* ```
|
|
575
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
576
|
+
*/
|
|
577
|
+
orWhere(factory: WhereExpressionFactory<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
578
|
+
/**
|
|
579
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
692
580
|
*/
|
|
693
|
-
orWhere(grouper: WhereGrouper<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
694
581
|
orWhere(expression: Expression<any>): OnConflictUpdateBuilder<DB, TB>;
|
|
695
582
|
/**
|
|
696
|
-
*
|
|
697
|
-
*
|
|
698
|
-
* See {@link WhereInterface.orWhereRef} for more info.
|
|
583
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
699
584
|
*/
|
|
700
585
|
orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
701
586
|
/**
|
|
702
|
-
*
|
|
703
|
-
*
|
|
704
|
-
* See {@link WhereInterface.whereExists} for more info.
|
|
587
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
705
588
|
*/
|
|
706
589
|
whereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
707
590
|
/**
|
|
708
|
-
*
|
|
709
|
-
*
|
|
710
|
-
* See {@link WhereInterface.whereNotExists} for more info.
|
|
591
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
711
592
|
*/
|
|
712
593
|
whereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
713
594
|
/**
|
|
714
|
-
*
|
|
715
|
-
*
|
|
716
|
-
* See {@link WhereInterface.orWhereExists} for more info.
|
|
595
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
717
596
|
*/
|
|
718
597
|
orWhereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
719
598
|
/**
|
|
720
|
-
*
|
|
721
|
-
*
|
|
722
|
-
* See {@link WhereInterface.orWhereNotExists} for more info.
|
|
599
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
723
600
|
*/
|
|
724
601
|
orWhereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
725
602
|
/**
|
|
726
|
-
* Clears all where
|
|
603
|
+
* Clears all where expressions from the query.
|
|
727
604
|
*
|
|
728
605
|
* ### Examples
|
|
729
606
|
*
|
|
@@ -741,5 +618,10 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
741
618
|
* ```
|
|
742
619
|
*/
|
|
743
620
|
clearWhere(): OnConflictUpdateBuilder<DB, TB>;
|
|
621
|
+
/**
|
|
622
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
623
|
+
* what the provided function returns.
|
|
624
|
+
*/
|
|
625
|
+
$call<T>(func: (qb: this) => T): T;
|
|
744
626
|
toOperationNode(): OnConflictNode;
|
|
745
627
|
}
|