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
|
@@ -12,7 +12,6 @@ const delete_result_js_1 = require("./delete-result.js");
|
|
|
12
12
|
const delete_query_node_js_1 = require("../operation-node/delete-query-node.js");
|
|
13
13
|
const limit_node_js_1 = require("../operation-node/limit-node.js");
|
|
14
14
|
const order_by_parser_js_1 = require("../parser/order-by-parser.js");
|
|
15
|
-
const explain_node_js_1 = require("../operation-node/explain-node.js");
|
|
16
15
|
const binary_operation_parser_js_1 = require("../parser/binary-operation-parser.js");
|
|
17
16
|
const unary_operation_parser_js_1 = require("../parser/unary-operation-parser.js");
|
|
18
17
|
class DeleteQueryBuilder {
|
|
@@ -29,7 +28,7 @@ class DeleteQueryBuilder {
|
|
|
29
28
|
whereRef(lhs, op, rhs) {
|
|
30
29
|
return new DeleteQueryBuilder({
|
|
31
30
|
...this.#props,
|
|
32
|
-
queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, binary_operation_parser_js_1.
|
|
31
|
+
queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, binary_operation_parser_js_1.parseReferentialComparison)(lhs, op, rhs)),
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
34
|
orWhere(...args) {
|
|
@@ -41,7 +40,7 @@ class DeleteQueryBuilder {
|
|
|
41
40
|
orWhereRef(lhs, op, rhs) {
|
|
42
41
|
return new DeleteQueryBuilder({
|
|
43
42
|
...this.#props,
|
|
44
|
-
queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, binary_operation_parser_js_1.
|
|
43
|
+
queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, binary_operation_parser_js_1.parseReferentialComparison)(lhs, op, rhs)),
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
46
|
whereExists(arg) {
|
|
@@ -107,13 +106,13 @@ class DeleteQueryBuilder {
|
|
|
107
106
|
returning(selection) {
|
|
108
107
|
return new DeleteQueryBuilder({
|
|
109
108
|
...this.#props,
|
|
110
|
-
queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.
|
|
109
|
+
queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.parseSelectArg)(selection)),
|
|
111
110
|
});
|
|
112
111
|
}
|
|
113
|
-
returningAll() {
|
|
112
|
+
returningAll(table) {
|
|
114
113
|
return new DeleteQueryBuilder({
|
|
115
114
|
...this.#props,
|
|
116
|
-
queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.parseSelectAll)()),
|
|
115
|
+
queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.parseSelectAll)(table)),
|
|
117
116
|
});
|
|
118
117
|
}
|
|
119
118
|
/**
|
|
@@ -181,7 +180,8 @@ class DeleteQueryBuilder {
|
|
|
181
180
|
});
|
|
182
181
|
}
|
|
183
182
|
/**
|
|
184
|
-
* Simply calls the
|
|
183
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
184
|
+
* what the provided function returns.
|
|
185
185
|
*
|
|
186
186
|
* If you want to conditionally call a method on `this`, see
|
|
187
187
|
* the {@link $if} method.
|
|
@@ -354,7 +354,7 @@ class DeleteQueryBuilder {
|
|
|
354
354
|
return [
|
|
355
355
|
new delete_result_js_1.DeleteResult(
|
|
356
356
|
// TODO: remove numUpdatedOrDeletedRows.
|
|
357
|
-
result.numAffectedRows ?? result.numUpdatedOrDeletedRows ??
|
|
357
|
+
result.numAffectedRows ?? result.numUpdatedOrDeletedRows ?? BigInt(0)),
|
|
358
358
|
];
|
|
359
359
|
}
|
|
360
360
|
/**
|
|
@@ -370,36 +370,30 @@ class DeleteQueryBuilder {
|
|
|
370
370
|
* the query returned no result.
|
|
371
371
|
*
|
|
372
372
|
* By default an instance of {@link NoResultError} is thrown, but you can
|
|
373
|
-
* provide a custom error class as the only argument to throw a different
|
|
373
|
+
* provide a custom error class, or callback as the only argument to throw a different
|
|
374
374
|
* error.
|
|
375
375
|
*/
|
|
376
376
|
async executeTakeFirstOrThrow(errorConstructor = no_result_error_js_1.NoResultError) {
|
|
377
377
|
const result = await this.executeTakeFirst();
|
|
378
378
|
if (result === undefined) {
|
|
379
|
-
|
|
379
|
+
const error = (0, no_result_error_js_1.isNoResultErrorConstructor)(errorConstructor)
|
|
380
|
+
? new errorConstructor(this.toOperationNode())
|
|
381
|
+
: errorConstructor(this.toOperationNode());
|
|
382
|
+
throw error;
|
|
380
383
|
}
|
|
381
384
|
return result;
|
|
382
385
|
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
* .explain('json')
|
|
391
|
-
* ```
|
|
392
|
-
*
|
|
393
|
-
* The generated SQL (MySQL):
|
|
394
|
-
*
|
|
395
|
-
* ```sql
|
|
396
|
-
* explain format=json delete from `person` where `id` = ?
|
|
397
|
-
* ```
|
|
398
|
-
*/
|
|
386
|
+
async *stream(chunkSize = 100) {
|
|
387
|
+
const compiledQuery = this.compile();
|
|
388
|
+
const stream = this.#props.executor.stream(compiledQuery, chunkSize, this.#props.queryId);
|
|
389
|
+
for await (const item of stream) {
|
|
390
|
+
yield* item.rows;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
399
393
|
async explain(format, options) {
|
|
400
394
|
const builder = new DeleteQueryBuilder({
|
|
401
395
|
...this.#props,
|
|
402
|
-
queryNode:
|
|
396
|
+
queryNode: query_node_js_1.QueryNode.cloneWithExplain(this.#props.queryNode, format, options),
|
|
403
397
|
});
|
|
404
398
|
return await builder.execute();
|
|
405
399
|
}
|
|
@@ -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
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
|
|
2
|
+
import { ExpressionWrapper } from '../expression/expression-wrapper.js';
|
|
2
3
|
import { CoalesceReferenceExpressionList } from '../parser/coalesce-parser.js';
|
|
3
4
|
import { ExtractTypeFromReferenceExpression, SimpleReferenceExpression, ReferenceExpression, StringReference } from '../parser/reference-parser.js';
|
|
4
|
-
import { RawBuilder } from '../raw-builder/raw-builder.js';
|
|
5
5
|
import { Equals, IsNever } from '../util/type-utils.js';
|
|
6
6
|
import { AggregateFunctionBuilder } from './aggregate-function-builder.js';
|
|
7
7
|
/**
|
|
@@ -36,8 +36,35 @@ import { AggregateFunctionBuilder } from './aggregate-function-builder.js';
|
|
|
36
36
|
* having count("pet"."id") > $1
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
|
-
export
|
|
40
|
-
|
|
39
|
+
export interface FunctionModule<DB, TB extends keyof DB> {
|
|
40
|
+
/**
|
|
41
|
+
* Creates a function call.
|
|
42
|
+
*
|
|
43
|
+
* ### Examples
|
|
44
|
+
*
|
|
45
|
+
* ```ts
|
|
46
|
+
* db.selectFrom('person')
|
|
47
|
+
* .selectAll('person')
|
|
48
|
+
* .where(db.fn('upper', ['first_name']), '=', 'JENNIFER')
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* The generated SQL (PostgreSQL):
|
|
52
|
+
*
|
|
53
|
+
* ```sql
|
|
54
|
+
* select "person".*
|
|
55
|
+
* from "person"
|
|
56
|
+
* where upper("first_name") = $1
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* If you prefer readability over type-safety, you can always use raw `sql`:
|
|
60
|
+
*
|
|
61
|
+
* ```ts
|
|
62
|
+
* db.selectFrom('person')
|
|
63
|
+
* .selectAll('person')
|
|
64
|
+
* .where(sql`upper(first_name)`, '=', 'JENNIFER')
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
<T>(name: string, args: ReadonlyArray<ReferenceExpression<DB, TB>>): ExpressionWrapper<T>;
|
|
41
68
|
/**
|
|
42
69
|
* Calls the `avg` function for the column given as the argument.
|
|
43
70
|
*
|
|
@@ -67,7 +94,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
67
94
|
*
|
|
68
95
|
* ```ts
|
|
69
96
|
* db.selectFrom('toy')
|
|
70
|
-
* .select(
|
|
97
|
+
* .select((eb) => eb.fn.avg('price').as('avg_price'))
|
|
71
98
|
* .execute()
|
|
72
99
|
* ```
|
|
73
100
|
*
|
|
@@ -143,8 +170,8 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
143
170
|
*
|
|
144
171
|
* ```ts
|
|
145
172
|
* db.selectFrom('participant')
|
|
146
|
-
* .select(
|
|
147
|
-
*
|
|
173
|
+
* .select((eb) =>
|
|
174
|
+
* eb.fn.coalesce('nickname', sql<string>`'<anonymous>'`).as('nickname')
|
|
148
175
|
* )
|
|
149
176
|
* .where('room_id', '=', roomId)
|
|
150
177
|
* .execute()
|
|
@@ -167,7 +194,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
167
194
|
* select coalesce(avg("age"), 0) as "avg_age" from "person" where "first_name" = $1
|
|
168
195
|
* ```
|
|
169
196
|
*/
|
|
170
|
-
coalesce<V extends ReferenceExpression<DB, TB>, OV extends ReferenceExpression<DB, TB>[]>(value: V, ...otherValues: OV):
|
|
197
|
+
coalesce<V extends ReferenceExpression<DB, TB>, OV extends ReferenceExpression<DB, TB>[]>(value: V, ...otherValues: OV): ExpressionWrapper<CoalesceReferenceExpressionList<DB, TB, [V, ...OV]>>;
|
|
171
198
|
/**
|
|
172
199
|
* Calls the `count` function for the column given as the argument.
|
|
173
200
|
*
|
|
@@ -218,7 +245,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
218
245
|
*
|
|
219
246
|
* ```ts
|
|
220
247
|
* db.selectFrom('toy')
|
|
221
|
-
* .select(
|
|
248
|
+
* .select((eb) => eb.fn.count('id').as('num_toys'))
|
|
222
249
|
* .execute()
|
|
223
250
|
* ```
|
|
224
251
|
*/
|
|
@@ -294,7 +321,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
294
321
|
* ```ts
|
|
295
322
|
* db.selectFrom('toy')
|
|
296
323
|
* .innerJoin('pet', 'pet.id', 'toy.pet_id')
|
|
297
|
-
* .select(
|
|
324
|
+
* .select((eb) => eb.fn.countAll('toy').as('num_toys'))
|
|
298
325
|
* .execute()
|
|
299
326
|
* ```
|
|
300
327
|
*/
|
|
@@ -333,7 +360,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
333
360
|
*
|
|
334
361
|
* ```ts
|
|
335
362
|
* db.selectFrom('toy')
|
|
336
|
-
* .select(
|
|
363
|
+
* .select((eb) => eb.fn.max('price').as('max_price'))
|
|
337
364
|
* .execute()
|
|
338
365
|
* ```
|
|
339
366
|
*
|
|
@@ -385,7 +412,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
385
412
|
*
|
|
386
413
|
* ```ts
|
|
387
414
|
* db.selectFrom('toy')
|
|
388
|
-
* .select(
|
|
415
|
+
* .select((eb) => eb.fn.min('price').as('min_price'))
|
|
389
416
|
* .execute()
|
|
390
417
|
* ```
|
|
391
418
|
*
|
|
@@ -433,7 +460,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
433
460
|
*
|
|
434
461
|
* ```ts
|
|
435
462
|
* db.selectFrom('toy')
|
|
436
|
-
* .select(
|
|
463
|
+
* .select((eb) => eb.fn.sum('price').as('total_price'))
|
|
437
464
|
* .execute()
|
|
438
465
|
* ```
|
|
439
466
|
*
|
|
@@ -470,6 +497,7 @@ export declare class FunctionModule<DB, TB extends keyof DB> {
|
|
|
470
497
|
*/
|
|
471
498
|
sum<O extends number | string | bigint | null = number | string | bigint, C extends SimpleReferenceExpression<DB, TB> = SimpleReferenceExpression<DB, TB>>(column: C): AggregateFunctionBuilder<DB, TB, O>;
|
|
472
499
|
}
|
|
500
|
+
export declare function createFunctionModule<DB, TB extends keyof DB>(): FunctionModule<DB, TB>;
|
|
473
501
|
declare type OutputBoundStringReference<DB, TB extends keyof DB, C extends StringReference<DB, TB>, O> = IsNever<O> extends true ? C : Equals<ExtractTypeFromReferenceExpression<DB, TB, C> | null, O | null> extends true ? C : never;
|
|
474
502
|
declare type StringReferenceBoundAggregateFunctionBuilder<DB, TB extends keyof DB, C extends StringReference<DB, TB>, O> = AggregateFunctionBuilder<DB, TB, ExtractTypeFromReferenceExpression<DB, TB, C> | (null extends O ? null : never)>;
|
|
475
503
|
export {};
|