kysely 0.27.5 → 0.28.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/CODE_OF_CONDUCT.md +183 -0
- package/FUNDING.md +25 -0
- package/README.md +182 -3
- package/deno.check.d.ts +7 -0
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +26 -16
- package/dist/cjs/dialect/mssql/mssql-driver.d.ts +6 -3
- package/dist/cjs/dialect/mssql/mssql-driver.js +33 -19
- package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +2 -0
- package/dist/cjs/dialect/mssql/mssql-query-compiler.js +11 -0
- package/dist/cjs/dialect/mysql/mysql-driver.d.ts +4 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +27 -12
- package/dist/cjs/dialect/postgres/postgres-driver.d.ts +4 -0
- package/dist/cjs/dialect/postgres/postgres-driver.js +28 -18
- package/dist/cjs/dialect/postgres/postgres-introspector.js +7 -17
- package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +4 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +19 -13
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +66 -44
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +2 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +4 -0
- package/dist/cjs/driver/database-connection.d.ts +0 -4
- package/dist/cjs/driver/driver.d.ts +17 -0
- package/dist/cjs/driver/driver.js +13 -1
- package/dist/cjs/driver/dummy-driver.d.ts +3 -0
- package/dist/cjs/driver/dummy-driver.js +9 -0
- package/dist/cjs/driver/runtime-driver.d.ts +4 -0
- package/dist/cjs/driver/runtime-driver.js +43 -3
- package/dist/cjs/expression/expression-builder.d.ts +9 -10
- package/dist/cjs/helpers/postgres.d.ts +48 -0
- package/dist/cjs/helpers/postgres.js +50 -0
- package/dist/cjs/index.d.ts +13 -2
- package/dist/cjs/index.js +13 -2
- package/dist/cjs/kysely.d.ts +339 -2
- package/dist/cjs/kysely.js +465 -11
- package/dist/cjs/migration/migrator.d.ts +16 -1
- package/dist/cjs/migration/migrator.js +14 -4
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +2 -1
- package/dist/cjs/operation-node/aggregate-function-node.js +4 -3
- package/dist/cjs/operation-node/alter-table-node.d.ts +3 -1
- package/dist/cjs/operation-node/collate-node.d.ts +13 -0
- package/dist/cjs/operation-node/collate-node.js +19 -0
- package/dist/cjs/operation-node/constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-type-node.js +1 -1
- package/dist/cjs/operation-node/delete-query-node.d.ts +8 -2
- package/dist/cjs/operation-node/delete-query-node.js +11 -15
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -0
- package/dist/cjs/operation-node/insert-query-node.d.ts +3 -0
- package/dist/cjs/operation-node/join-node.d.ts +1 -1
- package/dist/cjs/operation-node/merge-query-node.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +106 -97
- package/dist/cjs/operation-node/operation-node-transformer.js +352 -312
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +9 -1
- 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/or-action-node.d.ts +12 -0
- package/dist/cjs/operation-node/or-action-node.js +18 -0
- package/dist/cjs/operation-node/order-by-item-node.d.ts +5 -0
- package/dist/cjs/operation-node/order-by-item-node.js +6 -0
- package/dist/cjs/operation-node/primary-key-constraint-node.d.ts +29 -0
- package/dist/cjs/operation-node/{primary-constraint-node.js → primary-key-constraint-node.js} +11 -2
- package/dist/cjs/operation-node/query-node.d.ts +7 -0
- package/dist/cjs/operation-node/query-node.js +15 -0
- package/dist/cjs/operation-node/refresh-materialized-view-node.d.ts +17 -0
- package/dist/cjs/operation-node/refresh-materialized-view-node.js +25 -0
- package/dist/cjs/operation-node/rename-constraint-node.d.ts +14 -0
- package/dist/cjs/operation-node/rename-constraint-node.js +20 -0
- package/dist/cjs/operation-node/select-query-node.d.ts +8 -2
- package/dist/cjs/operation-node/select-query-node.js +11 -15
- package/dist/cjs/operation-node/unique-constraint-node.d.ts +2 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +3 -4
- package/dist/cjs/operation-node/update-query-node.js +5 -2
- package/dist/cjs/parser/collate-parser.d.ts +1 -0
- package/dist/cjs/parser/collate-parser.js +2 -0
- package/dist/cjs/parser/delete-from-parser.d.ts +5 -0
- package/dist/cjs/parser/delete-from-parser.js +2 -0
- package/dist/cjs/parser/insert-values-parser.js +3 -1
- package/dist/cjs/parser/join-parser.d.ts +1 -1
- package/dist/cjs/parser/join-parser.js +7 -1
- package/dist/cjs/parser/merge-into-parser.d.ts +5 -0
- package/dist/cjs/parser/merge-into-parser.js +2 -0
- package/dist/cjs/parser/order-by-parser.d.ts +18 -5
- package/dist/cjs/parser/order-by-parser.js +24 -14
- package/dist/cjs/parser/savepoint-parser.d.ts +4 -0
- package/dist/cjs/parser/savepoint-parser.js +11 -0
- package/dist/cjs/parser/select-from-parser.d.ts +4 -0
- package/dist/cjs/parser/select-from-parser.js +2 -0
- package/dist/cjs/parser/table-parser.d.ts +2 -5
- package/dist/cjs/parser/update-parser.d.ts +5 -0
- package/dist/cjs/parser/update-parser.js +2 -0
- package/dist/cjs/parser/update-set-parser.d.ts +7 -4
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +1 -1
- package/dist/cjs/plugin/camel-case/camel-case-transformer.d.ts +2 -1
- package/dist/cjs/plugin/camel-case/camel-case-transformer.js +2 -2
- package/dist/cjs/plugin/camel-case/camel-case.js +4 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +4 -3
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +6 -6
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +162 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +29 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.js +66 -0
- package/dist/cjs/plugin/immediate-value/immediate-value-plugin.js +1 -1
- package/dist/cjs/plugin/immediate-value/immediate-value-transformer.d.ts +2 -0
- package/dist/cjs/plugin/immediate-value/immediate-value-transformer.js +6 -4
- package/dist/cjs/plugin/with-schema/with-schema-plugin.js +1 -1
- package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +8 -3
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +45 -14
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +83 -5
- package/dist/cjs/query-builder/aggregate-function-builder.js +15 -27
- package/dist/cjs/query-builder/cte-builder.js +0 -2
- package/dist/cjs/query-builder/delete-query-builder.d.ts +36 -47
- package/dist/cjs/query-builder/delete-query-builder.js +12 -78
- package/dist/cjs/query-builder/function-module.d.ts +31 -4
- package/dist/cjs/query-builder/insert-query-builder.d.ts +161 -6
- package/dist/cjs/query-builder/insert-query-builder.js +197 -10
- package/dist/cjs/query-builder/join-builder.js +0 -2
- package/dist/cjs/query-builder/merge-query-builder.d.ts +145 -3
- package/dist/cjs/query-builder/merge-query-builder.js +28 -7
- package/dist/cjs/query-builder/on-conflict-builder.js +0 -4
- package/dist/cjs/query-builder/order-by-interface.d.ts +176 -0
- package/dist/cjs/query-builder/order-by-interface.js +2 -0
- package/dist/cjs/query-builder/order-by-item-builder.d.ts +43 -0
- package/dist/cjs/query-builder/order-by-item-builder.js +75 -0
- package/dist/cjs/query-builder/over-builder.d.ts +43 -6
- package/dist/cjs/query-builder/over-builder.js +8 -25
- package/dist/cjs/query-builder/returning-interface.d.ts +20 -3
- package/dist/cjs/query-builder/select-query-builder.d.ts +279 -98
- package/dist/cjs/query-builder/select-query-builder.js +26 -26
- package/dist/cjs/query-builder/update-query-builder.d.ts +88 -9
- package/dist/cjs/query-builder/update-query-builder.js +17 -15
- package/dist/cjs/query-compiler/compiled-query.d.ts +2 -0
- package/dist/cjs/query-compiler/compiled-query.js +2 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +17 -2
- package/dist/cjs/query-compiler/default-query-compiler.js +97 -2
- package/dist/cjs/query-compiler/query-compiler.d.ts +4 -2
- package/dist/cjs/query-creator.d.ts +23 -25
- package/dist/cjs/query-creator.js +280 -8
- package/dist/cjs/query-executor/default-query-executor.d.ts +2 -1
- package/dist/cjs/query-executor/default-query-executor.js +2 -2
- package/dist/cjs/query-executor/query-executor-base.js +7 -25
- package/dist/cjs/raw-builder/raw-builder.js +0 -3
- package/dist/cjs/raw-builder/sql.d.ts +4 -4
- package/dist/cjs/raw-builder/sql.js +1 -1
- package/dist/cjs/schema/alter-column-builder.js +0 -3
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +4 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +24 -2
- package/dist/cjs/schema/alter-table-add-index-builder.js +0 -2
- package/dist/cjs/schema/alter-table-builder.d.ts +7 -3
- package/dist/cjs/schema/alter-table-builder.js +21 -10
- package/dist/cjs/schema/alter-table-drop-constraint-builder.js +0 -2
- package/dist/cjs/schema/alter-table-executor.js +0 -2
- package/dist/cjs/schema/check-constraint-builder.d.ts +13 -0
- package/dist/cjs/schema/check-constraint-builder.js +20 -0
- package/dist/cjs/schema/column-definition-builder.js +0 -2
- package/dist/cjs/schema/create-index-builder.js +1 -3
- package/dist/cjs/schema/create-schema-builder.js +0 -2
- package/dist/cjs/schema/create-table-builder.d.ts +5 -4
- package/dist/cjs/schema/create-table-builder.js +9 -7
- package/dist/cjs/schema/create-type-builder.d.ts +1 -1
- package/dist/cjs/schema/create-type-builder.js +0 -2
- package/dist/cjs/schema/create-view-builder.js +0 -2
- package/dist/cjs/schema/drop-index-builder.js +0 -2
- package/dist/cjs/schema/drop-schema-builder.js +0 -2
- package/dist/cjs/schema/drop-table-builder.js +0 -2
- package/dist/cjs/schema/drop-type-builder.js +0 -2
- package/dist/cjs/schema/drop-view-builder.js +0 -2
- package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +9 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.js +16 -2
- package/dist/cjs/schema/primary-key-constraint-builder.d.ts +17 -0
- package/dist/cjs/schema/primary-key-constraint-builder.js +37 -0
- package/dist/cjs/schema/refresh-materialized-view-builder.d.ts +47 -0
- package/dist/cjs/schema/refresh-materialized-view-builder.js +75 -0
- package/dist/cjs/schema/schema.d.ts +14 -0
- package/dist/cjs/schema/schema.js +21 -0
- package/dist/cjs/schema/unique-constraint-builder.d.ts +10 -1
- package/dist/cjs/schema/unique-constraint-builder.js +26 -5
- package/dist/cjs/util/infer-result.d.ts +1 -1
- package/dist/cjs/util/log.d.ts +1 -0
- package/dist/cjs/util/log.js +3 -2
- package/dist/cjs/util/provide-controlled-connection.d.ts +7 -0
- package/dist/cjs/util/provide-controlled-connection.js +24 -0
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +26 -16
- package/dist/esm/dialect/mssql/mssql-driver.d.ts +6 -3
- package/dist/esm/dialect/mssql/mssql-driver.js +33 -19
- package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +2 -0
- package/dist/esm/dialect/mssql/mssql-query-compiler.js +11 -0
- package/dist/esm/dialect/mysql/mysql-driver.d.ts +4 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +27 -12
- package/dist/esm/dialect/postgres/postgres-driver.d.ts +4 -0
- package/dist/esm/dialect/postgres/postgres-driver.js +28 -18
- package/dist/esm/dialect/postgres/postgres-introspector.js +7 -17
- package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +4 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +19 -13
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +66 -44
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +2 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +4 -0
- package/dist/esm/driver/database-connection.d.ts +0 -4
- package/dist/esm/driver/driver.d.ts +17 -0
- package/dist/esm/driver/driver.js +11 -0
- package/dist/esm/driver/dummy-driver.d.ts +3 -0
- package/dist/esm/driver/dummy-driver.js +9 -0
- package/dist/esm/driver/runtime-driver.d.ts +4 -0
- package/dist/esm/driver/runtime-driver.js +43 -3
- package/dist/esm/expression/expression-builder.d.ts +9 -10
- package/dist/esm/helpers/postgres.d.ts +48 -0
- package/dist/esm/helpers/postgres.js +49 -0
- package/dist/esm/index.d.ts +13 -2
- package/dist/esm/index.js +11 -1
- package/dist/esm/kysely.d.ts +339 -2
- package/dist/esm/kysely.js +461 -10
- package/dist/esm/migration/migrator.d.ts +16 -1
- package/dist/esm/migration/migrator.js +14 -4
- package/dist/esm/operation-node/aggregate-function-node.d.ts +2 -1
- package/dist/esm/operation-node/aggregate-function-node.js +4 -3
- package/dist/esm/operation-node/alter-table-node.d.ts +3 -1
- package/dist/esm/operation-node/collate-node.d.ts +13 -0
- package/dist/esm/operation-node/collate-node.js +17 -0
- package/dist/esm/operation-node/constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/create-type-node.d.ts +1 -1
- package/dist/esm/operation-node/create-type-node.js +1 -1
- package/dist/esm/operation-node/delete-query-node.d.ts +8 -2
- package/dist/esm/operation-node/delete-query-node.js +11 -15
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -0
- package/dist/esm/operation-node/insert-query-node.d.ts +3 -0
- package/dist/esm/operation-node/join-node.d.ts +1 -1
- package/dist/esm/operation-node/merge-query-node.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +106 -97
- package/dist/esm/operation-node/operation-node-transformer.js +352 -312
- package/dist/esm/operation-node/operation-node-visitor.d.ts +9 -1
- 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/or-action-node.d.ts +12 -0
- package/dist/esm/operation-node/or-action-node.js +16 -0
- package/dist/esm/operation-node/order-by-item-node.d.ts +5 -0
- package/dist/esm/operation-node/order-by-item-node.js +6 -0
- package/dist/esm/operation-node/primary-key-constraint-node.d.ts +29 -0
- package/dist/esm/operation-node/{primary-constraint-node.js → primary-key-constraint-node.js} +11 -2
- package/dist/esm/operation-node/query-node.d.ts +7 -0
- package/dist/esm/operation-node/query-node.js +15 -0
- package/dist/esm/operation-node/refresh-materialized-view-node.d.ts +17 -0
- package/dist/esm/operation-node/refresh-materialized-view-node.js +23 -0
- package/dist/esm/operation-node/rename-constraint-node.d.ts +14 -0
- package/dist/esm/operation-node/rename-constraint-node.js +18 -0
- package/dist/esm/operation-node/select-query-node.d.ts +8 -2
- package/dist/esm/operation-node/select-query-node.js +11 -15
- package/dist/esm/operation-node/unique-constraint-node.d.ts +2 -0
- package/dist/esm/operation-node/update-query-node.d.ts +3 -4
- package/dist/esm/operation-node/update-query-node.js +5 -2
- package/dist/esm/parser/collate-parser.d.ts +1 -0
- package/dist/esm/parser/collate-parser.js +2 -0
- package/dist/esm/parser/delete-from-parser.d.ts +5 -0
- package/dist/esm/parser/delete-from-parser.js +2 -0
- package/dist/esm/parser/insert-values-parser.js +3 -1
- package/dist/esm/parser/join-parser.d.ts +1 -1
- package/dist/esm/parser/join-parser.js +7 -1
- package/dist/esm/parser/merge-into-parser.d.ts +5 -0
- package/dist/esm/parser/merge-into-parser.js +2 -0
- package/dist/esm/parser/order-by-parser.d.ts +18 -5
- package/dist/esm/parser/order-by-parser.js +27 -17
- package/dist/esm/parser/savepoint-parser.d.ts +4 -0
- package/dist/esm/parser/savepoint-parser.js +9 -0
- package/dist/esm/parser/select-from-parser.d.ts +4 -0
- package/dist/esm/parser/select-from-parser.js +2 -0
- package/dist/esm/parser/table-parser.d.ts +2 -5
- package/dist/esm/parser/update-parser.d.ts +5 -0
- package/dist/esm/parser/update-parser.js +2 -0
- package/dist/esm/parser/update-set-parser.d.ts +7 -4
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +1 -1
- package/dist/esm/plugin/camel-case/camel-case-transformer.d.ts +2 -1
- package/dist/esm/plugin/camel-case/camel-case-transformer.js +2 -2
- package/dist/esm/plugin/camel-case/camel-case.js +4 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +4 -3
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +6 -6
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +159 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +26 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.js +63 -0
- package/dist/esm/plugin/immediate-value/immediate-value-plugin.js +1 -1
- package/dist/esm/plugin/immediate-value/immediate-value-transformer.d.ts +2 -0
- package/dist/esm/plugin/immediate-value/immediate-value-transformer.js +6 -4
- package/dist/esm/plugin/with-schema/with-schema-plugin.js +1 -1
- package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +8 -3
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +45 -14
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +83 -5
- package/dist/esm/query-builder/aggregate-function-builder.js +15 -27
- package/dist/esm/query-builder/cte-builder.js +0 -2
- package/dist/esm/query-builder/delete-query-builder.d.ts +36 -47
- package/dist/esm/query-builder/delete-query-builder.js +12 -78
- package/dist/esm/query-builder/function-module.d.ts +31 -4
- package/dist/esm/query-builder/insert-query-builder.d.ts +161 -6
- package/dist/esm/query-builder/insert-query-builder.js +197 -10
- package/dist/esm/query-builder/join-builder.js +0 -2
- package/dist/esm/query-builder/merge-query-builder.d.ts +145 -3
- package/dist/esm/query-builder/merge-query-builder.js +29 -8
- package/dist/esm/query-builder/on-conflict-builder.js +0 -4
- package/dist/esm/query-builder/order-by-interface.d.ts +176 -0
- package/dist/esm/query-builder/order-by-interface.js +2 -0
- package/dist/esm/query-builder/order-by-item-builder.d.ts +43 -0
- package/dist/esm/query-builder/order-by-item-builder.js +72 -0
- package/dist/esm/query-builder/over-builder.d.ts +43 -6
- package/dist/esm/query-builder/over-builder.js +8 -25
- package/dist/esm/query-builder/returning-interface.d.ts +20 -3
- package/dist/esm/query-builder/select-query-builder.d.ts +279 -98
- package/dist/esm/query-builder/select-query-builder.js +26 -26
- package/dist/esm/query-builder/update-query-builder.d.ts +88 -9
- package/dist/esm/query-builder/update-query-builder.js +17 -15
- package/dist/esm/query-compiler/compiled-query.d.ts +2 -0
- package/dist/esm/query-compiler/compiled-query.js +2 -0
- package/dist/esm/query-compiler/default-query-compiler.d.ts +17 -2
- package/dist/esm/query-compiler/default-query-compiler.js +97 -2
- package/dist/esm/query-compiler/query-compiler.d.ts +4 -2
- package/dist/esm/query-creator.d.ts +23 -25
- package/dist/esm/query-creator.js +281 -9
- package/dist/esm/query-executor/default-query-executor.d.ts +2 -1
- package/dist/esm/query-executor/default-query-executor.js +2 -2
- package/dist/esm/query-executor/query-executor-base.js +7 -25
- package/dist/esm/raw-builder/raw-builder.js +0 -3
- package/dist/esm/raw-builder/sql.d.ts +4 -4
- package/dist/esm/raw-builder/sql.js +1 -1
- package/dist/esm/schema/alter-column-builder.js +0 -3
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +4 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +24 -2
- package/dist/esm/schema/alter-table-add-index-builder.js +0 -2
- package/dist/esm/schema/alter-table-builder.d.ts +7 -3
- package/dist/esm/schema/alter-table-builder.js +22 -11
- package/dist/esm/schema/alter-table-drop-constraint-builder.js +0 -2
- package/dist/esm/schema/alter-table-executor.js +0 -2
- package/dist/esm/schema/check-constraint-builder.d.ts +13 -0
- package/dist/esm/schema/check-constraint-builder.js +17 -0
- package/dist/esm/schema/column-definition-builder.js +0 -2
- package/dist/esm/schema/create-index-builder.js +1 -3
- package/dist/esm/schema/create-schema-builder.js +0 -2
- package/dist/esm/schema/create-table-builder.d.ts +5 -4
- package/dist/esm/schema/create-table-builder.js +10 -8
- package/dist/esm/schema/create-type-builder.d.ts +1 -1
- package/dist/esm/schema/create-type-builder.js +0 -2
- package/dist/esm/schema/create-view-builder.js +0 -2
- package/dist/esm/schema/drop-index-builder.js +0 -2
- package/dist/esm/schema/drop-schema-builder.js +0 -2
- package/dist/esm/schema/drop-table-builder.js +0 -2
- package/dist/esm/schema/drop-type-builder.js +0 -2
- package/dist/esm/schema/drop-view-builder.js +0 -2
- package/dist/esm/schema/foreign-key-constraint-builder.d.ts +9 -0
- package/dist/esm/schema/foreign-key-constraint-builder.js +16 -2
- package/dist/esm/schema/primary-key-constraint-builder.d.ts +17 -0
- package/dist/esm/schema/primary-key-constraint-builder.js +34 -0
- package/dist/esm/schema/refresh-materialized-view-builder.d.ts +47 -0
- package/dist/esm/schema/refresh-materialized-view-builder.js +72 -0
- package/dist/esm/schema/schema.d.ts +14 -0
- package/dist/esm/schema/schema.js +21 -0
- package/dist/esm/schema/unique-constraint-builder.d.ts +10 -1
- package/dist/esm/schema/unique-constraint-builder.js +26 -5
- package/dist/esm/util/infer-result.d.ts +1 -1
- package/dist/esm/util/log.d.ts +1 -0
- package/dist/esm/util/log.js +3 -2
- package/dist/esm/util/provide-controlled-connection.d.ts +7 -0
- package/dist/esm/util/provide-controlled-connection.js +22 -0
- package/outdated-typescript.d.ts +5 -0
- package/package.json +16 -2
- package/CONTRIBUTING.md +0 -70
- package/dist/cjs/operation-node/primary-constraint-node.d.ts +0 -15
- package/dist/cjs/util/prevent-await.d.ts +0 -1
- package/dist/cjs/util/prevent-await.js +0 -13
- package/dist/esm/operation-node/primary-constraint-node.d.ts +0 -15
- package/dist/esm/util/prevent-await.d.ts +0 -1
- package/dist/esm/util/prevent-await.js +0 -11
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { Expression } from '../expression/expression.js';
|
|
2
|
+
import { OrderByExpression, DirectedOrderByStringReference, OrderByModifiers } from '../parser/order-by-parser.js';
|
|
3
|
+
export interface OrderByInterface<DB, TB extends keyof DB, O> {
|
|
4
|
+
/**
|
|
5
|
+
* Adds an `order by` clause to the query.
|
|
6
|
+
*
|
|
7
|
+
* `orderBy` calls are additive. Meaning, additional `orderBy` calls append to
|
|
8
|
+
* the existing order by clause.
|
|
9
|
+
*
|
|
10
|
+
* `orderBy` is supported in select queries on all dialects. In MySQL, you can
|
|
11
|
+
* also use `orderBy` in update and delete queries.
|
|
12
|
+
*
|
|
13
|
+
* In a single call you can add a single column/expression or multiple columns/expressions.
|
|
14
|
+
*
|
|
15
|
+
* Single column/expression calls can have 1-2 arguments. The first argument is
|
|
16
|
+
* the expression to order by, while the second optional argument is the direction
|
|
17
|
+
* (`asc` or `desc`), a callback that accepts and returns an {@link OrderByItemBuilder}
|
|
18
|
+
* or an expression.
|
|
19
|
+
*
|
|
20
|
+
* See {@link clearOrderBy} to remove the `order by` clause from a query.
|
|
21
|
+
*
|
|
22
|
+
* ### Examples
|
|
23
|
+
*
|
|
24
|
+
* Single column/expression per call:
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* await db
|
|
28
|
+
* .selectFrom('person')
|
|
29
|
+
* .select('person.first_name as fn')
|
|
30
|
+
* .orderBy('id')
|
|
31
|
+
* .orderBy('fn', 'desc')
|
|
32
|
+
* .execute()
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* The generated SQL (PostgreSQL):
|
|
36
|
+
*
|
|
37
|
+
* ```sql
|
|
38
|
+
* select "person"."first_name" as "fn"
|
|
39
|
+
* from "person"
|
|
40
|
+
* order by "id", "fn" desc
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* Multiple columns/expressions per call:
|
|
44
|
+
*
|
|
45
|
+
* ```ts
|
|
46
|
+
* await db
|
|
47
|
+
* .selectFrom('person')
|
|
48
|
+
* .select('person.first_name as fn')
|
|
49
|
+
* .orderBy(['id', 'fn'])
|
|
50
|
+
* .execute()
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* The generated SQL (PostgreSQL):
|
|
54
|
+
*
|
|
55
|
+
* ```sql
|
|
56
|
+
* select "person"."first_name" as "fn"
|
|
57
|
+
* from "person"
|
|
58
|
+
* order by "id", "fn"
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* Building advanced modifiers:
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* await db
|
|
65
|
+
* .selectFrom('person')
|
|
66
|
+
* .select('person.first_name as fn')
|
|
67
|
+
* .orderBy('id', (ob) => ob.desc().nullsFirst())
|
|
68
|
+
* .execute()
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* The generated SQL (PostgreSQL):
|
|
72
|
+
*
|
|
73
|
+
* ```sql
|
|
74
|
+
* select "person"."first_name" as "fn"
|
|
75
|
+
* from "person"
|
|
76
|
+
* order by "id" desc nulls first
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* The order by expression can also be a raw sql expression or a subquery
|
|
80
|
+
* in addition to column references:
|
|
81
|
+
*
|
|
82
|
+
* ```ts
|
|
83
|
+
* import { sql } from 'kysely'
|
|
84
|
+
*
|
|
85
|
+
* await db
|
|
86
|
+
* .selectFrom('person')
|
|
87
|
+
* .selectAll()
|
|
88
|
+
* .orderBy((eb) => eb.selectFrom('pet')
|
|
89
|
+
* .select('pet.name')
|
|
90
|
+
* .whereRef('pet.owner_id', '=', 'person.id')
|
|
91
|
+
* .limit(1)
|
|
92
|
+
* )
|
|
93
|
+
* .orderBy(
|
|
94
|
+
* sql<string>`concat(first_name, last_name) asc`
|
|
95
|
+
* )
|
|
96
|
+
* .execute()
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* The generated SQL (PostgreSQL):
|
|
100
|
+
*
|
|
101
|
+
* ```sql
|
|
102
|
+
* select *
|
|
103
|
+
* from "person"
|
|
104
|
+
* order by
|
|
105
|
+
* ( select "pet"."name"
|
|
106
|
+
* from "pet"
|
|
107
|
+
* where "pet"."owner_id" = "person"."id"
|
|
108
|
+
* limit $1
|
|
109
|
+
* ) asc,
|
|
110
|
+
* concat(first_name, last_name) asc
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* `dynamic.ref` can be used to refer to columns not known at
|
|
114
|
+
* compile time:
|
|
115
|
+
*
|
|
116
|
+
* ```ts
|
|
117
|
+
* async function someQuery(orderBy: string) {
|
|
118
|
+
* const { ref } = db.dynamic
|
|
119
|
+
*
|
|
120
|
+
* return await db
|
|
121
|
+
* .selectFrom('person')
|
|
122
|
+
* .select('person.first_name as fn')
|
|
123
|
+
* .orderBy(ref(orderBy))
|
|
124
|
+
* .execute()
|
|
125
|
+
* }
|
|
126
|
+
*
|
|
127
|
+
* someQuery('fn')
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* The generated SQL (PostgreSQL):
|
|
131
|
+
*
|
|
132
|
+
* ```sql
|
|
133
|
+
* select "person"."first_name" as "fn"
|
|
134
|
+
* from "person"
|
|
135
|
+
* order by "fn"
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
orderBy<OE extends OrderByExpression<DB, TB, O>>(expr: OE, modifiers?: OrderByModifiers): OrderByInterface<DB, TB, O>;
|
|
139
|
+
/**
|
|
140
|
+
* @deprecated It does ~2-2.6x more compile-time instantiations compared to multiple chained `orderBy(expr, modifiers?)` calls (in `order by` clauses with reasonable item counts), and has broken autocompletion.
|
|
141
|
+
*/
|
|
142
|
+
orderBy<OE extends OrderByExpression<DB, TB, O> | DirectedOrderByStringReference<DB, TB, O>>(exprs: ReadonlyArray<OE>): OrderByInterface<DB, TB, O>;
|
|
143
|
+
/**
|
|
144
|
+
* @deprecated It does ~2.9x more compile-time instantiations compared to a `orderBy(expr, direction)` call.
|
|
145
|
+
*/
|
|
146
|
+
orderBy<OE extends DirectedOrderByStringReference<DB, TB, O>>(expr: OE): OrderByInterface<DB, TB, O>;
|
|
147
|
+
/**
|
|
148
|
+
* @deprecated Use `orderBy(expr, (ob) => ...)` instead.
|
|
149
|
+
*/
|
|
150
|
+
orderBy<OE extends OrderByExpression<DB, TB, O>>(expr: OE, modifiers: Expression<any>): OrderByInterface<DB, TB, O>;
|
|
151
|
+
/**
|
|
152
|
+
* Clears the `order by` clause from the query.
|
|
153
|
+
*
|
|
154
|
+
* See {@link orderBy} for adding an `order by` clause or item to a query.
|
|
155
|
+
*
|
|
156
|
+
* ### Examples
|
|
157
|
+
*
|
|
158
|
+
* ```ts
|
|
159
|
+
* const query = db
|
|
160
|
+
* .selectFrom('person')
|
|
161
|
+
* .selectAll()
|
|
162
|
+
* .orderBy('id', 'desc')
|
|
163
|
+
*
|
|
164
|
+
* const results = await query
|
|
165
|
+
* .clearOrderBy()
|
|
166
|
+
* .execute()
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* The generated SQL (PostgreSQL):
|
|
170
|
+
*
|
|
171
|
+
* ```sql
|
|
172
|
+
* select * from "person"
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
clearOrderBy(): OrderByInterface<DB, TB, O>;
|
|
176
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
2
|
+
import { OrderByItemNode } from '../operation-node/order-by-item-node.js';
|
|
3
|
+
import { Collation } from '../parser/collate-parser.js';
|
|
4
|
+
export declare class OrderByItemBuilder implements OperationNodeSource {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(props: OrderByItemBuilderProps);
|
|
7
|
+
/**
|
|
8
|
+
* Adds `desc` to the `order by` item.
|
|
9
|
+
*
|
|
10
|
+
* See {@link asc} for the opposite.
|
|
11
|
+
*/
|
|
12
|
+
desc(): OrderByItemBuilder;
|
|
13
|
+
/**
|
|
14
|
+
* Adds `asc` to the `order by` item.
|
|
15
|
+
*
|
|
16
|
+
* See {@link desc} for the opposite.
|
|
17
|
+
*/
|
|
18
|
+
asc(): OrderByItemBuilder;
|
|
19
|
+
/**
|
|
20
|
+
* Adds `nulls last` to the `order by` item.
|
|
21
|
+
*
|
|
22
|
+
* This is only supported by some dialects like PostgreSQL and SQLite.
|
|
23
|
+
*
|
|
24
|
+
* See {@link nullsFirst} for the opposite.
|
|
25
|
+
*/
|
|
26
|
+
nullsLast(): OrderByItemBuilder;
|
|
27
|
+
/**
|
|
28
|
+
* Adds `nulls first` to the `order by` item.
|
|
29
|
+
*
|
|
30
|
+
* This is only supported by some dialects like PostgreSQL and SQLite.
|
|
31
|
+
*
|
|
32
|
+
* See {@link nullsLast} for the opposite.
|
|
33
|
+
*/
|
|
34
|
+
nullsFirst(): OrderByItemBuilder;
|
|
35
|
+
/**
|
|
36
|
+
* Adds `collate <collationName>` to the `order by` item.
|
|
37
|
+
*/
|
|
38
|
+
collate(collation: Collation): OrderByItemBuilder;
|
|
39
|
+
toOperationNode(): OrderByItemNode;
|
|
40
|
+
}
|
|
41
|
+
export interface OrderByItemBuilderProps {
|
|
42
|
+
readonly node: OrderByItemNode;
|
|
43
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrderByItemBuilder = void 0;
|
|
4
|
+
const collate_node_js_1 = require("../operation-node/collate-node.js");
|
|
5
|
+
const order_by_item_node_js_1 = require("../operation-node/order-by-item-node.js");
|
|
6
|
+
const raw_node_js_1 = require("../operation-node/raw-node.js");
|
|
7
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
8
|
+
class OrderByItemBuilder {
|
|
9
|
+
#props;
|
|
10
|
+
constructor(props) {
|
|
11
|
+
this.#props = (0, object_utils_js_1.freeze)(props);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Adds `desc` to the `order by` item.
|
|
15
|
+
*
|
|
16
|
+
* See {@link asc} for the opposite.
|
|
17
|
+
*/
|
|
18
|
+
desc() {
|
|
19
|
+
return new OrderByItemBuilder({
|
|
20
|
+
node: order_by_item_node_js_1.OrderByItemNode.cloneWith(this.#props.node, {
|
|
21
|
+
direction: raw_node_js_1.RawNode.createWithSql('desc'),
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Adds `asc` to the `order by` item.
|
|
27
|
+
*
|
|
28
|
+
* See {@link desc} for the opposite.
|
|
29
|
+
*/
|
|
30
|
+
asc() {
|
|
31
|
+
return new OrderByItemBuilder({
|
|
32
|
+
node: order_by_item_node_js_1.OrderByItemNode.cloneWith(this.#props.node, {
|
|
33
|
+
direction: raw_node_js_1.RawNode.createWithSql('asc'),
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Adds `nulls last` to the `order by` item.
|
|
39
|
+
*
|
|
40
|
+
* This is only supported by some dialects like PostgreSQL and SQLite.
|
|
41
|
+
*
|
|
42
|
+
* See {@link nullsFirst} for the opposite.
|
|
43
|
+
*/
|
|
44
|
+
nullsLast() {
|
|
45
|
+
return new OrderByItemBuilder({
|
|
46
|
+
node: order_by_item_node_js_1.OrderByItemNode.cloneWith(this.#props.node, { nulls: 'last' }),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Adds `nulls first` to the `order by` item.
|
|
51
|
+
*
|
|
52
|
+
* This is only supported by some dialects like PostgreSQL and SQLite.
|
|
53
|
+
*
|
|
54
|
+
* See {@link nullsLast} for the opposite.
|
|
55
|
+
*/
|
|
56
|
+
nullsFirst() {
|
|
57
|
+
return new OrderByItemBuilder({
|
|
58
|
+
node: order_by_item_node_js_1.OrderByItemNode.cloneWith(this.#props.node, { nulls: 'first' }),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Adds `collate <collationName>` to the `order by` item.
|
|
63
|
+
*/
|
|
64
|
+
collate(collation) {
|
|
65
|
+
return new OrderByItemBuilder({
|
|
66
|
+
node: order_by_item_node_js_1.OrderByItemNode.cloneWith(this.#props.node, {
|
|
67
|
+
collation: collate_node_js_1.CollateNode.create(collation),
|
|
68
|
+
}),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
toOperationNode() {
|
|
72
|
+
return this.#props.node;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.OrderByItemBuilder = OrderByItemBuilder;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Expression } from '../expression/expression.js';
|
|
2
2
|
import { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
3
3
|
import { OverNode } from '../operation-node/over-node.js';
|
|
4
|
-
import {
|
|
4
|
+
import { DirectedOrderByStringReference, OrderByExpression, OrderByModifiers } from '../parser/order-by-parser.js';
|
|
5
5
|
import { PartitionByExpression } from '../parser/partition-by-parser.js';
|
|
6
|
-
import {
|
|
7
|
-
export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
|
|
6
|
+
import { OrderByInterface } from './order-by-interface.js';
|
|
7
|
+
export declare class OverBuilder<DB, TB extends keyof DB> implements OrderByInterface<DB, TB, {}>, OperationNodeSource {
|
|
8
8
|
#private;
|
|
9
9
|
constructor(props: OverBuilderProps);
|
|
10
10
|
/**
|
|
11
|
-
* Adds an order by clause item inside the over function.
|
|
11
|
+
* Adds an `order by` clause or item inside the `over` function.
|
|
12
12
|
*
|
|
13
13
|
* ```ts
|
|
14
14
|
* const result = await db
|
|
@@ -28,7 +28,44 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
|
|
|
28
28
|
* from "person"
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
|
-
orderBy<OE extends
|
|
31
|
+
orderBy<OE extends OrderByExpression<DB, TB, {}>>(expr: OE, modifiers?: OrderByModifiers): OverBuilder<DB, TB>;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated It does ~2-2.6x more compile-time instantiations compared to multiple chained `orderBy(expr, modifiers?)` calls (in `order by` clauses with reasonable item counts), and has broken autocompletion.
|
|
34
|
+
*/
|
|
35
|
+
orderBy<OE extends OrderByExpression<DB, TB, {}> | DirectedOrderByStringReference<DB, TB, {}>>(exprs: ReadonlyArray<OE>): OverBuilder<DB, TB>;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated It does ~2.9x more compile-time instantiations compared to a `orderBy(expr, direction)` call.
|
|
38
|
+
*/
|
|
39
|
+
orderBy<OE extends DirectedOrderByStringReference<DB, TB, {}>>(expr: OE): OverBuilder<DB, TB>;
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated Use `orderBy(expr, (ob) => ...)` instead.
|
|
42
|
+
*/
|
|
43
|
+
orderBy<OE extends OrderByExpression<DB, TB, {}>>(expr: OE, modifiers: Expression<any>): OverBuilder<DB, TB>;
|
|
44
|
+
/**
|
|
45
|
+
* Clears the `order by` clause from the query.
|
|
46
|
+
*
|
|
47
|
+
* See {@link orderBy} for adding an `order by` clause or item to a query.
|
|
48
|
+
*
|
|
49
|
+
* ### Examples
|
|
50
|
+
*
|
|
51
|
+
* ```ts
|
|
52
|
+
* const query = db
|
|
53
|
+
* .selectFrom('person')
|
|
54
|
+
* .selectAll()
|
|
55
|
+
* .orderBy('id', 'desc')
|
|
56
|
+
*
|
|
57
|
+
* const results = await query
|
|
58
|
+
* .clearOrderBy()
|
|
59
|
+
* .execute()
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* The generated SQL (PostgreSQL):
|
|
63
|
+
*
|
|
64
|
+
* ```sql
|
|
65
|
+
* select * from "person"
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
clearOrderBy(): OverBuilder<DB, TB>;
|
|
32
69
|
/**
|
|
33
70
|
* Adds partition by clause item/s inside the over function.
|
|
34
71
|
*
|
|
@@ -2,39 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OverBuilder = void 0;
|
|
4
4
|
const over_node_js_1 = require("../operation-node/over-node.js");
|
|
5
|
+
const query_node_js_1 = require("../operation-node/query-node.js");
|
|
5
6
|
const order_by_parser_js_1 = require("../parser/order-by-parser.js");
|
|
6
7
|
const partition_by_parser_js_1 = require("../parser/partition-by-parser.js");
|
|
7
8
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
8
|
-
const prevent_await_js_1 = require("../util/prevent-await.js");
|
|
9
9
|
class OverBuilder {
|
|
10
10
|
#props;
|
|
11
11
|
constructor(props) {
|
|
12
12
|
this.#props = (0, object_utils_js_1.freeze)(props);
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* .select(
|
|
21
|
-
* (eb) => eb.fn.avg<number>('age').over(
|
|
22
|
-
* ob => ob.orderBy('first_name', 'asc').orderBy('last_name', 'asc')
|
|
23
|
-
* ).as('average_age')
|
|
24
|
-
* )
|
|
25
|
-
* .execute()
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* The generated SQL (PostgreSQL):
|
|
29
|
-
*
|
|
30
|
-
* ```sql
|
|
31
|
-
* select avg("age") over(order by "first_name" asc, "last_name" asc) as "average_age"
|
|
32
|
-
* from "person"
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
orderBy(orderBy, direction) {
|
|
14
|
+
orderBy(...args) {
|
|
15
|
+
return new OverBuilder({
|
|
16
|
+
overNode: over_node_js_1.OverNode.cloneWithOrderByItems(this.#props.overNode, (0, order_by_parser_js_1.parseOrderBy)(args)),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
clearOrderBy() {
|
|
36
20
|
return new OverBuilder({
|
|
37
|
-
overNode:
|
|
21
|
+
overNode: query_node_js_1.QueryNode.cloneWithoutOrderBy(this.#props.overNode),
|
|
38
22
|
});
|
|
39
23
|
}
|
|
40
24
|
partitionBy(partitionBy) {
|
|
@@ -54,4 +38,3 @@ class OverBuilder {
|
|
|
54
38
|
}
|
|
55
39
|
}
|
|
56
40
|
exports.OverBuilder = OverBuilder;
|
|
57
|
-
(0, prevent_await_js_1.preventAwait)(OverBuilder, "don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
|
|
1
|
+
import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
|
|
2
2
|
import { SelectCallback, SelectExpression } from '../parser/select-parser.js';
|
|
3
3
|
import { Selectable } from '../util/column-type.js';
|
|
4
4
|
export interface ReturningInterface<DB, TB extends keyof DB, O> {
|
|
@@ -6,7 +6,7 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
|
|
|
6
6
|
* Allows you to return data from modified rows.
|
|
7
7
|
*
|
|
8
8
|
* On supported databases like PostgreSQL, this method can be chained to
|
|
9
|
-
* `insert`, `update` and `
|
|
9
|
+
* `insert`, `update`, `delete` and `merge` queries to return data.
|
|
10
10
|
*
|
|
11
11
|
* Note that on SQLite you need to give aliases for the expressions to avoid
|
|
12
12
|
* [this bug](https://sqlite.org/forum/forumpost/033daf0b32) in SQLite.
|
|
@@ -65,10 +65,27 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
|
|
|
65
65
|
returning<CB extends SelectCallback<DB, TB>>(callback: CB): ReturningInterface<DB, TB, ReturningCallbackRow<DB, TB, O, CB>>;
|
|
66
66
|
returning<SE extends SelectExpression<DB, TB>>(selection: SE): ReturningInterface<DB, TB, ReturningRow<DB, TB, O, SE>>;
|
|
67
67
|
/**
|
|
68
|
-
* Adds a `returning *` to an insert/update/delete query on databases
|
|
68
|
+
* Adds a `returning *` to an insert/update/delete/merge query on databases
|
|
69
69
|
* that support `returning` such as PostgreSQL.
|
|
70
70
|
*
|
|
71
71
|
* Also see the {@link returning} method.
|
|
72
72
|
*/
|
|
73
73
|
returningAll(): ReturningInterface<DB, TB, Selectable<DB[TB]>>;
|
|
74
74
|
}
|
|
75
|
+
export interface MultiTableReturningInterface<DB, TB extends keyof DB, O> extends ReturningInterface<DB, TB, O> {
|
|
76
|
+
/**
|
|
77
|
+
* Adds a `returning *` or `returning table.*` to an insert/update/delete/merge
|
|
78
|
+
* query on databases that support `returning` such as PostgreSQL.
|
|
79
|
+
*
|
|
80
|
+
* Also see the {@link returning} method.
|
|
81
|
+
*/
|
|
82
|
+
returningAll<T extends TB>(tables: ReadonlyArray<T>): MultiTableReturningInterface<DB, TB, ReturningAllRow<DB, T, O>>;
|
|
83
|
+
/**
|
|
84
|
+
* Adds a `returning *` to an insert/update/delete/merge query on databases
|
|
85
|
+
* that support `returning` such as PostgreSQL.
|
|
86
|
+
*
|
|
87
|
+
* Also see the {@link returning} method.
|
|
88
|
+
*/
|
|
89
|
+
returningAll<T extends TB>(table: T): MultiTableReturningInterface<DB, TB, ReturningAllRow<DB, T, O>>;
|
|
90
|
+
returningAll(): ReturningInterface<DB, TB, Selectable<DB[TB]>>;
|
|
91
|
+
}
|