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
|
@@ -37,7 +37,7 @@ import { OnConflictNode } from './on-conflict-node.js';
|
|
|
37
37
|
import { CreateIndexNode } from './create-index-node.js';
|
|
38
38
|
import { ListNode } from './list-node.js';
|
|
39
39
|
import { DropIndexNode } from './drop-index-node.js';
|
|
40
|
-
import { PrimaryKeyConstraintNode } from './primary-constraint-node.js';
|
|
40
|
+
import { PrimaryKeyConstraintNode } from './primary-key-constraint-node.js';
|
|
41
41
|
import { UniqueConstraintNode } from './unique-constraint-node.js';
|
|
42
42
|
import { ReferencesNode } from './references-node.js';
|
|
43
43
|
import { CheckConstraintNode } from './check-constraint-node.js';
|
|
@@ -92,6 +92,10 @@ import { CastNode } from './cast-node.js';
|
|
|
92
92
|
import { FetchNode } from './fetch-node.js';
|
|
93
93
|
import { TopNode } from './top-node.js';
|
|
94
94
|
import { OutputNode } from './output-node.js';
|
|
95
|
+
import { RefreshMaterializedViewNode } from './refresh-materialized-view-node.js';
|
|
96
|
+
import { OrActionNode } from './or-action-node.js';
|
|
97
|
+
import { CollateNode } from './collate-node.js';
|
|
98
|
+
import { RenameConstraintNode } from './rename-constraint-node.js';
|
|
95
99
|
export declare abstract class OperationNodeVisitor {
|
|
96
100
|
#private;
|
|
97
101
|
protected readonly nodeStack: OperationNode[];
|
|
@@ -148,6 +152,7 @@ export declare abstract class OperationNodeVisitor {
|
|
|
148
152
|
protected abstract visitModifyColumn(node: ModifyColumnNode): void;
|
|
149
153
|
protected abstract visitAddConstraint(node: AddConstraintNode): void;
|
|
150
154
|
protected abstract visitDropConstraint(node: DropConstraintNode): void;
|
|
155
|
+
protected abstract visitRenameConstraint(node: RenameConstraintNode): void;
|
|
151
156
|
protected abstract visitForeignKeyConstraint(node: ForeignKeyConstraintNode): void;
|
|
152
157
|
protected abstract visitDataType(node: DataTypeNode): void;
|
|
153
158
|
protected abstract visitSelectAll(node: SelectAllNode): void;
|
|
@@ -157,6 +162,7 @@ export declare abstract class OperationNodeVisitor {
|
|
|
157
162
|
protected abstract visitPrimitiveValueList(node: PrimitiveValueListNode): void;
|
|
158
163
|
protected abstract visitOperator(node: OperatorNode): void;
|
|
159
164
|
protected abstract visitCreateView(node: CreateViewNode): void;
|
|
165
|
+
protected abstract visitRefreshMaterializedView(node: RefreshMaterializedViewNode): void;
|
|
160
166
|
protected abstract visitDropView(node: DropViewNode): void;
|
|
161
167
|
protected abstract visitGenerated(node: GeneratedNode): void;
|
|
162
168
|
protected abstract visitDefaultValue(node: DefaultValueNode): void;
|
|
@@ -190,4 +196,6 @@ export declare abstract class OperationNodeVisitor {
|
|
|
190
196
|
protected abstract visitFetch(node: FetchNode): void;
|
|
191
197
|
protected abstract visitTop(node: TopNode): void;
|
|
192
198
|
protected abstract visitOutput(node: OutputNode): void;
|
|
199
|
+
protected abstract visitOrAction(node: OrActionNode): void;
|
|
200
|
+
protected abstract visitCollate(node: CollateNode): void;
|
|
193
201
|
}
|
|
@@ -66,8 +66,10 @@ class OperationNodeVisitor {
|
|
|
66
66
|
ModifyColumnNode: this.visitModifyColumn.bind(this),
|
|
67
67
|
AddConstraintNode: this.visitAddConstraint.bind(this),
|
|
68
68
|
DropConstraintNode: this.visitDropConstraint.bind(this),
|
|
69
|
+
RenameConstraintNode: this.visitRenameConstraint.bind(this),
|
|
69
70
|
ForeignKeyConstraintNode: this.visitForeignKeyConstraint.bind(this),
|
|
70
71
|
CreateViewNode: this.visitCreateView.bind(this),
|
|
72
|
+
RefreshMaterializedViewNode: this.visitRefreshMaterializedView.bind(this),
|
|
71
73
|
DropViewNode: this.visitDropView.bind(this),
|
|
72
74
|
GeneratedNode: this.visitGenerated.bind(this),
|
|
73
75
|
DefaultValueNode: this.visitDefaultValue.bind(this),
|
|
@@ -101,6 +103,8 @@ class OperationNodeVisitor {
|
|
|
101
103
|
FetchNode: this.visitFetch.bind(this),
|
|
102
104
|
TopNode: this.visitTop.bind(this),
|
|
103
105
|
OutputNode: this.visitOutput.bind(this),
|
|
106
|
+
OrActionNode: this.visitOrAction.bind(this),
|
|
107
|
+
CollateNode: this.visitCollate.bind(this),
|
|
104
108
|
});
|
|
105
109
|
visitNode = (node) => {
|
|
106
110
|
this.nodeStack.push(node);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'MergeQueryNode' | 'MatchedNode' | 'AddIndexNode' | 'CastNode' | 'FetchNode' | 'TopNode' | 'OutputNode';
|
|
1
|
+
export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'RefreshMaterializedViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'MergeQueryNode' | 'MatchedNode' | 'AddIndexNode' | 'CastNode' | 'FetchNode' | 'TopNode' | 'OutputNode' | 'OrActionNode' | 'CollateNode' | 'RenameConstraintNode';
|
|
2
2
|
export interface OperationNode {
|
|
3
3
|
readonly kind: OperationNodeKind;
|
|
4
4
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export interface OrActionNode extends OperationNode {
|
|
3
|
+
readonly kind: 'OrActionNode';
|
|
4
|
+
readonly action: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare const OrActionNode: Readonly<{
|
|
10
|
+
is(node: OperationNode): node is OrActionNode;
|
|
11
|
+
create(action: string): OrActionNode;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrActionNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.OrActionNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'OrActionNode';
|
|
11
|
+
},
|
|
12
|
+
create(action) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'OrActionNode',
|
|
15
|
+
action,
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
});
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { CollateNode } from './collate-node.js';
|
|
1
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
+
export type OrderByItemNodeProps = Omit<OrderByItemNode, 'kind' | 'orderBy'>;
|
|
2
4
|
export interface OrderByItemNode extends OperationNode {
|
|
3
5
|
readonly kind: 'OrderByItemNode';
|
|
4
6
|
readonly orderBy: OperationNode;
|
|
5
7
|
readonly direction?: OperationNode;
|
|
8
|
+
readonly nulls?: 'first' | 'last';
|
|
9
|
+
readonly collation?: CollateNode;
|
|
6
10
|
}
|
|
7
11
|
/**
|
|
8
12
|
* @internal
|
|
@@ -10,4 +14,5 @@ export interface OrderByItemNode extends OperationNode {
|
|
|
10
14
|
export declare const OrderByItemNode: Readonly<{
|
|
11
15
|
is(node: OperationNode): node is OrderByItemNode;
|
|
12
16
|
create(orderBy: OperationNode, direction?: OperationNode): OrderByItemNode;
|
|
17
|
+
cloneWith(node: OrderByItemNode, props: OrderByItemNodeProps): OrderByItemNode;
|
|
13
18
|
}>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ColumnNode } from './column-node.js';
|
|
2
|
+
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
+
import { OperationNode } from './operation-node.js';
|
|
4
|
+
export interface PrimaryKeyConstraintNode extends OperationNode {
|
|
5
|
+
readonly kind: 'PrimaryKeyConstraintNode';
|
|
6
|
+
readonly columns: ReadonlyArray<ColumnNode>;
|
|
7
|
+
readonly name?: IdentifierNode;
|
|
8
|
+
readonly deferrable?: boolean;
|
|
9
|
+
readonly initiallyDeferred?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export type PrimaryKeyConstraintNodeProps = Omit<Partial<PrimaryKeyConstraintNode>, 'kind'>;
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare const PrimaryKeyConstraintNode: Readonly<{
|
|
16
|
+
is(node: OperationNode): node is PrimaryKeyConstraintNode;
|
|
17
|
+
create(columns: string[], constraintName?: string): PrimaryKeyConstraintNode;
|
|
18
|
+
cloneWith(node: PrimaryKeyConstraintNode, props: PrimaryKeyConstraintNodeProps): PrimaryKeyConstraintNode;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Backwards compatibility for a typo in the codebase.
|
|
22
|
+
*
|
|
23
|
+
* @deprecated Use {@link PrimaryKeyConstraintNode} instead.
|
|
24
|
+
*/
|
|
25
|
+
export declare const PrimaryConstraintNode: Readonly<{
|
|
26
|
+
is(node: OperationNode): node is PrimaryKeyConstraintNode;
|
|
27
|
+
create(columns: string[], constraintName?: string): PrimaryKeyConstraintNode;
|
|
28
|
+
cloneWith(node: PrimaryKeyConstraintNode, props: PrimaryKeyConstraintNodeProps): PrimaryKeyConstraintNode;
|
|
29
|
+
}>;
|
package/dist/cjs/operation-node/{primary-constraint-node.js → primary-key-constraint-node.js}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PrimaryConstraintNode = void 0;
|
|
3
|
+
exports.PrimaryConstraintNode = exports.PrimaryKeyConstraintNode = void 0;
|
|
4
4
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
5
|
const column_node_js_1 = require("./column-node.js");
|
|
6
6
|
const identifier_node_js_1 = require("./identifier-node.js");
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
|
-
exports.
|
|
10
|
+
exports.PrimaryKeyConstraintNode = (0, object_utils_js_1.freeze)({
|
|
11
11
|
is(node) {
|
|
12
12
|
return node.kind === 'PrimaryKeyConstraintNode';
|
|
13
13
|
},
|
|
@@ -18,4 +18,13 @@ exports.PrimaryConstraintNode = (0, object_utils_js_1.freeze)({
|
|
|
18
18
|
name: constraintName ? identifier_node_js_1.IdentifierNode.create(constraintName) : undefined,
|
|
19
19
|
});
|
|
20
20
|
},
|
|
21
|
+
cloneWith(node, props) {
|
|
22
|
+
return (0, object_utils_js_1.freeze)({ ...node, ...props });
|
|
23
|
+
},
|
|
21
24
|
});
|
|
25
|
+
/**
|
|
26
|
+
* Backwards compatibility for a typo in the codebase.
|
|
27
|
+
*
|
|
28
|
+
* @deprecated Use {@link PrimaryKeyConstraintNode} instead.
|
|
29
|
+
*/
|
|
30
|
+
exports.PrimaryConstraintNode = exports.PrimaryKeyConstraintNode;
|
|
@@ -13,6 +13,8 @@ import { Expression } from '../expression/expression.js';
|
|
|
13
13
|
import { MergeQueryNode } from './merge-query-node.js';
|
|
14
14
|
import { TopNode } from './top-node.js';
|
|
15
15
|
import { OutputNode } from './output-node.js';
|
|
16
|
+
import { OrderByNode } from './order-by-node.js';
|
|
17
|
+
import { OrderByItemNode } from './order-by-item-node.js';
|
|
16
18
|
export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode | MergeQueryNode;
|
|
17
19
|
type HasJoins = {
|
|
18
20
|
joins?: ReadonlyArray<JoinNode>;
|
|
@@ -35,6 +37,9 @@ type HasOutput = {
|
|
|
35
37
|
type HasEndModifiers = {
|
|
36
38
|
endModifiers?: ReadonlyArray<OperationNode>;
|
|
37
39
|
};
|
|
40
|
+
type HasOrderBy = {
|
|
41
|
+
orderBy?: OrderByNode;
|
|
42
|
+
};
|
|
38
43
|
/**
|
|
39
44
|
* @internal
|
|
40
45
|
*/
|
|
@@ -49,5 +54,7 @@ export declare const QueryNode: Readonly<{
|
|
|
49
54
|
cloneWithExplain<T extends HasExplain>(node: T, format: ExplainFormat | undefined, options: Expression<any> | undefined): T;
|
|
50
55
|
cloneWithTop<T extends HasTop>(node: T, top: TopNode): T;
|
|
51
56
|
cloneWithOutput<T extends HasOutput>(node: T, selections: ReadonlyArray<SelectionNode>): T;
|
|
57
|
+
cloneWithOrderByItems<T extends HasOrderBy>(node: T, items: ReadonlyArray<OrderByItemNode>): T;
|
|
58
|
+
cloneWithoutOrderBy<T extends HasOrderBy>(node: T): T;
|
|
52
59
|
}>;
|
|
53
60
|
export {};
|
|
@@ -11,6 +11,7 @@ const returning_node_js_1 = require("./returning-node.js");
|
|
|
11
11
|
const explain_node_js_1 = require("./explain-node.js");
|
|
12
12
|
const merge_query_node_js_1 = require("./merge-query-node.js");
|
|
13
13
|
const output_node_js_1 = require("./output-node.js");
|
|
14
|
+
const order_by_node_js_1 = require("./order-by-node.js");
|
|
14
15
|
/**
|
|
15
16
|
* @internal
|
|
16
17
|
*/
|
|
@@ -84,4 +85,18 @@ exports.QueryNode = (0, object_utils_js_1.freeze)({
|
|
|
84
85
|
: output_node_js_1.OutputNode.create(selections),
|
|
85
86
|
});
|
|
86
87
|
},
|
|
88
|
+
cloneWithOrderByItems(node, items) {
|
|
89
|
+
return (0, object_utils_js_1.freeze)({
|
|
90
|
+
...node,
|
|
91
|
+
orderBy: node.orderBy
|
|
92
|
+
? order_by_node_js_1.OrderByNode.cloneWithItems(node.orderBy, items)
|
|
93
|
+
: order_by_node_js_1.OrderByNode.create(items),
|
|
94
|
+
});
|
|
95
|
+
},
|
|
96
|
+
cloneWithoutOrderBy(node) {
|
|
97
|
+
return (0, object_utils_js_1.freeze)({
|
|
98
|
+
...node,
|
|
99
|
+
orderBy: undefined,
|
|
100
|
+
});
|
|
101
|
+
},
|
|
87
102
|
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
|
+
export type RefreshMaterializedViewNodeParams = Omit<Partial<RefreshMaterializedViewNode>, 'kind' | 'name'>;
|
|
4
|
+
export interface RefreshMaterializedViewNode extends OperationNode {
|
|
5
|
+
readonly kind: 'RefreshMaterializedViewNode';
|
|
6
|
+
readonly name: SchemableIdentifierNode;
|
|
7
|
+
readonly concurrently?: boolean;
|
|
8
|
+
readonly withNoData?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const RefreshMaterializedViewNode: Readonly<{
|
|
14
|
+
is(node: OperationNode): node is RefreshMaterializedViewNode;
|
|
15
|
+
create(name: string): RefreshMaterializedViewNode;
|
|
16
|
+
cloneWith(createView: RefreshMaterializedViewNode, params: RefreshMaterializedViewNodeParams): RefreshMaterializedViewNode;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefreshMaterializedViewNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
const schemable_identifier_node_js_1 = require("./schemable-identifier-node.js");
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
exports.RefreshMaterializedViewNode = (0, object_utils_js_1.freeze)({
|
|
10
|
+
is(node) {
|
|
11
|
+
return node.kind === 'RefreshMaterializedViewNode';
|
|
12
|
+
},
|
|
13
|
+
create(name) {
|
|
14
|
+
return (0, object_utils_js_1.freeze)({
|
|
15
|
+
kind: 'RefreshMaterializedViewNode',
|
|
16
|
+
name: schemable_identifier_node_js_1.SchemableIdentifierNode.create(name),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWith(createView, params) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...createView,
|
|
22
|
+
...params,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
+
export interface RenameConstraintNode extends OperationNode {
|
|
4
|
+
readonly kind: 'RenameConstraintNode';
|
|
5
|
+
readonly oldName: IdentifierNode;
|
|
6
|
+
readonly newName: IdentifierNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const RenameConstraintNode: Readonly<{
|
|
12
|
+
is(node: OperationNode): node is RenameConstraintNode;
|
|
13
|
+
create(oldName: string, newName: string): RenameConstraintNode;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenameConstraintNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
const identifier_node_js_1 = require("./identifier-node.js");
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
exports.RenameConstraintNode = (0, object_utils_js_1.freeze)({
|
|
10
|
+
is(node) {
|
|
11
|
+
return node.kind === 'RenameConstraintNode';
|
|
12
|
+
},
|
|
13
|
+
create(oldName, newName) {
|
|
14
|
+
return (0, object_utils_js_1.freeze)({
|
|
15
|
+
kind: 'RenameConstraintNode',
|
|
16
|
+
oldName: identifier_node_js_1.IdentifierNode.create(oldName),
|
|
17
|
+
newName: identifier_node_js_1.IdentifierNode.create(newName),
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -46,7 +46,10 @@ export declare const SelectQueryNode: Readonly<{
|
|
|
46
46
|
cloneWithSelections(select: SelectQueryNode, selections: ReadonlyArray<SelectionNode>): SelectQueryNode;
|
|
47
47
|
cloneWithDistinctOn(select: SelectQueryNode, expressions: ReadonlyArray<OperationNode>): SelectQueryNode;
|
|
48
48
|
cloneWithFrontModifier(select: SelectQueryNode, modifier: SelectModifierNode): SelectQueryNode;
|
|
49
|
-
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Use `QueryNode.cloneWithoutOrderBy` instead.
|
|
51
|
+
*/
|
|
52
|
+
cloneWithOrderByItems: (node: SelectQueryNode, items: ReadonlyArray<OrderByItemNode>) => SelectQueryNode;
|
|
50
53
|
cloneWithGroupByItems(selectNode: SelectQueryNode, items: ReadonlyArray<GroupByItemNode>): SelectQueryNode;
|
|
51
54
|
cloneWithLimit(selectNode: SelectQueryNode, limit: LimitNode): SelectQueryNode;
|
|
52
55
|
cloneWithOffset(selectNode: SelectQueryNode, offset: OffsetNode): SelectQueryNode;
|
|
@@ -56,6 +59,9 @@ export declare const SelectQueryNode: Readonly<{
|
|
|
56
59
|
cloneWithoutSelections(select: SelectQueryNode): SelectQueryNode;
|
|
57
60
|
cloneWithoutLimit(select: SelectQueryNode): SelectQueryNode;
|
|
58
61
|
cloneWithoutOffset(select: SelectQueryNode): SelectQueryNode;
|
|
59
|
-
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated Use `QueryNode.cloneWithoutOrderBy` instead.
|
|
64
|
+
*/
|
|
65
|
+
cloneWithoutOrderBy: (node: SelectQueryNode) => SelectQueryNode;
|
|
60
66
|
cloneWithoutGroupBy(select: SelectQueryNode): SelectQueryNode;
|
|
61
67
|
}>;
|
|
@@ -5,7 +5,7 @@ const object_utils_js_1 = require("../util/object-utils.js");
|
|
|
5
5
|
const from_node_js_1 = require("./from-node.js");
|
|
6
6
|
const group_by_node_js_1 = require("./group-by-node.js");
|
|
7
7
|
const having_node_js_1 = require("./having-node.js");
|
|
8
|
-
const
|
|
8
|
+
const query_node_js_1 = require("./query-node.js");
|
|
9
9
|
/**
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
@@ -50,14 +50,11 @@ exports.SelectQueryNode = (0, object_utils_js_1.freeze)({
|
|
|
50
50
|
: (0, object_utils_js_1.freeze)([modifier]),
|
|
51
51
|
});
|
|
52
52
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
: order_by_node_js_1.OrderByNode.create(items),
|
|
59
|
-
});
|
|
60
|
-
},
|
|
53
|
+
// TODO: remove in v0.29
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Use `QueryNode.cloneWithoutOrderBy` instead.
|
|
56
|
+
*/
|
|
57
|
+
cloneWithOrderByItems: (node, items) => query_node_js_1.QueryNode.cloneWithOrderByItems(node, items),
|
|
61
58
|
cloneWithGroupByItems(selectNode, items) {
|
|
62
59
|
return (0, object_utils_js_1.freeze)({
|
|
63
60
|
...selectNode,
|
|
@@ -118,12 +115,11 @@ exports.SelectQueryNode = (0, object_utils_js_1.freeze)({
|
|
|
118
115
|
offset: undefined,
|
|
119
116
|
});
|
|
120
117
|
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
},
|
|
118
|
+
// TODO: remove in v0.29
|
|
119
|
+
/**
|
|
120
|
+
* @deprecated Use `QueryNode.cloneWithoutOrderBy` instead.
|
|
121
|
+
*/
|
|
122
|
+
cloneWithoutOrderBy: (node) => query_node_js_1.QueryNode.cloneWithoutOrderBy(node),
|
|
127
123
|
cloneWithoutGroupBy(select) {
|
|
128
124
|
return (0, object_utils_js_1.freeze)({
|
|
129
125
|
...select,
|
|
@@ -6,6 +6,8 @@ export interface UniqueConstraintNode extends OperationNode {
|
|
|
6
6
|
readonly columns: ReadonlyArray<ColumnNode>;
|
|
7
7
|
readonly name?: IdentifierNode;
|
|
8
8
|
readonly nullsNotDistinct?: boolean;
|
|
9
|
+
readonly deferrable?: boolean;
|
|
10
|
+
readonly initiallyDeferred?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export type UniqueConstraintNodeProps = Omit<Partial<UniqueConstraintNode>, 'kind'>;
|
|
11
13
|
/**
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ColumnUpdateNode } from './column-update-node.js';
|
|
2
2
|
import { JoinNode } from './join-node.js';
|
|
3
3
|
import { OperationNode } from './operation-node.js';
|
|
4
|
-
import { PrimitiveValueListNode } from './primitive-value-list-node.js';
|
|
5
4
|
import { ReturningNode } from './returning-node.js';
|
|
6
|
-
import { ValueListNode } from './value-list-node.js';
|
|
7
5
|
import { WhereNode } from './where-node.js';
|
|
8
6
|
import { WithNode } from './with-node.js';
|
|
9
7
|
import { FromNode } from './from-node.js';
|
|
@@ -11,7 +9,7 @@ import { ExplainNode } from './explain-node.js';
|
|
|
11
9
|
import { LimitNode } from './limit-node.js';
|
|
12
10
|
import { TopNode } from './top-node.js';
|
|
13
11
|
import { OutputNode } from './output-node.js';
|
|
14
|
-
|
|
12
|
+
import { OrderByNode } from './order-by-node.js';
|
|
15
13
|
export interface UpdateQueryNode extends OperationNode {
|
|
16
14
|
readonly kind: 'UpdateQueryNode';
|
|
17
15
|
readonly table?: OperationNode;
|
|
@@ -26,13 +24,14 @@ export interface UpdateQueryNode extends OperationNode {
|
|
|
26
24
|
readonly limit?: LimitNode;
|
|
27
25
|
readonly top?: TopNode;
|
|
28
26
|
readonly output?: OutputNode;
|
|
27
|
+
readonly orderBy?: OrderByNode;
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
30
|
* @internal
|
|
32
31
|
*/
|
|
33
32
|
export declare const UpdateQueryNode: Readonly<{
|
|
34
33
|
is(node: OperationNode): node is UpdateQueryNode;
|
|
35
|
-
create(
|
|
34
|
+
create(tables: ReadonlyArray<OperationNode>, withNode?: WithNode): UpdateQueryNode;
|
|
36
35
|
createWithoutTable(): UpdateQueryNode;
|
|
37
36
|
cloneWithFromItems(updateQuery: UpdateQueryNode, fromItems: ReadonlyArray<OperationNode>): UpdateQueryNode;
|
|
38
37
|
cloneWithUpdates(updateQuery: UpdateQueryNode, updates: ReadonlyArray<ColumnUpdateNode>): UpdateQueryNode;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.UpdateQueryNode = void 0;
|
|
4
4
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
5
|
const from_node_js_1 = require("./from-node.js");
|
|
6
|
+
const list_node_js_1 = require("./list-node.js");
|
|
6
7
|
/**
|
|
7
8
|
* @internal
|
|
8
9
|
*/
|
|
@@ -10,10 +11,12 @@ exports.UpdateQueryNode = (0, object_utils_js_1.freeze)({
|
|
|
10
11
|
is(node) {
|
|
11
12
|
return node.kind === 'UpdateQueryNode';
|
|
12
13
|
},
|
|
13
|
-
create(
|
|
14
|
+
create(tables, withNode) {
|
|
14
15
|
return (0, object_utils_js_1.freeze)({
|
|
15
16
|
kind: 'UpdateQueryNode',
|
|
16
|
-
table
|
|
17
|
+
// For backwards compatibility, use the raw table node when there's only one table
|
|
18
|
+
// and don't rename the property to something like `tables`.
|
|
19
|
+
table: tables.length === 1 ? tables[0] : list_node_js_1.ListNode.create(tables),
|
|
17
20
|
...(withNode && { with: withNode }),
|
|
18
21
|
});
|
|
19
22
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Collation = 'nocase' | 'binary' | 'rtrim' | (string & {});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DeleteQueryBuilder } from '../query-builder/delete-query-builder.js';
|
|
2
|
+
import type { DeleteResult } from '../query-builder/delete-result.js';
|
|
3
|
+
import type { ShallowRecord } from '../util/type-utils.js';
|
|
4
|
+
import type { ExtractTableAlias, From, FromTables, TableExpressionOrList } from './table-parser.js';
|
|
5
|
+
export type DeleteFrom<DB, TE extends TableExpressionOrList<DB, never>> = TE extends ReadonlyArray<infer T> ? DeleteQueryBuilder<From<DB, T>, FromTables<DB, never, T>, DeleteResult> : TE extends keyof DB & string ? DeleteQueryBuilder<DB, ExtractTableAlias<DB, TE>, DeleteResult> : TE extends `${infer T} as ${infer A}` ? T extends keyof DB ? DeleteQueryBuilder<DB & ShallowRecord<A, DB[T]>, A, DeleteResult> : never : DeleteQueryBuilder<From<DB, TE>, FromTables<DB, never, TE>, DeleteResult>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { JoinNode, JoinType } from '../operation-node/join-node.js';
|
|
2
|
+
import { JoinBuilder } from '../query-builder/join-builder.js';
|
|
2
3
|
import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from '../util/type-utils.js';
|
|
3
4
|
import { From, FromTables } from './table-parser.js';
|
|
4
|
-
import { JoinBuilder } from '../query-builder/join-builder.js';
|
|
5
5
|
export type JoinReferenceExpression<DB, TB extends keyof DB, TE> = DrainOuterGeneric<AnyJoinColumn<DB, TB, TE> | AnyJoinColumnWithTable<DB, TB, TE>>;
|
|
6
6
|
export type JoinCallbackExpression<DB, TB extends keyof DB, TE> = (join: JoinBuilder<From<DB, TE>, FromTables<DB, TB, TE>>) => JoinBuilder<any, any>;
|
|
7
7
|
type AnyJoinColumn<DB, TB extends keyof DB, TE> = AnyColumn<From<DB, TE>, FromTables<DB, TB, TE>>;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseJoin = parseJoin;
|
|
4
4
|
const join_node_js_1 = require("../operation-node/join-node.js");
|
|
5
|
-
const table_parser_js_1 = require("./table-parser.js");
|
|
6
5
|
const binary_operation_parser_js_1 = require("./binary-operation-parser.js");
|
|
7
6
|
const parse_utils_js_1 = require("./parse-utils.js");
|
|
7
|
+
const table_parser_js_1 = require("./table-parser.js");
|
|
8
8
|
function parseJoin(joinType, args) {
|
|
9
9
|
if (args.length === 3) {
|
|
10
10
|
return parseSingleOnJoin(joinType, args[0], args[1], args[2]);
|
|
@@ -12,6 +12,9 @@ function parseJoin(joinType, args) {
|
|
|
12
12
|
else if (args.length === 2) {
|
|
13
13
|
return parseCallbackJoin(joinType, args[0], args[1]);
|
|
14
14
|
}
|
|
15
|
+
else if (args.length === 1) {
|
|
16
|
+
return parseOnlessJoin(joinType, args[0]);
|
|
17
|
+
}
|
|
15
18
|
else {
|
|
16
19
|
throw new Error('not implemented');
|
|
17
20
|
}
|
|
@@ -22,3 +25,6 @@ function parseCallbackJoin(joinType, from, callback) {
|
|
|
22
25
|
function parseSingleOnJoin(joinType, from, lhsColumn, rhsColumn) {
|
|
23
26
|
return join_node_js_1.JoinNode.createWithOn(joinType, (0, table_parser_js_1.parseTableExpression)(from), (0, binary_operation_parser_js_1.parseReferentialBinaryOperation)(lhsColumn, '=', rhsColumn));
|
|
24
27
|
}
|
|
28
|
+
function parseOnlessJoin(joinType, from) {
|
|
29
|
+
return join_node_js_1.JoinNode.create(joinType, (0, table_parser_js_1.parseTableExpression)(from));
|
|
30
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MergeQueryBuilder } from '../query-builder/merge-query-builder.js';
|
|
2
|
+
import type { MergeResult } from '../query-builder/merge-result.js';
|
|
3
|
+
import type { ShallowRecord } from '../util/type-utils.js';
|
|
4
|
+
import type { ExtractTableAlias, SimpleTableReference } from './table-parser.js';
|
|
5
|
+
export type MergeInto<DB, TE extends SimpleTableReference<DB>> = TE extends keyof DB & string ? MergeQueryBuilder<DB, ExtractTableAlias<DB, TE>, MergeResult> : TE extends `${infer T} as ${infer A}` ? T extends keyof DB ? MergeQueryBuilder<DB & ShallowRecord<A, DB[T]>, A, MergeResult> : never : never;
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
|
|
1
2
|
import { Expression } from '../expression/expression.js';
|
|
2
3
|
import { OrderByItemNode } from '../operation-node/order-by-item-node.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
4
|
+
import { OrderByItemBuilder } from '../query-builder/order-by-item-builder.js';
|
|
5
|
+
import { ExpressionOrFactory } from './expression-parser.js';
|
|
6
|
+
import { ReferenceExpression, StringReference } from './reference-parser.js';
|
|
7
|
+
export type OrderByExpression<DB, TB extends keyof DB, O> = StringReference<DB, TB> | (keyof O & string) | ExpressionOrFactory<DB, TB, any> | DynamicReferenceBuilder<any>;
|
|
8
|
+
export type OrderByModifiers = OrderByDirection | OrderByModifiersCallbackExpression;
|
|
5
9
|
export type OrderByDirection = 'asc' | 'desc';
|
|
6
10
|
export declare function isOrderByDirection(thing: unknown): thing is OrderByDirection;
|
|
11
|
+
export type OrderByModifiersCallbackExpression = (builder: OrderByItemBuilder) => OrderByItemBuilder;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated performance reasons, use {@link OrderByExpression} instead.
|
|
14
|
+
*/
|
|
7
15
|
export type DirectedOrderByStringReference<DB, TB extends keyof DB, O> = `${StringReference<DB, TB> | (keyof O & string)} ${OrderByDirection}`;
|
|
8
|
-
|
|
9
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated replaced with {@link OrderByModifiers}
|
|
18
|
+
*/
|
|
10
19
|
export type OrderByDirectionExpression = OrderByDirection | Expression<any>;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated use {@link OrderByExpression} instead.
|
|
22
|
+
*/
|
|
23
|
+
export type UndirectedOrderByExpression<DB, TB extends keyof DB, O> = ReferenceExpression<DB, TB> | (keyof O & string);
|
|
11
24
|
export declare function parseOrderBy(args: any[]): OrderByItemNode[];
|
|
12
|
-
export declare function parseOrderByItem(
|
|
25
|
+
export declare function parseOrderByItem(expr: OrderByExpression<any, any, any>, modifiers?: OrderByModifiers): OrderByItemNode;
|