kysely 0.25.0 → 0.26.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 +10 -563
- package/dist/cjs/dialect/database-introspector.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +2 -2
- package/dist/cjs/dialect/mysql/mysql-driver.js +5 -1
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +1 -4
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -1
- package/dist/cjs/driver/database-connection.d.ts +6 -0
- package/dist/cjs/driver/driver.d.ts +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +207 -108
- package/dist/cjs/expression/expression-builder.js +28 -7
- package/dist/cjs/expression/expression-wrapper.d.ts +296 -5
- package/dist/cjs/expression/expression-wrapper.js +70 -2
- package/dist/cjs/helpers/postgres.d.ts +30 -18
- package/dist/cjs/helpers/postgres.js +30 -18
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/kysely.d.ts +23 -13
- package/dist/cjs/kysely.js +13 -9
- package/dist/cjs/migration/file-migration-provider.js +2 -2
- package/dist/cjs/operation-node/alter-column-node.d.ts +2 -3
- package/dist/cjs/operation-node/alter-column-node.js +2 -7
- package/dist/cjs/operation-node/alter-table-node.d.ts +2 -2
- package/dist/cjs/operation-node/column-definition-node.d.ts +1 -1
- package/dist/cjs/operation-node/constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-index-node.d.ts +2 -2
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-table-node.d.ts +2 -2
- package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-view-node.d.ts +1 -1
- package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
- package/dist/cjs/operation-node/drop-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-index-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-table-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-view-node.d.ts +1 -1
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/generated-node.d.ts +1 -1
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/join-node.d.ts +1 -2
- package/dist/cjs/operation-node/join-node.js +0 -8
- package/dist/cjs/operation-node/json-operator-chain-node.d.ts +16 -0
- package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
- package/dist/cjs/operation-node/json-path-leg-node.d.ts +14 -0
- package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
- package/dist/cjs/operation-node/json-path-node.d.ts +16 -0
- package/dist/cjs/operation-node/json-path-node.js +25 -0
- package/dist/cjs/operation-node/json-reference-node.d.ts +17 -0
- package/dist/cjs/operation-node/json-reference-node.js +25 -0
- package/dist/cjs/operation-node/on-conflict-node.d.ts +1 -1
- package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +8 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +33 -1
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +8 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +4 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +13 -9
- package/dist/cjs/operation-node/operator-node.js +12 -2
- package/dist/cjs/operation-node/query-node.d.ts +9 -10
- package/dist/cjs/operation-node/query-node.js +0 -8
- package/dist/cjs/operation-node/reference-node.d.ts +2 -2
- package/dist/cjs/operation-node/reference-node.js +1 -1
- package/dist/cjs/operation-node/references-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-modifier-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/select-query-node.js +0 -8
- package/dist/cjs/operation-node/selection-node.d.ts +1 -1
- package/dist/cjs/operation-node/set-operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +1 -1
- package/dist/cjs/operation-node/update-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/values-node.d.ts +1 -1
- package/dist/cjs/operation-node/with-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.d.ts +9 -12
- package/dist/cjs/parser/binary-operation-parser.js +40 -119
- package/dist/cjs/parser/coalesce-parser.d.ts +1 -1
- package/dist/cjs/parser/data-type-parser.d.ts +1 -1
- package/dist/cjs/parser/default-value-parser.d.ts +1 -1
- package/dist/cjs/parser/expression-parser.d.ts +5 -5
- package/dist/cjs/parser/group-by-parser.d.ts +2 -2
- package/dist/cjs/parser/insert-values-parser.d.ts +4 -4
- package/dist/cjs/parser/join-parser.d.ts +4 -4
- package/dist/cjs/parser/order-by-parser.d.ts +3 -3
- package/dist/cjs/parser/partition-by-parser.d.ts +2 -2
- package/dist/cjs/parser/reference-parser.d.ts +13 -9
- package/dist/cjs/parser/reference-parser.js +28 -16
- package/dist/cjs/parser/returning-parser.d.ts +2 -2
- package/dist/cjs/parser/select-parser.d.ts +10 -10
- package/dist/cjs/parser/table-parser.d.ts +12 -12
- package/dist/cjs/parser/unary-operation-parser.d.ts +1 -1
- package/dist/cjs/parser/update-set-parser.d.ts +3 -3
- package/dist/cjs/parser/update-set-parser.js +1 -3
- package/dist/cjs/parser/value-parser.d.ts +4 -4
- package/dist/cjs/parser/with-parser.d.ts +12 -8
- package/dist/cjs/plugin/camel-case/camel-case.d.ts +1 -1
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +32 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +22 -6
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +5 -38
- package/dist/cjs/query-builder/aggregate-function-builder.js +4 -59
- package/dist/cjs/query-builder/case-builder.d.ts +11 -11
- package/dist/cjs/query-builder/case-builder.js +2 -2
- package/dist/cjs/query-builder/delete-query-builder.d.ts +110 -62
- package/dist/cjs/query-builder/delete-query-builder.js +1 -62
- package/dist/cjs/query-builder/delete-result.d.ts +1 -2
- package/dist/cjs/query-builder/delete-result.js +2 -8
- package/dist/cjs/query-builder/function-module.d.ts +44 -66
- package/dist/cjs/query-builder/having-interface.d.ts +2 -35
- package/dist/cjs/query-builder/insert-query-builder.d.ts +59 -48
- package/dist/cjs/query-builder/insert-query-builder.js +17 -34
- package/dist/cjs/query-builder/insert-result.d.ts +3 -4
- package/dist/cjs/query-builder/insert-result.js +5 -14
- package/dist/cjs/query-builder/join-builder.d.ts +2 -35
- package/dist/cjs/query-builder/join-builder.js +1 -56
- package/dist/cjs/query-builder/json-path-builder.d.ts +212 -0
- package/dist/cjs/query-builder/json-path-builder.js +191 -0
- package/dist/cjs/query-builder/no-result-error.d.ts +1 -1
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +194 -77
- package/dist/cjs/query-builder/on-conflict-builder.js +2 -111
- package/dist/cjs/query-builder/over-builder.d.ts +2 -2
- package/dist/cjs/query-builder/over-builder.js +1 -1
- package/dist/cjs/query-builder/returning-interface.d.ts +1 -1
- package/dist/cjs/query-builder/select-query-builder.d.ts +169 -141
- package/dist/cjs/query-builder/select-query-builder.js +27 -136
- package/dist/cjs/query-builder/update-query-builder.d.ts +147 -66
- package/dist/cjs/query-builder/update-query-builder.js +3 -63
- package/dist/cjs/query-builder/update-result.d.ts +3 -3
- package/dist/cjs/query-builder/update-result.js +5 -9
- package/dist/cjs/query-builder/where-interface.d.ts +98 -40
- package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
- package/dist/cjs/query-compiler/compiled-query.js +2 -2
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +8 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +37 -2
- package/dist/cjs/query-compiler/query-compiler.d.ts +1 -1
- package/dist/cjs/query-creator.d.ts +4 -2
- package/dist/cjs/schema/alter-column-builder.d.ts +11 -5
- package/dist/cjs/schema/alter-column-builder.js +19 -21
- package/dist/cjs/schema/alter-table-builder.d.ts +0 -4
- package/dist/cjs/schema/alter-table-builder.js +2 -9
- package/dist/cjs/schema/column-definition-builder.d.ts +1 -1
- package/dist/cjs/schema/column-definition-builder.js +1 -2
- package/dist/cjs/schema/create-index-builder.js +1 -1
- package/dist/cjs/schema/create-table-builder.d.ts +2 -6
- package/dist/cjs/schema/create-table-builder.js +0 -6
- package/dist/cjs/schema/schema.d.ts +1 -2
- package/dist/cjs/schema/schema.js +1 -2
- package/dist/cjs/util/column-type.d.ts +22 -18
- package/dist/cjs/util/explainable.d.ts +1 -1
- package/dist/cjs/util/infer-result.d.ts +2 -2
- package/dist/cjs/util/log.d.ts +4 -4
- package/dist/cjs/util/require-all-props.d.ts +1 -1
- package/dist/cjs/util/type-utils.d.ts +19 -19
- package/dist/esm/dialect/database-introspector.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +2 -2
- package/dist/esm/dialect/mysql/mysql-driver.js +5 -1
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +1 -4
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -1
- package/dist/esm/driver/database-connection.d.ts +6 -0
- package/dist/esm/driver/driver.d.ts +1 -1
- package/dist/esm/expression/expression-builder.d.ts +207 -108
- package/dist/esm/expression/expression-builder.js +30 -9
- package/dist/esm/expression/expression-wrapper.d.ts +296 -5
- package/dist/esm/expression/expression-wrapper.js +67 -1
- package/dist/esm/helpers/postgres.d.ts +30 -18
- package/dist/esm/helpers/postgres.js +30 -18
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/kysely.d.ts +23 -13
- package/dist/esm/kysely.js +13 -9
- package/dist/esm/operation-node/alter-column-node.d.ts +2 -3
- package/dist/esm/operation-node/alter-column-node.js +2 -7
- package/dist/esm/operation-node/alter-table-node.d.ts +2 -2
- package/dist/esm/operation-node/column-definition-node.d.ts +1 -1
- package/dist/esm/operation-node/constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/create-index-node.d.ts +2 -2
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/create-table-node.d.ts +2 -2
- package/dist/esm/operation-node/create-type-node.d.ts +1 -1
- package/dist/esm/operation-node/create-view-node.d.ts +1 -1
- package/dist/esm/operation-node/data-type-node.d.ts +2 -2
- package/dist/esm/operation-node/drop-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-index-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-table-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-view-node.d.ts +1 -1
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/generated-node.d.ts +1 -1
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -1
- package/dist/esm/operation-node/join-node.d.ts +1 -2
- package/dist/esm/operation-node/join-node.js +0 -8
- package/dist/esm/operation-node/json-operator-chain-node.d.ts +16 -0
- package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
- package/dist/esm/operation-node/json-path-leg-node.d.ts +14 -0
- package/dist/esm/operation-node/json-path-leg-node.js +17 -0
- package/dist/esm/operation-node/json-path-node.d.ts +16 -0
- package/dist/esm/operation-node/json-path-node.js +23 -0
- package/dist/esm/operation-node/json-reference-node.d.ts +17 -0
- package/dist/esm/operation-node/json-reference-node.js +23 -0
- package/dist/esm/operation-node/on-conflict-node.d.ts +1 -1
- package/dist/esm/operation-node/on-duplicate-key-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +8 -0
- package/dist/esm/operation-node/operation-node-transformer.js +33 -1
- package/dist/esm/operation-node/operation-node-visitor.d.ts +8 -0
- package/dist/esm/operation-node/operation-node-visitor.js +4 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +13 -9
- package/dist/esm/operation-node/operator-node.js +10 -1
- package/dist/esm/operation-node/query-node.d.ts +9 -10
- package/dist/esm/operation-node/query-node.js +0 -8
- package/dist/esm/operation-node/reference-node.d.ts +2 -2
- package/dist/esm/operation-node/reference-node.js +1 -1
- package/dist/esm/operation-node/references-node.d.ts +1 -1
- package/dist/esm/operation-node/select-modifier-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +0 -1
- package/dist/esm/operation-node/select-query-node.js +0 -8
- package/dist/esm/operation-node/selection-node.d.ts +1 -1
- package/dist/esm/operation-node/set-operation-node.d.ts +1 -1
- package/dist/esm/operation-node/simple-reference-expression-node.d.ts +1 -1
- package/dist/esm/operation-node/update-query-node.d.ts +1 -1
- package/dist/esm/operation-node/values-node.d.ts +1 -1
- package/dist/esm/operation-node/with-node.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.d.ts +9 -12
- package/dist/esm/parser/binary-operation-parser.js +38 -114
- package/dist/esm/parser/coalesce-parser.d.ts +1 -1
- package/dist/esm/parser/data-type-parser.d.ts +1 -1
- package/dist/esm/parser/default-value-parser.d.ts +1 -1
- package/dist/esm/parser/expression-parser.d.ts +5 -5
- package/dist/esm/parser/group-by-parser.d.ts +2 -2
- package/dist/esm/parser/insert-values-parser.d.ts +4 -4
- package/dist/esm/parser/join-parser.d.ts +4 -4
- package/dist/esm/parser/order-by-parser.d.ts +3 -3
- package/dist/esm/parser/partition-by-parser.d.ts +2 -2
- package/dist/esm/parser/reference-parser.d.ts +13 -9
- package/dist/esm/parser/reference-parser.js +26 -15
- package/dist/esm/parser/returning-parser.d.ts +2 -2
- package/dist/esm/parser/select-parser.d.ts +10 -10
- package/dist/esm/parser/table-parser.d.ts +12 -12
- package/dist/esm/parser/unary-operation-parser.d.ts +1 -1
- package/dist/esm/parser/update-set-parser.d.ts +3 -3
- package/dist/esm/parser/update-set-parser.js +2 -4
- package/dist/esm/parser/value-parser.d.ts +4 -4
- package/dist/esm/parser/with-parser.d.ts +12 -8
- package/dist/esm/plugin/camel-case/camel-case.d.ts +1 -1
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +29 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +22 -6
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +5 -38
- package/dist/esm/query-builder/aggregate-function-builder.js +5 -60
- package/dist/esm/query-builder/case-builder.d.ts +11 -11
- package/dist/esm/query-builder/case-builder.js +3 -3
- package/dist/esm/query-builder/delete-query-builder.d.ts +110 -62
- package/dist/esm/query-builder/delete-query-builder.js +2 -63
- package/dist/esm/query-builder/delete-result.d.ts +1 -2
- package/dist/esm/query-builder/delete-result.js +2 -8
- package/dist/esm/query-builder/function-module.d.ts +44 -66
- package/dist/esm/query-builder/having-interface.d.ts +2 -35
- package/dist/esm/query-builder/insert-query-builder.d.ts +59 -48
- package/dist/esm/query-builder/insert-query-builder.js +17 -34
- package/dist/esm/query-builder/insert-result.d.ts +3 -4
- package/dist/esm/query-builder/insert-result.js +5 -14
- package/dist/esm/query-builder/join-builder.d.ts +2 -35
- package/dist/esm/query-builder/join-builder.js +2 -57
- package/dist/esm/query-builder/json-path-builder.d.ts +212 -0
- package/dist/esm/query-builder/json-path-builder.js +186 -0
- package/dist/esm/query-builder/no-result-error.d.ts +1 -1
- package/dist/esm/query-builder/on-conflict-builder.d.ts +194 -77
- package/dist/esm/query-builder/on-conflict-builder.js +3 -112
- package/dist/esm/query-builder/over-builder.d.ts +2 -2
- package/dist/esm/query-builder/over-builder.js +1 -1
- package/dist/esm/query-builder/returning-interface.d.ts +1 -1
- package/dist/esm/query-builder/select-query-builder.d.ts +169 -141
- package/dist/esm/query-builder/select-query-builder.js +28 -137
- package/dist/esm/query-builder/update-query-builder.d.ts +147 -66
- package/dist/esm/query-builder/update-query-builder.js +4 -64
- package/dist/esm/query-builder/update-result.d.ts +3 -3
- package/dist/esm/query-builder/update-result.js +5 -9
- package/dist/esm/query-builder/where-interface.d.ts +98 -40
- package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
- package/dist/esm/query-compiler/compiled-query.js +2 -2
- package/dist/esm/query-compiler/default-query-compiler.d.ts +8 -0
- package/dist/esm/query-compiler/default-query-compiler.js +37 -2
- package/dist/esm/query-compiler/query-compiler.d.ts +1 -1
- package/dist/esm/query-creator.d.ts +4 -2
- package/dist/esm/schema/alter-column-builder.d.ts +11 -5
- package/dist/esm/schema/alter-column-builder.js +19 -21
- package/dist/esm/schema/alter-table-builder.d.ts +0 -4
- package/dist/esm/schema/alter-table-builder.js +2 -9
- package/dist/esm/schema/column-definition-builder.d.ts +1 -1
- package/dist/esm/schema/column-definition-builder.js +1 -2
- package/dist/esm/schema/create-index-builder.js +2 -2
- package/dist/esm/schema/create-table-builder.d.ts +2 -6
- package/dist/esm/schema/create-table-builder.js +0 -6
- package/dist/esm/schema/schema.d.ts +1 -2
- package/dist/esm/schema/schema.js +1 -2
- package/dist/esm/util/column-type.d.ts +22 -18
- package/dist/esm/util/explainable.d.ts +1 -1
- package/dist/esm/util/infer-result.d.ts +2 -2
- package/dist/esm/util/log.d.ts +4 -4
- package/dist/esm/util/require-all-props.d.ts +1 -1
- package/dist/esm/util/type-utils.d.ts +19 -19
- package/package.json +25 -23
- package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +0 -62
- package/dist/cjs/query-builder/deprecated-having-expression-builder.js +0 -2
- package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +0 -62
- package/dist/cjs/query-builder/deprecated-on-expression-builder.js +0 -2
- package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +0 -62
- package/dist/cjs/query-builder/deprecated-where-expression-builder.js +0 -2
- package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +0 -62
- package/dist/esm/query-builder/deprecated-having-expression-builder.js +0 -2
- package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +0 -62
- package/dist/esm/query-builder/deprecated-on-expression-builder.js +0 -2
- package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +0 -62
- package/dist/esm/query-builder/deprecated-where-expression-builder.js +0 -2
|
@@ -2,7 +2,6 @@ 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
4
|
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
5
|
-
import { ExpressionOrFactory } from '../parser/expression-parser.js';
|
|
6
5
|
import { ReferenceExpression } from '../parser/reference-parser.js';
|
|
7
6
|
import { UpdateExpression } from '../parser/update-set-parser.js';
|
|
8
7
|
import { AnyColumn } from '../util/type-utils.js';
|
|
@@ -55,6 +54,10 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
55
54
|
*
|
|
56
55
|
* ### Examples
|
|
57
56
|
*
|
|
57
|
+
* <!-- siteExample("where", "Simple where clause", 10) -->
|
|
58
|
+
*
|
|
59
|
+
* `where` method calls are combined with `AND`:
|
|
60
|
+
*
|
|
58
61
|
* ```ts
|
|
59
62
|
* const person = await db
|
|
60
63
|
* .selectFrom('person')
|
|
@@ -77,9 +80,71 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
77
80
|
* sql`your operator`
|
|
78
81
|
* ```
|
|
79
82
|
*
|
|
83
|
+
* <!-- siteExample("where", "Where in", 20) -->
|
|
84
|
+
*
|
|
85
|
+
* Find multiple items using a list of identifiers:
|
|
86
|
+
*
|
|
87
|
+
* ```ts
|
|
88
|
+
* const persons = await db
|
|
89
|
+
* .selectFrom('person')
|
|
90
|
+
* .selectAll()
|
|
91
|
+
* .where('id', 'in', ['1', '2', '3'])
|
|
92
|
+
* .execute()
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* The generated SQL (PostgreSQL):
|
|
96
|
+
*
|
|
97
|
+
* ```sql
|
|
98
|
+
* select * from "person" where "id" in ($1, $2, $3)
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* <!-- siteExample("where", "OR where", 30) -->
|
|
102
|
+
*
|
|
103
|
+
* To combine conditions using `OR`, you can use the expression builder.
|
|
104
|
+
* There are two ways to create `OR` expressions. Both are shown in this
|
|
105
|
+
* example:
|
|
106
|
+
*
|
|
107
|
+
* ```ts
|
|
108
|
+
* const persons = await db
|
|
109
|
+
* .selectFrom('person')
|
|
110
|
+
* .selectAll()
|
|
111
|
+
* // 1. Using the `or` method on the expression builder:
|
|
112
|
+
* .where((eb) => eb.or([
|
|
113
|
+
* eb('first_name', '=', 'Jennifer'),
|
|
114
|
+
* eb('first_name', '=', 'Sylvester')
|
|
115
|
+
* ]))
|
|
116
|
+
* // 2. Chaining expressions using the `or` method on the
|
|
117
|
+
* // created expressions:
|
|
118
|
+
* .where((eb) =>
|
|
119
|
+
* eb('last_name', '=', 'Aniston').or('last_name', '=', 'Stallone')
|
|
120
|
+
* )
|
|
121
|
+
* .execute()
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* The generated SQL (PostgreSQL):
|
|
125
|
+
*
|
|
126
|
+
* ```sql
|
|
127
|
+
* select *
|
|
128
|
+
* from "person"
|
|
129
|
+
* where (
|
|
130
|
+
* ("first_name" = $1 or "first_name" = $2)
|
|
131
|
+
* and
|
|
132
|
+
* ("last_name" = $3 or "last_name" = $4)
|
|
133
|
+
* )
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* <!-- siteExample("where", "Conditional where calls", 40) -->
|
|
137
|
+
*
|
|
80
138
|
* You can add expressions conditionally like this:
|
|
81
139
|
*
|
|
82
140
|
* ```ts
|
|
141
|
+
* import { Expression, SqlBool } from 'kysely'
|
|
142
|
+
*
|
|
143
|
+
* const firstName: string | undefined = 'Jennifer'
|
|
144
|
+
* const lastName: string | undefined = 'Aniston'
|
|
145
|
+
* const under18 = true
|
|
146
|
+
* const over60 = true
|
|
147
|
+
*
|
|
83
148
|
* let query = db
|
|
84
149
|
* .selectFrom('person')
|
|
85
150
|
* .selectAll()
|
|
@@ -94,6 +159,23 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
94
159
|
* query = query.where('last_name', '=', lastName)
|
|
95
160
|
* }
|
|
96
161
|
*
|
|
162
|
+
* if (under18 || over60) {
|
|
163
|
+
* // Conditional OR expressions can be added like this.
|
|
164
|
+
* query = query.where((eb) => {
|
|
165
|
+
* const ors: Expression<SqlBool>[] = []
|
|
166
|
+
*
|
|
167
|
+
* if (under18) {
|
|
168
|
+
* ors.push(eb('age', '<', 18))
|
|
169
|
+
* }
|
|
170
|
+
*
|
|
171
|
+
* if (over60) {
|
|
172
|
+
* ors.push(eb('age', '>', 60))
|
|
173
|
+
* }
|
|
174
|
+
*
|
|
175
|
+
* return eb.or(ors)
|
|
176
|
+
* })
|
|
177
|
+
* }
|
|
178
|
+
*
|
|
97
179
|
* const persons = await query.execute()
|
|
98
180
|
* ```
|
|
99
181
|
*
|
|
@@ -146,22 +228,30 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
146
228
|
* select * from "person" where "id" in ($1, $2, $3)
|
|
147
229
|
* ```
|
|
148
230
|
*
|
|
231
|
+
* <!-- siteExample("where", "Complex where clause", 50) -->
|
|
232
|
+
*
|
|
149
233
|
* For complex `where` expressions you can pass in a single callback and
|
|
150
|
-
* use the
|
|
234
|
+
* use the `ExpressionBuilder` to build your expression:
|
|
151
235
|
*
|
|
152
236
|
* ```ts
|
|
237
|
+
* const firstName = 'Jennifer'
|
|
238
|
+
* const maxAge = 60
|
|
239
|
+
*
|
|
153
240
|
* const persons = await db
|
|
154
241
|
* .selectFrom('person')
|
|
155
242
|
* .selectAll('person')
|
|
156
|
-
* .where(({
|
|
243
|
+
* .where(({ eb, or, and, not, exists, selectFrom }) => and([
|
|
157
244
|
* or([
|
|
158
|
-
*
|
|
159
|
-
*
|
|
245
|
+
* eb('first_name', '=', firstName),
|
|
246
|
+
* eb('age', '<', maxAge)
|
|
160
247
|
* ]),
|
|
161
248
|
* not(exists(
|
|
162
|
-
* selectFrom('pet')
|
|
249
|
+
* selectFrom('pet')
|
|
250
|
+
* .select('pet.id')
|
|
251
|
+
* .whereRef('pet.owner_id', '=', 'person.id')
|
|
163
252
|
* ))
|
|
164
253
|
* ]))
|
|
254
|
+
* .execute()
|
|
165
255
|
* ```
|
|
166
256
|
*
|
|
167
257
|
* The generated SQL (PostgreSQL):
|
|
@@ -235,38 +325,6 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
235
325
|
* See {@link WhereInterface.whereRef} for more info.
|
|
236
326
|
*/
|
|
237
327
|
whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
238
|
-
/**
|
|
239
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
240
|
-
*/
|
|
241
|
-
orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictBuilder<DB, TB>;
|
|
242
|
-
/**
|
|
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
|
|
248
|
-
*/
|
|
249
|
-
orWhere(expression: Expression<any>): OnConflictBuilder<DB, TB>;
|
|
250
|
-
/**
|
|
251
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
252
|
-
*/
|
|
253
|
-
orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictBuilder<DB, TB>;
|
|
254
|
-
/**
|
|
255
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
256
|
-
*/
|
|
257
|
-
whereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
258
|
-
/**
|
|
259
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
260
|
-
*/
|
|
261
|
-
whereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
262
|
-
/**
|
|
263
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
264
|
-
*/
|
|
265
|
-
orWhereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
266
|
-
/**
|
|
267
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
268
|
-
*/
|
|
269
|
-
orWhereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
|
|
270
328
|
/**
|
|
271
329
|
* Clears all where expressions from the query.
|
|
272
330
|
*
|
|
@@ -360,10 +418,10 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
|
|
|
360
418
|
export interface OnConflictBuilderProps {
|
|
361
419
|
readonly onConflictNode: OnConflictNode;
|
|
362
420
|
}
|
|
363
|
-
export
|
|
421
|
+
export type OnConflictDatabase<DB, TB extends keyof DB> = {
|
|
364
422
|
[K in keyof DB | 'excluded']: K extends keyof DB ? DB[K] : DB[TB];
|
|
365
423
|
};
|
|
366
|
-
export
|
|
424
|
+
export type OnConflictTables<TB> = TB | 'excluded';
|
|
367
425
|
export declare class OnConflictDoNothingBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
|
|
368
426
|
#private;
|
|
369
427
|
constructor(props: OnConflictBuilderProps);
|
|
@@ -387,6 +445,10 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
387
445
|
*
|
|
388
446
|
* ### Examples
|
|
389
447
|
*
|
|
448
|
+
* <!-- siteExample("where", "Simple where clause", 10) -->
|
|
449
|
+
*
|
|
450
|
+
* `where` method calls are combined with `AND`:
|
|
451
|
+
*
|
|
390
452
|
* ```ts
|
|
391
453
|
* const person = await db
|
|
392
454
|
* .selectFrom('person')
|
|
@@ -409,9 +471,71 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
409
471
|
* sql`your operator`
|
|
410
472
|
* ```
|
|
411
473
|
*
|
|
474
|
+
* <!-- siteExample("where", "Where in", 20) -->
|
|
475
|
+
*
|
|
476
|
+
* Find multiple items using a list of identifiers:
|
|
477
|
+
*
|
|
478
|
+
* ```ts
|
|
479
|
+
* const persons = await db
|
|
480
|
+
* .selectFrom('person')
|
|
481
|
+
* .selectAll()
|
|
482
|
+
* .where('id', 'in', ['1', '2', '3'])
|
|
483
|
+
* .execute()
|
|
484
|
+
* ```
|
|
485
|
+
*
|
|
486
|
+
* The generated SQL (PostgreSQL):
|
|
487
|
+
*
|
|
488
|
+
* ```sql
|
|
489
|
+
* select * from "person" where "id" in ($1, $2, $3)
|
|
490
|
+
* ```
|
|
491
|
+
*
|
|
492
|
+
* <!-- siteExample("where", "OR where", 30) -->
|
|
493
|
+
*
|
|
494
|
+
* To combine conditions using `OR`, you can use the expression builder.
|
|
495
|
+
* There are two ways to create `OR` expressions. Both are shown in this
|
|
496
|
+
* example:
|
|
497
|
+
*
|
|
498
|
+
* ```ts
|
|
499
|
+
* const persons = await db
|
|
500
|
+
* .selectFrom('person')
|
|
501
|
+
* .selectAll()
|
|
502
|
+
* // 1. Using the `or` method on the expression builder:
|
|
503
|
+
* .where((eb) => eb.or([
|
|
504
|
+
* eb('first_name', '=', 'Jennifer'),
|
|
505
|
+
* eb('first_name', '=', 'Sylvester')
|
|
506
|
+
* ]))
|
|
507
|
+
* // 2. Chaining expressions using the `or` method on the
|
|
508
|
+
* // created expressions:
|
|
509
|
+
* .where((eb) =>
|
|
510
|
+
* eb('last_name', '=', 'Aniston').or('last_name', '=', 'Stallone')
|
|
511
|
+
* )
|
|
512
|
+
* .execute()
|
|
513
|
+
* ```
|
|
514
|
+
*
|
|
515
|
+
* The generated SQL (PostgreSQL):
|
|
516
|
+
*
|
|
517
|
+
* ```sql
|
|
518
|
+
* select *
|
|
519
|
+
* from "person"
|
|
520
|
+
* where (
|
|
521
|
+
* ("first_name" = $1 or "first_name" = $2)
|
|
522
|
+
* and
|
|
523
|
+
* ("last_name" = $3 or "last_name" = $4)
|
|
524
|
+
* )
|
|
525
|
+
* ```
|
|
526
|
+
*
|
|
527
|
+
* <!-- siteExample("where", "Conditional where calls", 40) -->
|
|
528
|
+
*
|
|
412
529
|
* You can add expressions conditionally like this:
|
|
413
530
|
*
|
|
414
531
|
* ```ts
|
|
532
|
+
* import { Expression, SqlBool } from 'kysely'
|
|
533
|
+
*
|
|
534
|
+
* const firstName: string | undefined = 'Jennifer'
|
|
535
|
+
* const lastName: string | undefined = 'Aniston'
|
|
536
|
+
* const under18 = true
|
|
537
|
+
* const over60 = true
|
|
538
|
+
*
|
|
415
539
|
* let query = db
|
|
416
540
|
* .selectFrom('person')
|
|
417
541
|
* .selectAll()
|
|
@@ -426,6 +550,23 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
426
550
|
* query = query.where('last_name', '=', lastName)
|
|
427
551
|
* }
|
|
428
552
|
*
|
|
553
|
+
* if (under18 || over60) {
|
|
554
|
+
* // Conditional OR expressions can be added like this.
|
|
555
|
+
* query = query.where((eb) => {
|
|
556
|
+
* const ors: Expression<SqlBool>[] = []
|
|
557
|
+
*
|
|
558
|
+
* if (under18) {
|
|
559
|
+
* ors.push(eb('age', '<', 18))
|
|
560
|
+
* }
|
|
561
|
+
*
|
|
562
|
+
* if (over60) {
|
|
563
|
+
* ors.push(eb('age', '>', 60))
|
|
564
|
+
* }
|
|
565
|
+
*
|
|
566
|
+
* return eb.or(ors)
|
|
567
|
+
* })
|
|
568
|
+
* }
|
|
569
|
+
*
|
|
429
570
|
* const persons = await query.execute()
|
|
430
571
|
* ```
|
|
431
572
|
*
|
|
@@ -478,22 +619,30 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
478
619
|
* select * from "person" where "id" in ($1, $2, $3)
|
|
479
620
|
* ```
|
|
480
621
|
*
|
|
622
|
+
* <!-- siteExample("where", "Complex where clause", 50) -->
|
|
623
|
+
*
|
|
481
624
|
* For complex `where` expressions you can pass in a single callback and
|
|
482
|
-
* use the
|
|
625
|
+
* use the `ExpressionBuilder` to build your expression:
|
|
483
626
|
*
|
|
484
627
|
* ```ts
|
|
628
|
+
* const firstName = 'Jennifer'
|
|
629
|
+
* const maxAge = 60
|
|
630
|
+
*
|
|
485
631
|
* const persons = await db
|
|
486
632
|
* .selectFrom('person')
|
|
487
633
|
* .selectAll('person')
|
|
488
|
-
* .where(({
|
|
634
|
+
* .where(({ eb, or, and, not, exists, selectFrom }) => and([
|
|
489
635
|
* or([
|
|
490
|
-
*
|
|
491
|
-
*
|
|
636
|
+
* eb('first_name', '=', firstName),
|
|
637
|
+
* eb('age', '<', maxAge)
|
|
492
638
|
* ]),
|
|
493
639
|
* not(exists(
|
|
494
|
-
* selectFrom('pet')
|
|
640
|
+
* selectFrom('pet')
|
|
641
|
+
* .select('pet.id')
|
|
642
|
+
* .whereRef('pet.owner_id', '=', 'person.id')
|
|
495
643
|
* ))
|
|
496
644
|
* ]))
|
|
645
|
+
* .execute()
|
|
497
646
|
* ```
|
|
498
647
|
*
|
|
499
648
|
* The generated SQL (PostgreSQL):
|
|
@@ -567,38 +716,6 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
|
|
|
567
716
|
* See {@link WhereInterface.whereRef} for more info.
|
|
568
717
|
*/
|
|
569
718
|
whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
570
|
-
/**
|
|
571
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
572
|
-
*/
|
|
573
|
-
orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictUpdateBuilder<DB, TB>;
|
|
574
|
-
/**
|
|
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
|
|
580
|
-
*/
|
|
581
|
-
orWhere(expression: Expression<any>): OnConflictUpdateBuilder<DB, TB>;
|
|
582
|
-
/**
|
|
583
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
584
|
-
*/
|
|
585
|
-
orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
|
|
586
|
-
/**
|
|
587
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
588
|
-
*/
|
|
589
|
-
whereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
590
|
-
/**
|
|
591
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
592
|
-
*/
|
|
593
|
-
whereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
594
|
-
/**
|
|
595
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
596
|
-
*/
|
|
597
|
-
orWhereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
598
|
-
/**
|
|
599
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
600
|
-
*/
|
|
601
|
-
orWhereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
|
|
602
719
|
/**
|
|
603
720
|
* Clears all where expressions from the query.
|
|
604
721
|
*
|
|
@@ -2,8 +2,7 @@
|
|
|
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 {
|
|
6
|
-
import { parseExists, parseNotExists, } from '../parser/unary-operation-parser.js';
|
|
5
|
+
import { parseFilter, parseReferentialComparison, } from '../parser/binary-operation-parser.js';
|
|
7
6
|
import { parseUpdateExpression, } from '../parser/update-set-parser.js';
|
|
8
7
|
import { freeze } from '../util/object-utils.js';
|
|
9
8
|
import { preventAwait } from '../util/prevent-await.js';
|
|
@@ -79,7 +78,7 @@ export class OnConflictBuilder {
|
|
|
79
78
|
where(...args) {
|
|
80
79
|
return new OnConflictBuilder({
|
|
81
80
|
...this.#props,
|
|
82
|
-
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode,
|
|
81
|
+
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseFilter(args)),
|
|
83
82
|
});
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
@@ -93,60 +92,6 @@ export class OnConflictBuilder {
|
|
|
93
92
|
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
94
93
|
});
|
|
95
94
|
}
|
|
96
|
-
/**
|
|
97
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
98
|
-
*/
|
|
99
|
-
orWhere(...args) {
|
|
100
|
-
return new OnConflictBuilder({
|
|
101
|
-
...this.#props,
|
|
102
|
-
onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseWhere(args)),
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
107
|
-
*/
|
|
108
|
-
orWhereRef(lhs, op, rhs) {
|
|
109
|
-
return new OnConflictBuilder({
|
|
110
|
-
...this.#props,
|
|
111
|
-
onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
116
|
-
*/
|
|
117
|
-
whereExists(arg) {
|
|
118
|
-
return new OnConflictBuilder({
|
|
119
|
-
...this.#props,
|
|
120
|
-
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseExists(arg)),
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
125
|
-
*/
|
|
126
|
-
whereNotExists(arg) {
|
|
127
|
-
return new OnConflictBuilder({
|
|
128
|
-
...this.#props,
|
|
129
|
-
onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseNotExists(arg)),
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
134
|
-
*/
|
|
135
|
-
orWhereExists(arg) {
|
|
136
|
-
return new OnConflictBuilder({
|
|
137
|
-
...this.#props,
|
|
138
|
-
onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseExists(arg)),
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
143
|
-
*/
|
|
144
|
-
orWhereNotExists(arg) {
|
|
145
|
-
return new OnConflictBuilder({
|
|
146
|
-
...this.#props,
|
|
147
|
-
onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseNotExists(arg)),
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
95
|
clearWhere() {
|
|
151
96
|
return new OnConflictBuilder({
|
|
152
97
|
...this.#props,
|
|
@@ -259,7 +204,7 @@ export class OnConflictUpdateBuilder {
|
|
|
259
204
|
where(...args) {
|
|
260
205
|
return new OnConflictUpdateBuilder({
|
|
261
206
|
...this.#props,
|
|
262
|
-
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode,
|
|
207
|
+
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseFilter(args)),
|
|
263
208
|
});
|
|
264
209
|
}
|
|
265
210
|
/**
|
|
@@ -273,60 +218,6 @@ export class OnConflictUpdateBuilder {
|
|
|
273
218
|
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
274
219
|
});
|
|
275
220
|
}
|
|
276
|
-
/**
|
|
277
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
278
|
-
*/
|
|
279
|
-
orWhere(...args) {
|
|
280
|
-
return new OnConflictUpdateBuilder({
|
|
281
|
-
...this.#props,
|
|
282
|
-
onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseWhere(args)),
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
287
|
-
*/
|
|
288
|
-
orWhereRef(lhs, op, rhs) {
|
|
289
|
-
return new OnConflictUpdateBuilder({
|
|
290
|
-
...this.#props,
|
|
291
|
-
onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
296
|
-
*/
|
|
297
|
-
whereExists(arg) {
|
|
298
|
-
return new OnConflictUpdateBuilder({
|
|
299
|
-
...this.#props,
|
|
300
|
-
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseExists(arg)),
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
305
|
-
*/
|
|
306
|
-
whereNotExists(arg) {
|
|
307
|
-
return new OnConflictUpdateBuilder({
|
|
308
|
-
...this.#props,
|
|
309
|
-
onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseNotExists(arg)),
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
314
|
-
*/
|
|
315
|
-
orWhereExists(arg) {
|
|
316
|
-
return new OnConflictUpdateBuilder({
|
|
317
|
-
...this.#props,
|
|
318
|
-
onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseExists(arg)),
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
323
|
-
*/
|
|
324
|
-
orWhereNotExists(arg) {
|
|
325
|
-
return new OnConflictUpdateBuilder({
|
|
326
|
-
...this.#props,
|
|
327
|
-
onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseNotExists(arg)),
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
221
|
clearWhere() {
|
|
331
222
|
return new OnConflictUpdateBuilder({
|
|
332
223
|
...this.#props,
|
|
@@ -14,7 +14,7 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
|
|
|
14
14
|
* const result = await db
|
|
15
15
|
* .selectFrom('person')
|
|
16
16
|
* .select(
|
|
17
|
-
* eb => eb.fn.avg<number>('age').over(
|
|
17
|
+
* (eb) => eb.fn.avg<number>('age').over(
|
|
18
18
|
* ob => ob.orderBy('first_name', 'asc').orderBy('last_name', 'asc')
|
|
19
19
|
* ).as('average_age')
|
|
20
20
|
* )
|
|
@@ -36,7 +36,7 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
|
|
|
36
36
|
* const result = await db
|
|
37
37
|
* .selectFrom('person')
|
|
38
38
|
* .select(
|
|
39
|
-
* eb => eb.fn.avg<number>('age').over(
|
|
39
|
+
* (eb) => eb.fn.avg<number>('age').over(
|
|
40
40
|
* ob => ob.partitionBy(['last_name', 'first_name'])
|
|
41
41
|
* ).as('average_age')
|
|
42
42
|
* )
|
|
@@ -16,7 +16,7 @@ export class OverBuilder {
|
|
|
16
16
|
* const result = await db
|
|
17
17
|
* .selectFrom('person')
|
|
18
18
|
* .select(
|
|
19
|
-
* eb => eb.fn.avg<number>('age').over(
|
|
19
|
+
* (eb) => eb.fn.avg<number>('age').over(
|
|
20
20
|
* ob => ob.orderBy('first_name', 'asc').orderBy('last_name', 'asc')
|
|
21
21
|
* ).as('average_age')
|
|
22
22
|
* )
|
|
@@ -53,7 +53,7 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
|
|
|
53
53
|
* first_name: 'Jennifer',
|
|
54
54
|
* last_name: 'Aniston'
|
|
55
55
|
* })
|
|
56
|
-
* .returning(eb => [
|
|
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')
|