kysely 0.23.4 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -25
- package/dist/cjs/dialect/database-introspector.d.ts +4 -2
- 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/mysql/mysql-introspector.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-introspector.js +19 -13
- package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +3 -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/dialect/sqlite/sqlite-introspector.d.ts +1 -1
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +6 -5
- 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/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 -2
- package/dist/cjs/operation-node/aggregate-function-node.js +2 -2
- package/dist/cjs/operation-node/create-index-node.d.ts +2 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +1 -2
- package/dist/cjs/operation-node/delete-query-node.js +2 -8
- 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 +11 -2
- 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 +4 -4
- 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 +6 -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/camel-case/camel-case-plugin.d.ts +7 -0
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +10 -4
- 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 +224 -205
- 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 +304 -42
- package/dist/cjs/query-builder/function-module.js +44 -208
- package/dist/cjs/query-builder/having-interface.d.ts +19 -16
- package/dist/cjs/query-builder/insert-query-builder.d.ts +78 -30
- package/dist/cjs/query-builder/insert-query-builder.js +21 -30
- 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 +155 -243
- package/dist/cjs/query-builder/select-query-builder.js +333 -78
- package/dist/cjs/query-builder/update-query-builder.d.ts +149 -217
- 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 +18 -2
- package/dist/cjs/query-creator.d.ts +38 -2
- package/dist/cjs/query-creator.js +3 -45
- 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 +6 -4
- package/dist/esm/dialect/database-introspector.d.ts +4 -2
- 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/mysql/mysql-introspector.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-introspector.js +19 -13
- package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/esm/dialect/postgres/postgres-introspector.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +3 -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/dialect/sqlite/sqlite-introspector.d.ts +1 -1
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +6 -5
- 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/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 -2
- package/dist/esm/operation-node/aggregate-function-node.js +2 -2
- package/dist/esm/operation-node/create-index-node.d.ts +2 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +1 -2
- package/dist/esm/operation-node/delete-query-node.js +2 -8
- 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 +11 -2
- 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 +5 -5
- 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 +6 -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/camel-case/camel-case-plugin.d.ts +7 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +10 -4
- 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 +224 -205
- 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 +304 -42
- package/dist/esm/query-builder/function-module.js +43 -207
- package/dist/esm/query-builder/having-interface.d.ts +19 -16
- package/dist/esm/query-builder/insert-query-builder.d.ts +78 -30
- package/dist/esm/query-builder/insert-query-builder.js +25 -34
- 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 +155 -243
- package/dist/esm/query-builder/select-query-builder.js +337 -82
- package/dist/esm/query-builder/update-query-builder.d.ts +149 -217
- 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 +18 -2
- package/dist/esm/query-creator.d.ts +38 -2
- package/dist/esm/query-creator.js +3 -45
- 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 +6 -4
- package/helpers/postgres.d.ts +1 -0
- package/helpers/postgres.js +1 -0
- package/package.json +20 -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,17 +1,16 @@
|
|
|
1
1
|
/// <reference types="./delete-query-builder.d.ts" />
|
|
2
2
|
import { parseJoin, } from '../parser/join-parser.js';
|
|
3
3
|
import { parseTableExpressionOrList, } from '../parser/table-parser.js';
|
|
4
|
-
import {
|
|
4
|
+
import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js';
|
|
5
5
|
import { QueryNode } from '../operation-node/query-node.js';
|
|
6
6
|
import { preventAwait } from '../util/prevent-await.js';
|
|
7
7
|
import { freeze } from '../util/object-utils.js';
|
|
8
|
-
import { NoResultError } from './no-result-error.js';
|
|
8
|
+
import { isNoResultErrorConstructor, NoResultError, } from './no-result-error.js';
|
|
9
9
|
import { DeleteResult } from './delete-result.js';
|
|
10
10
|
import { DeleteQueryNode } from '../operation-node/delete-query-node.js';
|
|
11
11
|
import { LimitNode } from '../operation-node/limit-node.js';
|
|
12
12
|
import { parseOrderBy, } from '../parser/order-by-parser.js';
|
|
13
|
-
import {
|
|
14
|
-
import { parseReferentialFilter, parseWhere, } from '../parser/binary-operation-parser.js';
|
|
13
|
+
import { parseReferentialComparison, parseWhere, } from '../parser/binary-operation-parser.js';
|
|
15
14
|
import { parseExists, parseNotExists, } from '../parser/unary-operation-parser.js';
|
|
16
15
|
export class DeleteQueryBuilder {
|
|
17
16
|
#props;
|
|
@@ -27,7 +26,7 @@ export class DeleteQueryBuilder {
|
|
|
27
26
|
whereRef(lhs, op, rhs) {
|
|
28
27
|
return new DeleteQueryBuilder({
|
|
29
28
|
...this.#props,
|
|
30
|
-
queryNode: QueryNode.cloneWithWhere(this.#props.queryNode,
|
|
29
|
+
queryNode: QueryNode.cloneWithWhere(this.#props.queryNode, parseReferentialComparison(lhs, op, rhs)),
|
|
31
30
|
});
|
|
32
31
|
}
|
|
33
32
|
orWhere(...args) {
|
|
@@ -39,7 +38,7 @@ export class DeleteQueryBuilder {
|
|
|
39
38
|
orWhereRef(lhs, op, rhs) {
|
|
40
39
|
return new DeleteQueryBuilder({
|
|
41
40
|
...this.#props,
|
|
42
|
-
queryNode: QueryNode.cloneWithOrWhere(this.#props.queryNode,
|
|
41
|
+
queryNode: QueryNode.cloneWithOrWhere(this.#props.queryNode, parseReferentialComparison(lhs, op, rhs)),
|
|
43
42
|
});
|
|
44
43
|
}
|
|
45
44
|
whereExists(arg) {
|
|
@@ -105,13 +104,13 @@ export class DeleteQueryBuilder {
|
|
|
105
104
|
returning(selection) {
|
|
106
105
|
return new DeleteQueryBuilder({
|
|
107
106
|
...this.#props,
|
|
108
|
-
queryNode: QueryNode.cloneWithReturning(this.#props.queryNode,
|
|
107
|
+
queryNode: QueryNode.cloneWithReturning(this.#props.queryNode, parseSelectArg(selection)),
|
|
109
108
|
});
|
|
110
109
|
}
|
|
111
|
-
returningAll() {
|
|
110
|
+
returningAll(table) {
|
|
112
111
|
return new DeleteQueryBuilder({
|
|
113
112
|
...this.#props,
|
|
114
|
-
queryNode: QueryNode.cloneWithReturning(this.#props.queryNode, parseSelectAll()),
|
|
113
|
+
queryNode: QueryNode.cloneWithReturning(this.#props.queryNode, parseSelectAll(table)),
|
|
115
114
|
});
|
|
116
115
|
}
|
|
117
116
|
/**
|
|
@@ -179,7 +178,8 @@ export class DeleteQueryBuilder {
|
|
|
179
178
|
});
|
|
180
179
|
}
|
|
181
180
|
/**
|
|
182
|
-
* Simply calls the
|
|
181
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
182
|
+
* what the provided function returns.
|
|
183
183
|
*
|
|
184
184
|
* If you want to conditionally call a method on `this`, see
|
|
185
185
|
* the {@link $if} method.
|
|
@@ -352,7 +352,7 @@ export class DeleteQueryBuilder {
|
|
|
352
352
|
return [
|
|
353
353
|
new DeleteResult(
|
|
354
354
|
// TODO: remove numUpdatedOrDeletedRows.
|
|
355
|
-
|
|
355
|
+
result.numAffectedRows ?? result.numUpdatedOrDeletedRows ?? BigInt(0)),
|
|
356
356
|
];
|
|
357
357
|
}
|
|
358
358
|
/**
|
|
@@ -368,36 +368,30 @@ export class DeleteQueryBuilder {
|
|
|
368
368
|
* the query returned no result.
|
|
369
369
|
*
|
|
370
370
|
* By default an instance of {@link NoResultError} is thrown, but you can
|
|
371
|
-
* provide a custom error class as the only argument to throw a different
|
|
371
|
+
* provide a custom error class, or callback as the only argument to throw a different
|
|
372
372
|
* error.
|
|
373
373
|
*/
|
|
374
374
|
async executeTakeFirstOrThrow(errorConstructor = NoResultError) {
|
|
375
375
|
const result = await this.executeTakeFirst();
|
|
376
376
|
if (result === undefined) {
|
|
377
|
-
|
|
377
|
+
const error = isNoResultErrorConstructor(errorConstructor)
|
|
378
|
+
? new errorConstructor(this.toOperationNode())
|
|
379
|
+
: errorConstructor(this.toOperationNode());
|
|
380
|
+
throw error;
|
|
378
381
|
}
|
|
379
382
|
return result;
|
|
380
383
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
* .explain('json')
|
|
389
|
-
* ```
|
|
390
|
-
*
|
|
391
|
-
* The generated SQL (MySQL):
|
|
392
|
-
*
|
|
393
|
-
* ```sql
|
|
394
|
-
* explain format=json delete from `person` where `id` = ?
|
|
395
|
-
* ```
|
|
396
|
-
*/
|
|
384
|
+
async *stream(chunkSize = 100) {
|
|
385
|
+
const compiledQuery = this.compile();
|
|
386
|
+
const stream = this.#props.executor.stream(compiledQuery, chunkSize, this.#props.queryId);
|
|
387
|
+
for await (const item of stream) {
|
|
388
|
+
yield* item.rows;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
397
391
|
async explain(format, options) {
|
|
398
392
|
const builder = new DeleteQueryBuilder({
|
|
399
393
|
...this.#props,
|
|
400
|
-
queryNode:
|
|
394
|
+
queryNode: QueryNode.cloneWithExplain(this.#props.queryNode, format, options),
|
|
401
395
|
});
|
|
402
396
|
return await builder.execute();
|
|
403
397
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Expression } from '../expression/expression.js';
|
|
2
|
+
import { OperationNode } from '../operation-node/operation-node.js';
|
|
3
|
+
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
4
|
+
import { ReferenceExpression } from '../parser/reference-parser.js';
|
|
5
|
+
import { ExistsExpression } from '../parser/unary-operation-parser.js';
|
|
6
|
+
import { ExpressionBuilder } from '../expression/expression-builder.js';
|
|
7
|
+
/**
|
|
8
|
+
* Temporary transitional wrapper type that contains the old `HavingGrouper` methods
|
|
9
|
+
* and the new `ExpressionBuilder` interface. One we remove the deprecated methods,
|
|
10
|
+
* this interface can be ditched in favor of just `ExpressionBuilder`.
|
|
11
|
+
*/
|
|
12
|
+
export interface HavingExpressionBuilder<DB, TB extends keyof DB> extends ExpressionBuilder<DB, TB> {
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
15
|
+
*/
|
|
16
|
+
having<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): HavingExpressionBuilder<DB, TB>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
19
|
+
*/
|
|
20
|
+
having(grouper: HavingExpressionBuilder<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
23
|
+
*/
|
|
24
|
+
having(expression: Expression<any>): HavingExpressionBuilder<DB, TB>;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
27
|
+
*/
|
|
28
|
+
havingRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
31
|
+
*/
|
|
32
|
+
orHaving<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): HavingExpressionBuilder<DB, TB>;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
35
|
+
*/
|
|
36
|
+
orHaving(grouper: HavingExpressionBuilder<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
39
|
+
*/
|
|
40
|
+
orHaving(expression: Expression<any>): HavingExpressionBuilder<DB, TB>;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
43
|
+
*/
|
|
44
|
+
orHavingRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
47
|
+
*/
|
|
48
|
+
havingExists(arg: ExistsExpression<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
51
|
+
*/
|
|
52
|
+
havingNotExists(arg: ExistsExpression<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
55
|
+
*/
|
|
56
|
+
orHavingExists(arg: ExistsExpression<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
59
|
+
*/
|
|
60
|
+
orHavingNotExists(arg: ExistsExpression<DB, TB>): HavingExpressionBuilder<DB, TB>;
|
|
61
|
+
toOperationNode(): OperationNode;
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Expression } from '../expression/expression.js';
|
|
2
|
+
import { OperationNode } from '../operation-node/operation-node.js';
|
|
3
|
+
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
4
|
+
import { ReferenceExpression } from '../parser/reference-parser.js';
|
|
5
|
+
import { ExistsExpression } from '../parser/unary-operation-parser.js';
|
|
6
|
+
import { ExpressionBuilder } from '../expression/expression-builder.js';
|
|
7
|
+
/**
|
|
8
|
+
* Temporary transitional wrapper type that contains the old `OnGrouper` methods
|
|
9
|
+
* and the new `ExpressionBuilder` interface. One we remove the deprecated methods,
|
|
10
|
+
* this interface can be ditched in favor of just `ExpressionBuilder`.
|
|
11
|
+
*/
|
|
12
|
+
export interface OnExpressionBuilder<DB, TB extends keyof DB> extends ExpressionBuilder<DB, TB> {
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
15
|
+
*/
|
|
16
|
+
on<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnExpressionBuilder<DB, TB>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
19
|
+
*/
|
|
20
|
+
on(grouper: OnExpressionBuilder<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
23
|
+
*/
|
|
24
|
+
on(expression: Expression<any>): OnExpressionBuilder<DB, TB>;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
27
|
+
*/
|
|
28
|
+
onRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
31
|
+
*/
|
|
32
|
+
orOn<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnExpressionBuilder<DB, TB>;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
35
|
+
*/
|
|
36
|
+
orOn(grouper: OnExpressionBuilder<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
39
|
+
*/
|
|
40
|
+
orOn(expression: Expression<any>): OnExpressionBuilder<DB, TB>;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
43
|
+
*/
|
|
44
|
+
orOnRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
47
|
+
*/
|
|
48
|
+
onExists(arg: ExistsExpression<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
51
|
+
*/
|
|
52
|
+
onNotExists(arg: ExistsExpression<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
55
|
+
*/
|
|
56
|
+
orOnExists(arg: ExistsExpression<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
59
|
+
*/
|
|
60
|
+
orOnNotExists(arg: ExistsExpression<DB, TB>): OnExpressionBuilder<DB, TB>;
|
|
61
|
+
toOperationNode(): OperationNode;
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Expression } from '../expression/expression.js';
|
|
2
|
+
import { OperationNode } from '../operation-node/operation-node.js';
|
|
3
|
+
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
4
|
+
import { ReferenceExpression } from '../parser/reference-parser.js';
|
|
5
|
+
import { ExistsExpression } from '../parser/unary-operation-parser.js';
|
|
6
|
+
import { ExpressionBuilder } from '../expression/expression-builder.js';
|
|
7
|
+
/**
|
|
8
|
+
* Temporary transitional wrapper type that contains the old `WhereGrouper` methods
|
|
9
|
+
* and the new `ExpressionBuilder` interface. One we remove the deprecated methods,
|
|
10
|
+
* this interface can be ditched in favor of just `ExpressionBuilder`.
|
|
11
|
+
*/
|
|
12
|
+
export interface WhereExpressionBuilder<DB, TB extends keyof DB> extends ExpressionBuilder<DB, TB> {
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
15
|
+
*/
|
|
16
|
+
where<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): WhereExpressionBuilder<DB, TB>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
19
|
+
*/
|
|
20
|
+
where(grouper: WhereExpressionBuilder<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
23
|
+
*/
|
|
24
|
+
where(expression: Expression<any>): WhereExpressionBuilder<DB, TB>;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
27
|
+
*/
|
|
28
|
+
whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
31
|
+
*/
|
|
32
|
+
orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): WhereExpressionBuilder<DB, TB>;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
35
|
+
*/
|
|
36
|
+
orWhere(grouper: WhereExpressionBuilder<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
39
|
+
*/
|
|
40
|
+
orWhere(expression: Expression<any>): WhereExpressionBuilder<DB, TB>;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
43
|
+
*/
|
|
44
|
+
orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
47
|
+
*/
|
|
48
|
+
whereExists(arg: ExistsExpression<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
51
|
+
*/
|
|
52
|
+
whereNotExists(arg: ExistsExpression<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
55
|
+
*/
|
|
56
|
+
orWhereExists(arg: ExistsExpression<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
59
|
+
*/
|
|
60
|
+
orWhereNotExists(arg: ExistsExpression<DB, TB>): WhereExpressionBuilder<DB, TB>;
|
|
61
|
+
toOperationNode(): OperationNode;
|
|
62
|
+
}
|