kysely 0.27.6 → 0.28.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 +169 -1
- 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-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 +7 -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 +8 -0
- package/dist/cjs/migration/migrator.js +1 -1
- 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/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/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 +6 -5
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +29 -24
- 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 +3 -3
- 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-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 +7 -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 +8 -0
- package/dist/esm/migration/migrator.js +1 -1
- 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/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/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 +6 -5
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +29 -24
- 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 +3 -3
- 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 -168
- 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
|
@@ -12,11 +12,11 @@ import { QueryExecutor } from '../query-executor/query-executor.js';
|
|
|
12
12
|
import { QueryId } from '../util/query-id.js';
|
|
13
13
|
import { KyselyPlugin } from '../plugin/kysely-plugin.js';
|
|
14
14
|
import { WhereInterface } from './where-interface.js';
|
|
15
|
-
import {
|
|
15
|
+
import { MultiTableReturningInterface } from './returning-interface.js';
|
|
16
16
|
import { NoResultErrorConstructor } from './no-result-error.js';
|
|
17
17
|
import { DeleteResult } from './delete-result.js';
|
|
18
18
|
import { DeleteQueryNode } from '../operation-node/delete-query-node.js';
|
|
19
|
-
import {
|
|
19
|
+
import { OrderByExpression, OrderByModifiers, DirectedOrderByStringReference } from '../parser/order-by-parser.js';
|
|
20
20
|
import { Explainable, ExplainFormat } from '../util/explainable.js';
|
|
21
21
|
import { AliasedExpression, Expression } from '../expression/expression.js';
|
|
22
22
|
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
@@ -25,7 +25,8 @@ import { Streamable } from '../util/streamable.js';
|
|
|
25
25
|
import { ExpressionOrFactory } from '../parser/expression-parser.js';
|
|
26
26
|
import { ValueExpression } from '../parser/value-parser.js';
|
|
27
27
|
import { OutputCallback, OutputExpression, OutputInterface, SelectExpressionFromOutputCallback, SelectExpressionFromOutputExpression } from './output-interface.js';
|
|
28
|
-
|
|
28
|
+
import { OrderByInterface } from './order-by-interface.js';
|
|
29
|
+
export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements WhereInterface<DB, TB>, MultiTableReturningInterface<DB, TB, O>, OutputInterface<DB, TB, O, 'deleted'>, OrderByInterface<DB, TB, {}>, OperationNodeSource, Compilable<O>, Explainable, Streamable<O> {
|
|
29
30
|
#private;
|
|
30
31
|
constructor(props: DeleteQueryBuilderProps);
|
|
31
32
|
/**
|
|
@@ -650,7 +651,7 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
|
|
|
650
651
|
* Allows you to return data from modified rows.
|
|
651
652
|
*
|
|
652
653
|
* On supported databases like PostgreSQL, this method can be chained to
|
|
653
|
-
* `insert`, `update` and `
|
|
654
|
+
* `insert`, `update`, `delete` and `merge` queries to return data.
|
|
654
655
|
*
|
|
655
656
|
* Note that on SQLite you need to give aliases for the expressions to avoid
|
|
656
657
|
* [this bug](https://sqlite.org/forum/forumpost/033daf0b32) in SQLite.
|
|
@@ -802,8 +803,8 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
|
|
|
802
803
|
*/
|
|
803
804
|
returningAll<T extends TB>(tables: ReadonlyArray<T>): DeleteQueryBuilder<DB, TB, ReturningAllRow<DB, T, O>>;
|
|
804
805
|
/**
|
|
805
|
-
* Adds a `returning *` to an insert/update/delete
|
|
806
|
-
* that support `returning` such as PostgreSQL.
|
|
806
|
+
* Adds a `returning *` or `returning table.*` to an insert/update/delete/merge
|
|
807
|
+
* query on databases that support `returning` such as PostgreSQL.
|
|
807
808
|
*
|
|
808
809
|
* Also see the {@link returning} method.
|
|
809
810
|
*/
|
|
@@ -975,61 +976,49 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
|
|
|
975
976
|
*/
|
|
976
977
|
clearLimit(): DeleteQueryBuilder<DB, TB, O>;
|
|
977
978
|
/**
|
|
978
|
-
*
|
|
979
|
-
*
|
|
980
|
-
* ### Examples
|
|
981
|
-
*
|
|
982
|
-
* ```ts
|
|
983
|
-
* await db.deleteFrom('pet')
|
|
984
|
-
* .returningAll()
|
|
985
|
-
* .where('name', '=', 'Max')
|
|
986
|
-
* .orderBy('id')
|
|
987
|
-
* .clearOrderBy()
|
|
988
|
-
* .execute()
|
|
989
|
-
* ```
|
|
990
|
-
*
|
|
991
|
-
* The generated SQL(PostgreSQL):
|
|
992
|
-
*
|
|
993
|
-
* ```sql
|
|
994
|
-
* delete from "pet" where "name" = "Max" returning *
|
|
995
|
-
* ```
|
|
979
|
+
* @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
|
|
996
980
|
*/
|
|
997
|
-
|
|
981
|
+
orderBy<OE extends OrderByExpression<DB, TB, {}>>(expr: OE, modifiers?: OrderByModifiers): DeleteQueryBuilder<DB, TB, O>;
|
|
998
982
|
/**
|
|
999
|
-
*
|
|
1000
|
-
*
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
*
|
|
1005
|
-
*
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
983
|
+
* @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
|
|
984
|
+
* @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.
|
|
985
|
+
*/
|
|
986
|
+
orderBy<OE extends OrderByExpression<DB, TB, {}> | DirectedOrderByStringReference<DB, TB, {}>>(exprs: ReadonlyArray<OE>): DeleteQueryBuilder<DB, TB, O>;
|
|
987
|
+
/**
|
|
988
|
+
* @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
|
|
989
|
+
* @deprecated It does ~2.9x more compile-time instantiations compared to a `orderBy(expr, direction)` call.
|
|
990
|
+
*/
|
|
991
|
+
orderBy<OE extends DirectedOrderByStringReference<DB, TB, {}>>(expr: OE): DeleteQueryBuilder<DB, TB, O>;
|
|
992
|
+
/**
|
|
993
|
+
* @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
|
|
994
|
+
* @deprecated Use `orderBy(expr, (ob) => ...)` instead.
|
|
995
|
+
*/
|
|
996
|
+
orderBy<OE extends OrderByExpression<DB, TB, {}>>(expr: OE, modifiers: Expression<any>): DeleteQueryBuilder<DB, TB, O>;
|
|
997
|
+
/**
|
|
998
|
+
* Clears the `order by` clause from the query.
|
|
1009
999
|
*
|
|
1010
|
-
* See {@link
|
|
1000
|
+
* See {@link orderBy} for adding an `order by` clause or item to a query.
|
|
1011
1001
|
*
|
|
1012
1002
|
* ### Examples
|
|
1013
1003
|
*
|
|
1014
|
-
* Delete 5 oldest items in a table:
|
|
1015
|
-
*
|
|
1016
1004
|
* ```ts
|
|
1017
|
-
*
|
|
1018
|
-
* .
|
|
1019
|
-
* .
|
|
1020
|
-
* .
|
|
1005
|
+
* const query = db
|
|
1006
|
+
* .selectFrom('person')
|
|
1007
|
+
* .selectAll()
|
|
1008
|
+
* .orderBy('id', 'desc')
|
|
1009
|
+
*
|
|
1010
|
+
* const results = await query
|
|
1011
|
+
* .clearOrderBy()
|
|
1021
1012
|
* .execute()
|
|
1022
1013
|
* ```
|
|
1023
1014
|
*
|
|
1024
|
-
* The generated SQL (
|
|
1015
|
+
* The generated SQL (PostgreSQL):
|
|
1025
1016
|
*
|
|
1026
1017
|
* ```sql
|
|
1027
|
-
*
|
|
1028
|
-
* order by `created_at`
|
|
1029
|
-
* limit ?
|
|
1018
|
+
* select * from "person"
|
|
1030
1019
|
* ```
|
|
1031
1020
|
*/
|
|
1032
|
-
|
|
1021
|
+
clearOrderBy(): DeleteQueryBuilder<DB, TB, O>;
|
|
1033
1022
|
/**
|
|
1034
1023
|
* Adds a limit clause to the query.
|
|
1035
1024
|
*
|
|
@@ -5,7 +5,6 @@ const join_parser_js_1 = require("../parser/join-parser.js");
|
|
|
5
5
|
const table_parser_js_1 = require("../parser/table-parser.js");
|
|
6
6
|
const select_parser_js_1 = require("../parser/select-parser.js");
|
|
7
7
|
const query_node_js_1 = require("../operation-node/query-node.js");
|
|
8
|
-
const prevent_await_js_1 = require("../util/prevent-await.js");
|
|
9
8
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
10
9
|
const no_result_error_js_1 = require("./no-result-error.js");
|
|
11
10
|
const delete_result_js_1 = require("./delete-result.js");
|
|
@@ -90,27 +89,21 @@ class DeleteQueryBuilder {
|
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
91
|
innerJoin(...args) {
|
|
93
|
-
return
|
|
94
|
-
...this.#props,
|
|
95
|
-
queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('InnerJoin', args)),
|
|
96
|
-
});
|
|
92
|
+
return this.#join('InnerJoin', args);
|
|
97
93
|
}
|
|
98
94
|
leftJoin(...args) {
|
|
99
|
-
return
|
|
100
|
-
...this.#props,
|
|
101
|
-
queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('LeftJoin', args)),
|
|
102
|
-
});
|
|
95
|
+
return this.#join('LeftJoin', args);
|
|
103
96
|
}
|
|
104
97
|
rightJoin(...args) {
|
|
105
|
-
return
|
|
106
|
-
...this.#props,
|
|
107
|
-
queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('RightJoin', args)),
|
|
108
|
-
});
|
|
98
|
+
return this.#join('RightJoin', args);
|
|
109
99
|
}
|
|
110
100
|
fullJoin(...args) {
|
|
101
|
+
return this.#join('FullJoin', args);
|
|
102
|
+
}
|
|
103
|
+
#join(joinType, args) {
|
|
111
104
|
return new DeleteQueryBuilder({
|
|
112
105
|
...this.#props,
|
|
113
|
-
queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(
|
|
106
|
+
queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(joinType, args)),
|
|
114
107
|
});
|
|
115
108
|
}
|
|
116
109
|
returning(selection) {
|
|
@@ -188,70 +181,16 @@ class DeleteQueryBuilder {
|
|
|
188
181
|
queryNode: delete_query_node_js_1.DeleteQueryNode.cloneWithoutLimit(this.#props.queryNode),
|
|
189
182
|
});
|
|
190
183
|
}
|
|
191
|
-
|
|
192
|
-
* Clears the `order by` clause from the query.
|
|
193
|
-
*
|
|
194
|
-
* ### Examples
|
|
195
|
-
*
|
|
196
|
-
* ```ts
|
|
197
|
-
* await db.deleteFrom('pet')
|
|
198
|
-
* .returningAll()
|
|
199
|
-
* .where('name', '=', 'Max')
|
|
200
|
-
* .orderBy('id')
|
|
201
|
-
* .clearOrderBy()
|
|
202
|
-
* .execute()
|
|
203
|
-
* ```
|
|
204
|
-
*
|
|
205
|
-
* The generated SQL(PostgreSQL):
|
|
206
|
-
*
|
|
207
|
-
* ```sql
|
|
208
|
-
* delete from "pet" where "name" = "Max" returning *
|
|
209
|
-
* ```
|
|
210
|
-
*/
|
|
211
|
-
clearOrderBy() {
|
|
184
|
+
orderBy(...args) {
|
|
212
185
|
return new DeleteQueryBuilder({
|
|
213
186
|
...this.#props,
|
|
214
|
-
queryNode:
|
|
187
|
+
queryNode: query_node_js_1.QueryNode.cloneWithOrderByItems(this.#props.queryNode, (0, order_by_parser_js_1.parseOrderBy)(args)),
|
|
215
188
|
});
|
|
216
189
|
}
|
|
217
|
-
|
|
218
|
-
* Adds an `order by` clause to the query.
|
|
219
|
-
*
|
|
220
|
-
* `orderBy` calls are additive. To order by multiple columns, call `orderBy`
|
|
221
|
-
* multiple times.
|
|
222
|
-
*
|
|
223
|
-
* The first argument is the expression to order by and the second is the
|
|
224
|
-
* order (`asc` or `desc`).
|
|
225
|
-
*
|
|
226
|
-
* An `order by` clause in a delete query is only supported by some dialects
|
|
227
|
-
* like MySQL.
|
|
228
|
-
*
|
|
229
|
-
* See {@link SelectQueryBuilder.orderBy} for more examples.
|
|
230
|
-
*
|
|
231
|
-
* ### Examples
|
|
232
|
-
*
|
|
233
|
-
* Delete 5 oldest items in a table:
|
|
234
|
-
*
|
|
235
|
-
* ```ts
|
|
236
|
-
* await db
|
|
237
|
-
* .deleteFrom('pet')
|
|
238
|
-
* .orderBy('created_at')
|
|
239
|
-
* .limit(5)
|
|
240
|
-
* .execute()
|
|
241
|
-
* ```
|
|
242
|
-
*
|
|
243
|
-
* The generated SQL (MySQL):
|
|
244
|
-
*
|
|
245
|
-
* ```sql
|
|
246
|
-
* delete from `pet`
|
|
247
|
-
* order by `created_at`
|
|
248
|
-
* limit ?
|
|
249
|
-
* ```
|
|
250
|
-
*/
|
|
251
|
-
orderBy(orderBy, direction) {
|
|
190
|
+
clearOrderBy() {
|
|
252
191
|
return new DeleteQueryBuilder({
|
|
253
192
|
...this.#props,
|
|
254
|
-
queryNode:
|
|
193
|
+
queryNode: query_node_js_1.QueryNode.cloneWithoutOrderBy(this.#props.queryNode),
|
|
255
194
|
});
|
|
256
195
|
}
|
|
257
196
|
/**
|
|
@@ -519,11 +458,7 @@ class DeleteQueryBuilder {
|
|
|
519
458
|
(query.output && adapter.supportsOutput)) {
|
|
520
459
|
return result.rows;
|
|
521
460
|
}
|
|
522
|
-
return [
|
|
523
|
-
new delete_result_js_1.DeleteResult(
|
|
524
|
-
// TODO: remove numUpdatedOrDeletedRows.
|
|
525
|
-
result.numAffectedRows ?? result.numUpdatedOrDeletedRows ?? BigInt(0)),
|
|
526
|
-
];
|
|
461
|
+
return [new delete_result_js_1.DeleteResult(result.numAffectedRows ?? BigInt(0))];
|
|
527
462
|
}
|
|
528
463
|
/**
|
|
529
464
|
* Executes the query and returns the first result or undefined if
|
|
@@ -567,4 +502,3 @@ class DeleteQueryBuilder {
|
|
|
567
502
|
}
|
|
568
503
|
}
|
|
569
504
|
exports.DeleteQueryBuilder = DeleteQueryBuilder;
|
|
570
|
-
(0, prevent_await_js_1.preventAwait)(DeleteQueryBuilder, "don't await DeleteQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");
|
|
@@ -393,7 +393,7 @@ export interface FunctionModule<DB, TB extends keyof DB> {
|
|
|
393
393
|
* .execute()
|
|
394
394
|
* ```
|
|
395
395
|
*/
|
|
396
|
-
max<O extends number | string | bigint | null = never, RE extends ReferenceExpression<DB, TB> = ReferenceExpression<DB, TB>>(expr: RE): AggregateFunctionBuilder<DB, TB, IsNever<O> extends true ? ExtractTypeFromReferenceExpression<DB, TB, RE, number | string | bigint> : O>;
|
|
396
|
+
max<O extends number | string | Date | bigint | null = never, RE extends ReferenceExpression<DB, TB> = ReferenceExpression<DB, TB>>(expr: RE): AggregateFunctionBuilder<DB, TB, IsNever<O> extends true ? ExtractTypeFromReferenceExpression<DB, TB, RE, number | string | Date | bigint> : O>;
|
|
397
397
|
/**
|
|
398
398
|
* Calls the `min` function for the column or expression given as the argument.
|
|
399
399
|
*
|
|
@@ -432,7 +432,7 @@ export interface FunctionModule<DB, TB extends keyof DB> {
|
|
|
432
432
|
* .execute()
|
|
433
433
|
* ```
|
|
434
434
|
*/
|
|
435
|
-
min<O extends number | string | bigint | null = never, RE extends ReferenceExpression<DB, TB> = ReferenceExpression<DB, TB>>(expr: RE): AggregateFunctionBuilder<DB, TB, IsNever<O> extends true ? ExtractTypeFromReferenceExpression<DB, TB, RE, number | string | bigint> : O>;
|
|
435
|
+
min<O extends number | string | Date | bigint | null = never, RE extends ReferenceExpression<DB, TB> = ReferenceExpression<DB, TB>>(expr: RE): AggregateFunctionBuilder<DB, TB, IsNever<O> extends true ? ExtractTypeFromReferenceExpression<DB, TB, RE, number | string | Date | bigint> : O>;
|
|
436
436
|
/**
|
|
437
437
|
* Calls the `sum` function for the column or expression given as the argument.
|
|
438
438
|
*
|
|
@@ -518,9 +518,13 @@ export interface FunctionModule<DB, TB extends keyof DB> {
|
|
|
518
518
|
any<T>(subquery: SelectQueryBuilderExpression<Record<string, T>>): ExpressionWrapper<DB, TB, T>;
|
|
519
519
|
any<T>(expr: Expression<ReadonlyArray<T>>): ExpressionWrapper<DB, TB, T>;
|
|
520
520
|
/**
|
|
521
|
-
* Creates a json_agg function call.
|
|
521
|
+
* Creates a `json_agg` function call.
|
|
522
522
|
*
|
|
523
|
-
* This
|
|
523
|
+
* This is only supported by some dialects like PostgreSQL.
|
|
524
|
+
*
|
|
525
|
+
* ### Examples
|
|
526
|
+
*
|
|
527
|
+
* You can use it on table expressions:
|
|
524
528
|
*
|
|
525
529
|
* ```ts
|
|
526
530
|
* await db.selectFrom('person')
|
|
@@ -538,8 +542,31 @@ export interface FunctionModule<DB, TB extends keyof DB> {
|
|
|
538
542
|
* inner join "pet" on "pet"."owner_id" = "person"."id"
|
|
539
543
|
* group by "person"."first_name"
|
|
540
544
|
* ```
|
|
545
|
+
*
|
|
546
|
+
* or on columns:
|
|
547
|
+
*
|
|
548
|
+
* ```ts
|
|
549
|
+
* await db.selectFrom('person')
|
|
550
|
+
* .innerJoin('pet', 'pet.owner_id', 'person.id')
|
|
551
|
+
* .select((eb) => [
|
|
552
|
+
* 'first_name',
|
|
553
|
+
* eb.fn.jsonAgg('pet.name').as('pet_names'),
|
|
554
|
+
* ])
|
|
555
|
+
* .groupBy('person.first_name')
|
|
556
|
+
* .execute()
|
|
557
|
+
* ```
|
|
558
|
+
*
|
|
559
|
+
* The generated SQL (PostgreSQL):
|
|
560
|
+
*
|
|
561
|
+
* ```sql
|
|
562
|
+
* select "first_name", json_agg("pet"."name") AS "pet_names"
|
|
563
|
+
* from "person"
|
|
564
|
+
* inner join "pet" ON "pet"."owner_id" = "person"."id"
|
|
565
|
+
* group by "person"."first_name"
|
|
566
|
+
* ```
|
|
541
567
|
*/
|
|
542
568
|
jsonAgg<T extends (TB & string) | Expression<unknown>>(table: T): AggregateFunctionBuilder<DB, TB, T extends TB ? Selectable<DB[T]>[] : T extends Expression<infer O> ? O[] : never>;
|
|
569
|
+
jsonAgg<RE extends StringReference<DB, TB>>(column: RE): AggregateFunctionBuilder<DB, TB, ExtractTypeFromStringReference<DB, TB, RE>[] | null>;
|
|
543
570
|
/**
|
|
544
571
|
* Creates a to_json function call.
|
|
545
572
|
*
|
|
@@ -307,15 +307,18 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
|
|
|
307
307
|
/**
|
|
308
308
|
* Changes an `insert into` query to an `insert ignore into` query.
|
|
309
309
|
*
|
|
310
|
+
* This is only supported by some dialects like MySQL.
|
|
311
|
+
*
|
|
312
|
+
* To avoid a footgun, when invoked with the SQLite dialect, this method will
|
|
313
|
+
* be handled like {@link orIgnore}. See also, {@link orAbort}, {@link orFail},
|
|
314
|
+
* {@link orReplace}, and {@link orRollback}.
|
|
315
|
+
*
|
|
310
316
|
* If you use the ignore modifier, ignorable errors that occur while executing the
|
|
311
317
|
* insert statement are ignored. For example, without ignore, a row that duplicates
|
|
312
318
|
* an existing unique index or primary key value in the table causes a duplicate-key
|
|
313
319
|
* error and the statement is aborted. With ignore, the row is discarded and no error
|
|
314
320
|
* occurs.
|
|
315
321
|
*
|
|
316
|
-
* This is only supported on some dialects like MySQL. On most dialects you should
|
|
317
|
-
* use the {@link onConflict} method.
|
|
318
|
-
*
|
|
319
322
|
* ### Examples
|
|
320
323
|
*
|
|
321
324
|
* ```ts
|
|
@@ -332,10 +335,162 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
|
|
|
332
335
|
* The generated SQL (MySQL):
|
|
333
336
|
*
|
|
334
337
|
* ```sql
|
|
335
|
-
* insert ignore into `person` (
|
|
338
|
+
* insert ignore into `person` (`first_name`, `last_name`, `gender`) values (?, ?, ?)
|
|
339
|
+
* ```
|
|
340
|
+
*
|
|
341
|
+
* The generated SQL (SQLite):
|
|
342
|
+
*
|
|
343
|
+
* ```sql
|
|
344
|
+
* insert or ignore into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
|
|
336
345
|
* ```
|
|
337
346
|
*/
|
|
338
347
|
ignore(): InsertQueryBuilder<DB, TB, O>;
|
|
348
|
+
/**
|
|
349
|
+
* Changes an `insert into` query to an `insert or ignore into` query.
|
|
350
|
+
*
|
|
351
|
+
* This is only supported by some dialects like SQLite.
|
|
352
|
+
*
|
|
353
|
+
* To avoid a footgun, when invoked with the MySQL dialect, this method will
|
|
354
|
+
* be handled like {@link ignore}.
|
|
355
|
+
*
|
|
356
|
+
* See also, {@link orAbort}, {@link orFail}, {@link orReplace}, and {@link orRollback}.
|
|
357
|
+
*
|
|
358
|
+
* ### Examples
|
|
359
|
+
*
|
|
360
|
+
* ```ts
|
|
361
|
+
* await db.insertInto('person')
|
|
362
|
+
* .orIgnore()
|
|
363
|
+
* .values({
|
|
364
|
+
* first_name: 'John',
|
|
365
|
+
* last_name: 'Doe',
|
|
366
|
+
* gender: 'female',
|
|
367
|
+
* })
|
|
368
|
+
* .execute()
|
|
369
|
+
* ```
|
|
370
|
+
*
|
|
371
|
+
* The generated SQL (SQLite):
|
|
372
|
+
*
|
|
373
|
+
* ```sql
|
|
374
|
+
* insert or ignore into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
|
|
375
|
+
* ```
|
|
376
|
+
*
|
|
377
|
+
* The generated SQL (MySQL):
|
|
378
|
+
*
|
|
379
|
+
* ```sql
|
|
380
|
+
* insert ignore into `person` (`first_name`, `last_name`, `gender`) values (?, ?, ?)
|
|
381
|
+
* ```
|
|
382
|
+
*/
|
|
383
|
+
orIgnore(): InsertQueryBuilder<DB, TB, O>;
|
|
384
|
+
/**
|
|
385
|
+
* Changes an `insert into` query to an `insert or abort into` query.
|
|
386
|
+
*
|
|
387
|
+
* This is only supported by some dialects like SQLite.
|
|
388
|
+
*
|
|
389
|
+
* See also, {@link orIgnore}, {@link orFail}, {@link orReplace}, and {@link orRollback}.
|
|
390
|
+
*
|
|
391
|
+
* ### Examples
|
|
392
|
+
*
|
|
393
|
+
* ```ts
|
|
394
|
+
* await db.insertInto('person')
|
|
395
|
+
* .orAbort()
|
|
396
|
+
* .values({
|
|
397
|
+
* first_name: 'John',
|
|
398
|
+
* last_name: 'Doe',
|
|
399
|
+
* gender: 'female',
|
|
400
|
+
* })
|
|
401
|
+
* .execute()
|
|
402
|
+
* ```
|
|
403
|
+
*
|
|
404
|
+
* The generated SQL (SQLite):
|
|
405
|
+
*
|
|
406
|
+
* ```sql
|
|
407
|
+
* insert or abort into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
orAbort(): InsertQueryBuilder<DB, TB, O>;
|
|
411
|
+
/**
|
|
412
|
+
* Changes an `insert into` query to an `insert or fail into` query.
|
|
413
|
+
*
|
|
414
|
+
* This is only supported by some dialects like SQLite.
|
|
415
|
+
*
|
|
416
|
+
* See also, {@link orIgnore}, {@link orAbort}, {@link orReplace}, and {@link orRollback}.
|
|
417
|
+
*
|
|
418
|
+
* ### Examples
|
|
419
|
+
*
|
|
420
|
+
* ```ts
|
|
421
|
+
* await db.insertInto('person')
|
|
422
|
+
* .orFail()
|
|
423
|
+
* .values({
|
|
424
|
+
* first_name: 'John',
|
|
425
|
+
* last_name: 'Doe',
|
|
426
|
+
* gender: 'female',
|
|
427
|
+
* })
|
|
428
|
+
* .execute()
|
|
429
|
+
* ```
|
|
430
|
+
*
|
|
431
|
+
* The generated SQL (SQLite):
|
|
432
|
+
*
|
|
433
|
+
* ```sql
|
|
434
|
+
* insert or fail into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
|
|
435
|
+
* ```
|
|
436
|
+
*/
|
|
437
|
+
orFail(): InsertQueryBuilder<DB, TB, O>;
|
|
438
|
+
/**
|
|
439
|
+
* Changes an `insert into` query to an `insert or replace into` query.
|
|
440
|
+
*
|
|
441
|
+
* This is only supported by some dialects like SQLite.
|
|
442
|
+
*
|
|
443
|
+
* You can also use {@link Kysely.replaceInto} to achieve the same result.
|
|
444
|
+
*
|
|
445
|
+
* See also, {@link orIgnore}, {@link orAbort}, {@link orFail}, and {@link orRollback}.
|
|
446
|
+
*
|
|
447
|
+
* ### Examples
|
|
448
|
+
*
|
|
449
|
+
* ```ts
|
|
450
|
+
* await db.insertInto('person')
|
|
451
|
+
* .orReplace()
|
|
452
|
+
* .values({
|
|
453
|
+
* first_name: 'John',
|
|
454
|
+
* last_name: 'Doe',
|
|
455
|
+
* gender: 'female',
|
|
456
|
+
* })
|
|
457
|
+
* .execute()
|
|
458
|
+
* ```
|
|
459
|
+
*
|
|
460
|
+
* The generated SQL (SQLite):
|
|
461
|
+
*
|
|
462
|
+
* ```sql
|
|
463
|
+
* insert or replace into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
|
|
464
|
+
* ```
|
|
465
|
+
*/
|
|
466
|
+
orReplace(): InsertQueryBuilder<DB, TB, O>;
|
|
467
|
+
/**
|
|
468
|
+
* Changes an `insert into` query to an `insert or rollback into` query.
|
|
469
|
+
*
|
|
470
|
+
* This is only supported by some dialects like SQLite.
|
|
471
|
+
*
|
|
472
|
+
* See also, {@link orIgnore}, {@link orAbort}, {@link orFail}, and {@link orReplace}.
|
|
473
|
+
*
|
|
474
|
+
* ### Examples
|
|
475
|
+
*
|
|
476
|
+
* ```ts
|
|
477
|
+
* await db.insertInto('person')
|
|
478
|
+
* .orRollback()
|
|
479
|
+
* .values({
|
|
480
|
+
* first_name: 'John',
|
|
481
|
+
* last_name: 'Doe',
|
|
482
|
+
* gender: 'female',
|
|
483
|
+
* })
|
|
484
|
+
* .execute()
|
|
485
|
+
* ```
|
|
486
|
+
*
|
|
487
|
+
* The generated SQL (SQLite):
|
|
488
|
+
*
|
|
489
|
+
* ```sql
|
|
490
|
+
* insert or rollback into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
|
|
491
|
+
* ```
|
|
492
|
+
*/
|
|
493
|
+
orRollback(): InsertQueryBuilder<DB, TB, O>;
|
|
339
494
|
/**
|
|
340
495
|
* Changes an `insert into` query to an `insert top into` query.
|
|
341
496
|
*
|
|
@@ -595,7 +750,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
|
|
|
595
750
|
* Allows you to return data from modified rows.
|
|
596
751
|
*
|
|
597
752
|
* On supported databases like PostgreSQL, this method can be chained to
|
|
598
|
-
* `insert`, `update` and `
|
|
753
|
+
* `insert`, `update`, `delete` and `merge` queries to return data.
|
|
599
754
|
*
|
|
600
755
|
* Note that on SQLite you need to give aliases for the expressions to avoid
|
|
601
756
|
* [this bug](https://sqlite.org/forum/forumpost/033daf0b32) in SQLite.
|
|
@@ -654,7 +809,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
|
|
|
654
809
|
returning<CB extends SelectCallback<DB, TB>>(callback: CB): InsertQueryBuilder<DB, TB, ReturningCallbackRow<DB, TB, O, CB>>;
|
|
655
810
|
returning<SE extends SelectExpression<DB, TB>>(selection: SE): InsertQueryBuilder<DB, TB, ReturningRow<DB, TB, O, SE>>;
|
|
656
811
|
/**
|
|
657
|
-
* Adds a `returning *` to an insert/update/delete query on databases
|
|
812
|
+
* Adds a `returning *` to an insert/update/delete/merge query on databases
|
|
658
813
|
* that support `returning` such as PostgreSQL.
|
|
659
814
|
*
|
|
660
815
|
* Also see the {@link returning} method.
|