kysely 0.22.0 → 0.23.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/CONTRIBUTING.md +70 -0
- package/README.md +25 -2
- package/dist/cjs/dialect/database-introspector.d.ts +4 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +6 -3
- package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/cjs/dialect/postgres/postgres-driver.js +7 -2
- package/dist/cjs/dialect/postgres/postgres-introspector.js +8 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +4 -3
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/cjs/driver/database-connection.d.ts +6 -2
- package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +2 -3
- package/dist/cjs/dynamic/dynamic-reference-builder.js +1 -1
- package/dist/cjs/expression/expression.d.ts +100 -0
- package/dist/cjs/expression/expression.js +16 -0
- package/dist/cjs/index.d.ts +10 -6
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/migration/file-migration-provider.js +5 -3
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +7 -4
- package/dist/cjs/operation-node/aggregate-function-node.js +17 -0
- package/dist/cjs/operation-node/alias-node.d.ts +3 -11
- package/dist/cjs/operation-node/alter-column-node.d.ts +1 -2
- package/dist/cjs/operation-node/alter-table-node.d.ts +5 -7
- package/dist/cjs/operation-node/alter-table-node.js +9 -1
- package/dist/cjs/operation-node/and-node.d.ts +3 -4
- package/dist/cjs/operation-node/binary-operation-node.d.ts +14 -0
- package/dist/cjs/operation-node/binary-operation-node.js +20 -0
- package/dist/cjs/operation-node/check-constraint-node.d.ts +2 -3
- package/dist/cjs/operation-node/column-definition-node.d.ts +6 -5
- package/dist/cjs/operation-node/column-definition-node.js +16 -0
- package/dist/cjs/operation-node/column-update-node.d.ts +2 -3
- package/dist/cjs/operation-node/common-table-expression-node.d.ts +2 -4
- package/dist/cjs/operation-node/create-index-node.d.ts +1 -3
- package/dist/cjs/operation-node/create-table-node.d.ts +4 -5
- package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-type-node.js +1 -2
- package/dist/cjs/operation-node/default-value-node.d.ts +2 -4
- package/dist/cjs/operation-node/delete-query-node.d.ts +1 -2
- package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-type-node.js +1 -2
- package/dist/cjs/operation-node/explain-node.d.ts +2 -4
- package/dist/cjs/operation-node/explain-node.js +1 -1
- package/dist/cjs/operation-node/from-node.d.ts +3 -4
- package/dist/cjs/operation-node/generated-node.d.ts +2 -3
- package/dist/cjs/operation-node/group-by-item-node.d.ts +2 -3
- package/dist/cjs/operation-node/having-node.d.ts +3 -4
- package/dist/cjs/operation-node/having-node.js +4 -4
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -5
- package/dist/cjs/operation-node/join-node.d.ts +5 -9
- package/dist/cjs/operation-node/join-node.js +6 -6
- package/dist/cjs/operation-node/on-conflict-node.d.ts +5 -7
- package/dist/cjs/operation-node/on-conflict-node.js +12 -12
- package/dist/cjs/operation-node/on-node.d.ts +3 -4
- package/dist/cjs/operation-node/on-node.js +4 -4
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +4 -2
- package/dist/cjs/operation-node/operation-node-transformer.js +22 -15
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +4 -2
- package/dist/cjs/operation-node/operation-node-visitor.js +2 -1
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +5 -3
- package/dist/cjs/operation-node/operator-node.js +3 -5
- package/dist/cjs/operation-node/or-node.d.ts +3 -4
- package/dist/cjs/operation-node/order-by-item-node.d.ts +3 -5
- package/dist/cjs/operation-node/parens-node.d.ts +2 -3
- package/dist/cjs/operation-node/partition-by-item-node.d.ts +3 -4
- package/dist/cjs/operation-node/query-node.d.ts +2 -3
- package/dist/cjs/operation-node/query-node.js +6 -6
- package/dist/cjs/operation-node/select-modifier-node.d.ts +2 -3
- package/dist/cjs/operation-node/select-modifier-node.js +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +5 -6
- package/dist/cjs/operation-node/select-query-node.js +10 -10
- package/dist/cjs/operation-node/selection-node.d.ts +2 -3
- package/dist/cjs/operation-node/set-operation-node.d.ts +2 -5
- package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +3 -0
- package/dist/cjs/operation-node/{operation-node-utils.js → simple-reference-expression-node.js} +0 -0
- package/dist/cjs/operation-node/unary-operation-node.d.ts +13 -0
- package/dist/cjs/operation-node/unary-operation-node.js +19 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +3 -4
- package/dist/cjs/operation-node/value-list-node.d.ts +2 -9
- package/dist/cjs/operation-node/where-node.d.ts +3 -4
- package/dist/cjs/operation-node/where-node.js +4 -4
- package/dist/cjs/parser/binary-operation-parser.d.ts +20 -0
- package/dist/cjs/parser/binary-operation-parser.js +99 -0
- package/dist/cjs/parser/coalesce-parser.d.ts +4 -0
- package/dist/cjs/parser/coalesce-parser.js +11 -0
- package/dist/cjs/parser/data-type-parser.d.ts +5 -5
- package/dist/cjs/parser/default-value-parser.d.ts +4 -5
- package/dist/cjs/parser/default-value-parser.js +2 -2
- package/dist/cjs/parser/expression-parser.d.ts +10 -0
- package/dist/cjs/parser/{complex-expression-parser.js → expression-parser.js} +9 -8
- package/dist/cjs/parser/identifier-parser.d.ts +2 -0
- package/dist/cjs/parser/identifier-parser.js +23 -0
- package/dist/cjs/parser/insert-values-parser.d.ts +1 -1
- package/dist/cjs/parser/insert-values-parser.js +2 -2
- package/dist/cjs/parser/join-parser.js +2 -2
- package/dist/cjs/parser/order-by-parser.d.ts +2 -2
- package/dist/cjs/parser/reference-parser.d.ts +14 -14
- package/dist/cjs/parser/reference-parser.js +12 -9
- package/dist/cjs/parser/select-parser.d.ts +6 -7
- package/dist/cjs/parser/select-parser.js +2 -2
- package/dist/cjs/parser/set-operation-parser.d.ts +2 -4
- package/dist/cjs/parser/table-parser.d.ts +11 -12
- package/dist/cjs/parser/table-parser.js +2 -2
- package/dist/cjs/parser/unary-operation-parser.d.ts +5 -0
- package/dist/cjs/parser/unary-operation-parser.js +17 -0
- package/dist/cjs/parser/update-set-parser.d.ts +1 -1
- package/dist/cjs/parser/value-parser.d.ts +5 -9
- package/dist/cjs/parser/value-parser.js +4 -4
- package/dist/cjs/parser/with-parser.d.ts +3 -4
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +1 -1
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +245 -14
- package/dist/cjs/query-builder/aggregate-function-builder.js +164 -12
- package/dist/cjs/query-builder/delete-query-builder.d.ts +20 -20
- package/dist/cjs/query-builder/delete-query-builder.js +19 -16
- package/dist/cjs/query-builder/function-module.d.ts +123 -22
- package/dist/cjs/query-builder/function-module.js +91 -48
- package/dist/cjs/query-builder/having-interface.d.ts +9 -8
- package/dist/cjs/query-builder/insert-query-builder.d.ts +7 -6
- package/dist/cjs/query-builder/insert-query-builder.js +11 -9
- package/dist/cjs/query-builder/insert-result.d.ts +8 -1
- package/dist/cjs/query-builder/insert-result.js +12 -1
- package/dist/cjs/query-builder/join-builder.d.ts +9 -8
- package/dist/cjs/query-builder/join-builder.js +10 -9
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +25 -24
- package/dist/cjs/query-builder/on-conflict-builder.js +18 -17
- package/dist/cjs/query-builder/select-query-builder.d.ts +82 -51
- package/dist/cjs/query-builder/select-query-builder.js +39 -37
- package/dist/cjs/query-builder/update-query-builder.d.ts +20 -20
- package/dist/cjs/query-builder/update-query-builder.js +19 -16
- package/dist/cjs/query-builder/where-interface.d.ts +12 -11
- package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +5 -3
- package/dist/cjs/query-compiler/default-query-compiler.js +37 -33
- package/dist/cjs/query-executor/query-executor-base.js +16 -1
- package/dist/cjs/raw-builder/raw-builder.d.ts +49 -13
- package/dist/cjs/raw-builder/raw-builder.js +24 -14
- package/dist/cjs/raw-builder/sql.d.ts +4 -4
- package/dist/cjs/schema/alter-column-builder.d.ts +28 -0
- package/dist/cjs/schema/alter-column-builder.js +55 -0
- package/dist/cjs/schema/alter-table-builder.d.ts +39 -341
- package/dist/cjs/schema/alter-table-builder.js +63 -278
- package/dist/cjs/schema/column-definition-builder.d.ts +43 -155
- package/dist/cjs/schema/column-definition-builder.js +189 -0
- package/dist/cjs/schema/create-index-builder.d.ts +3 -3
- package/dist/cjs/schema/create-index-builder.js +7 -7
- package/dist/cjs/schema/create-schema-builder.d.ts +1 -1
- package/dist/cjs/schema/create-schema-builder.js +2 -2
- package/dist/cjs/schema/create-table-builder.d.ts +39 -6
- package/dist/cjs/schema/create-table-builder.js +47 -12
- package/dist/cjs/schema/create-type-builder.d.ts +1 -1
- package/dist/cjs/schema/create-type-builder.js +2 -2
- package/dist/cjs/schema/create-view-builder.d.ts +4 -3
- package/dist/cjs/schema/create-view-builder.js +7 -7
- package/dist/cjs/schema/drop-index-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-index-builder.js +4 -4
- package/dist/cjs/schema/drop-schema-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-schema-builder.js +3 -3
- package/dist/cjs/schema/drop-table-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-table-builder.js +3 -3
- package/dist/cjs/schema/drop-type-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-type-builder.js +2 -2
- package/dist/cjs/schema/drop-view-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-view-builder.js +4 -4
- package/dist/cjs/schema/schema.d.ts +2 -2
- package/dist/cjs/schema/schema.js +14 -13
- package/dist/cjs/util/compilable.d.ts +2 -2
- package/dist/cjs/util/explainable.d.ts +2 -2
- package/dist/cjs/util/infer-result.d.ts +46 -0
- package/dist/cjs/util/infer-result.js +2 -0
- package/dist/cjs/util/log-once.d.ts +5 -0
- package/dist/cjs/util/log-once.js +16 -0
- package/dist/cjs/util/object-utils.d.ts +1 -0
- package/dist/cjs/util/object-utils.js +5 -1
- package/dist/cjs/util/type-utils.d.ts +3 -17
- package/dist/esm/dialect/database-introspector.d.ts +4 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +6 -3
- package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/esm/dialect/postgres/postgres-driver.js +7 -2
- package/dist/esm/dialect/postgres/postgres-introspector.js +8 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +4 -3
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/esm/driver/database-connection.d.ts +6 -2
- package/dist/esm/dynamic/dynamic-reference-builder.d.ts +2 -3
- package/dist/esm/dynamic/dynamic-reference-builder.js +2 -2
- package/dist/esm/expression/expression.d.ts +100 -0
- package/dist/esm/expression/expression.js +12 -0
- package/dist/esm/index.d.ts +10 -6
- package/dist/esm/index.js +6 -2
- package/dist/esm/migration/file-migration-provider.js +5 -3
- package/dist/esm/operation-node/aggregate-function-node.d.ts +7 -4
- package/dist/esm/operation-node/aggregate-function-node.js +17 -0
- package/dist/esm/operation-node/alias-node.d.ts +3 -11
- package/dist/esm/operation-node/alter-column-node.d.ts +1 -2
- package/dist/esm/operation-node/alter-table-node.d.ts +5 -7
- package/dist/esm/operation-node/alter-table-node.js +9 -1
- package/dist/esm/operation-node/and-node.d.ts +3 -4
- package/dist/esm/operation-node/binary-operation-node.d.ts +14 -0
- package/dist/esm/operation-node/binary-operation-node.js +18 -0
- package/dist/esm/operation-node/check-constraint-node.d.ts +2 -3
- package/dist/esm/operation-node/column-definition-node.d.ts +6 -5
- package/dist/esm/operation-node/column-definition-node.js +16 -0
- package/dist/esm/operation-node/column-update-node.d.ts +2 -3
- package/dist/esm/operation-node/common-table-expression-node.d.ts +2 -4
- package/dist/esm/operation-node/create-index-node.d.ts +1 -3
- package/dist/esm/operation-node/create-table-node.d.ts +4 -5
- package/dist/esm/operation-node/create-type-node.d.ts +1 -1
- package/dist/esm/operation-node/create-type-node.js +1 -2
- package/dist/esm/operation-node/default-value-node.d.ts +2 -4
- package/dist/esm/operation-node/delete-query-node.d.ts +1 -2
- package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-type-node.js +1 -2
- package/dist/esm/operation-node/explain-node.d.ts +2 -4
- package/dist/esm/operation-node/explain-node.js +1 -1
- package/dist/esm/operation-node/from-node.d.ts +3 -4
- package/dist/esm/operation-node/generated-node.d.ts +2 -3
- package/dist/esm/operation-node/group-by-item-node.d.ts +2 -3
- package/dist/esm/operation-node/having-node.d.ts +3 -4
- package/dist/esm/operation-node/having-node.js +4 -4
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -5
- package/dist/esm/operation-node/join-node.d.ts +5 -9
- package/dist/esm/operation-node/join-node.js +6 -6
- package/dist/esm/operation-node/on-conflict-node.d.ts +5 -7
- package/dist/esm/operation-node/on-conflict-node.js +12 -12
- package/dist/esm/operation-node/on-node.d.ts +3 -4
- package/dist/esm/operation-node/on-node.js +4 -4
- package/dist/esm/operation-node/operation-node-transformer.d.ts +4 -2
- package/dist/esm/operation-node/operation-node-transformer.js +22 -15
- package/dist/esm/operation-node/operation-node-visitor.d.ts +4 -2
- package/dist/esm/operation-node/operation-node-visitor.js +2 -1
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +5 -3
- package/dist/esm/operation-node/operator-node.js +2 -4
- package/dist/esm/operation-node/or-node.d.ts +3 -4
- package/dist/esm/operation-node/order-by-item-node.d.ts +3 -5
- package/dist/esm/operation-node/parens-node.d.ts +2 -3
- package/dist/esm/operation-node/partition-by-item-node.d.ts +3 -4
- package/dist/esm/operation-node/query-node.d.ts +2 -3
- package/dist/esm/operation-node/query-node.js +6 -6
- package/dist/esm/operation-node/select-modifier-node.d.ts +2 -3
- package/dist/esm/operation-node/select-modifier-node.js +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +5 -6
- package/dist/esm/operation-node/select-query-node.js +10 -10
- package/dist/esm/operation-node/selection-node.d.ts +2 -3
- package/dist/esm/operation-node/set-operation-node.d.ts +2 -5
- package/dist/esm/operation-node/simple-reference-expression-node.d.ts +3 -0
- package/dist/esm/operation-node/simple-reference-expression-node.js +2 -0
- package/dist/esm/operation-node/unary-operation-node.d.ts +13 -0
- package/dist/esm/operation-node/unary-operation-node.js +17 -0
- package/dist/esm/operation-node/update-query-node.d.ts +3 -4
- package/dist/esm/operation-node/value-list-node.d.ts +2 -9
- package/dist/esm/operation-node/where-node.d.ts +3 -4
- package/dist/esm/operation-node/where-node.js +4 -4
- package/dist/esm/parser/binary-operation-parser.d.ts +20 -0
- package/dist/esm/parser/binary-operation-parser.js +92 -0
- package/dist/esm/parser/coalesce-parser.d.ts +4 -0
- package/dist/esm/parser/coalesce-parser.js +8 -0
- package/dist/esm/parser/data-type-parser.d.ts +5 -5
- package/dist/esm/parser/default-value-parser.d.ts +4 -5
- package/dist/esm/parser/default-value-parser.js +2 -2
- package/dist/esm/parser/expression-parser.d.ts +10 -0
- package/dist/esm/parser/{complex-expression-parser.js → expression-parser.js} +6 -5
- package/dist/esm/parser/identifier-parser.d.ts +2 -0
- package/dist/esm/parser/identifier-parser.js +20 -0
- package/dist/esm/parser/insert-values-parser.d.ts +1 -1
- package/dist/esm/parser/insert-values-parser.js +2 -2
- package/dist/esm/parser/join-parser.js +2 -2
- package/dist/esm/parser/order-by-parser.d.ts +2 -2
- package/dist/esm/parser/reference-parser.d.ts +14 -14
- package/dist/esm/parser/reference-parser.js +10 -8
- package/dist/esm/parser/select-parser.d.ts +6 -7
- package/dist/esm/parser/select-parser.js +2 -2
- package/dist/esm/parser/set-operation-parser.d.ts +2 -4
- package/dist/esm/parser/table-parser.d.ts +11 -12
- package/dist/esm/parser/table-parser.js +2 -2
- package/dist/esm/parser/unary-operation-parser.d.ts +5 -0
- package/dist/esm/parser/unary-operation-parser.js +13 -0
- package/dist/esm/parser/update-set-parser.d.ts +1 -1
- package/dist/esm/parser/value-parser.d.ts +5 -9
- package/dist/esm/parser/value-parser.js +4 -4
- package/dist/esm/parser/with-parser.d.ts +3 -4
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +245 -14
- package/dist/esm/query-builder/aggregate-function-builder.js +164 -12
- package/dist/esm/query-builder/delete-query-builder.d.ts +20 -20
- package/dist/esm/query-builder/delete-query-builder.js +19 -16
- package/dist/esm/query-builder/function-module.d.ts +123 -22
- package/dist/esm/query-builder/function-module.js +92 -49
- package/dist/esm/query-builder/having-interface.d.ts +9 -8
- package/dist/esm/query-builder/insert-query-builder.d.ts +7 -6
- package/dist/esm/query-builder/insert-query-builder.js +11 -9
- package/dist/esm/query-builder/insert-result.d.ts +8 -1
- package/dist/esm/query-builder/insert-result.js +12 -1
- package/dist/esm/query-builder/join-builder.d.ts +9 -8
- package/dist/esm/query-builder/join-builder.js +10 -9
- package/dist/esm/query-builder/on-conflict-builder.d.ts +25 -24
- package/dist/esm/query-builder/on-conflict-builder.js +18 -17
- package/dist/esm/query-builder/select-query-builder.d.ts +82 -51
- package/dist/esm/query-builder/select-query-builder.js +38 -36
- package/dist/esm/query-builder/update-query-builder.d.ts +20 -20
- package/dist/esm/query-builder/update-query-builder.js +19 -16
- package/dist/esm/query-builder/where-interface.d.ts +12 -11
- package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +5 -3
- package/dist/esm/query-compiler/default-query-compiler.js +38 -34
- package/dist/esm/query-executor/query-executor-base.js +16 -1
- package/dist/esm/raw-builder/raw-builder.d.ts +49 -13
- package/dist/esm/raw-builder/raw-builder.js +23 -14
- package/dist/esm/raw-builder/sql.d.ts +4 -4
- package/dist/esm/schema/alter-column-builder.d.ts +28 -0
- package/dist/esm/schema/alter-column-builder.js +51 -0
- package/dist/esm/schema/alter-table-builder.d.ts +39 -341
- package/dist/esm/schema/alter-table-builder.js +59 -272
- package/dist/esm/schema/column-definition-builder.d.ts +43 -155
- package/dist/esm/schema/column-definition-builder.js +189 -0
- package/dist/esm/schema/create-index-builder.d.ts +3 -3
- package/dist/esm/schema/create-index-builder.js +7 -7
- package/dist/esm/schema/create-schema-builder.d.ts +1 -1
- package/dist/esm/schema/create-schema-builder.js +2 -2
- package/dist/esm/schema/create-table-builder.d.ts +39 -6
- package/dist/esm/schema/create-table-builder.js +47 -12
- package/dist/esm/schema/create-type-builder.d.ts +1 -1
- package/dist/esm/schema/create-type-builder.js +2 -2
- package/dist/esm/schema/create-view-builder.d.ts +4 -3
- package/dist/esm/schema/create-view-builder.js +7 -7
- package/dist/esm/schema/drop-index-builder.d.ts +1 -1
- package/dist/esm/schema/drop-index-builder.js +4 -4
- package/dist/esm/schema/drop-schema-builder.d.ts +1 -1
- package/dist/esm/schema/drop-schema-builder.js +3 -3
- package/dist/esm/schema/drop-table-builder.d.ts +1 -1
- package/dist/esm/schema/drop-table-builder.js +3 -3
- package/dist/esm/schema/drop-type-builder.d.ts +1 -1
- package/dist/esm/schema/drop-type-builder.js +2 -2
- package/dist/esm/schema/drop-view-builder.d.ts +1 -1
- package/dist/esm/schema/drop-view-builder.js +4 -4
- package/dist/esm/schema/schema.d.ts +2 -2
- package/dist/esm/schema/schema.js +14 -13
- package/dist/esm/util/compilable.d.ts +2 -2
- package/dist/esm/util/explainable.d.ts +2 -2
- package/dist/esm/util/infer-result.d.ts +46 -0
- package/dist/esm/util/infer-result.js +2 -0
- package/dist/esm/util/log-once.d.ts +5 -0
- package/dist/esm/util/log-once.js +13 -0
- package/dist/esm/util/object-utils.d.ts +1 -0
- package/dist/esm/util/object-utils.js +3 -0
- package/dist/esm/util/type-utils.d.ts +3 -17
- package/package.json +1 -1
- package/dist/cjs/operation-node/filter-node.d.ts +0 -18
- package/dist/cjs/operation-node/filter-node.js +0 -20
- package/dist/cjs/operation-node/operation-node-utils.d.ts +0 -18
- package/dist/cjs/parser/complex-expression-parser.d.ts +0 -12
- package/dist/cjs/parser/filter-parser.d.ts +0 -24
- package/dist/cjs/parser/filter-parser.js +0 -109
- package/dist/esm/operation-node/filter-node.d.ts +0 -18
- package/dist/esm/operation-node/filter-node.js +0 -18
- package/dist/esm/operation-node/operation-node-utils.d.ts +0 -18
- package/dist/esm/operation-node/operation-node-utils.js +0 -2
- package/dist/esm/parser/complex-expression-parser.d.ts +0 -12
- package/dist/esm/parser/filter-parser.d.ts +0 -24
- package/dist/esm/parser/filter-parser.js +0 -100
|
@@ -7,7 +7,7 @@ import { ColumnDefinitionBuilder } from './column-definition-builder.js';
|
|
|
7
7
|
import { QueryId } from '../util/query-id.js';
|
|
8
8
|
import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js';
|
|
9
9
|
import { DataTypeExpression } from '../parser/data-type-parser.js';
|
|
10
|
-
import {
|
|
10
|
+
import { Expression } from '../expression/expression.js';
|
|
11
11
|
/**
|
|
12
12
|
* This builder can be used to create a `create table` query.
|
|
13
13
|
*/
|
|
@@ -118,7 +118,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
118
118
|
* addCheckConstraint('check_legs', sql`number_of_legs < 5`)
|
|
119
119
|
* ```
|
|
120
120
|
*/
|
|
121
|
-
addCheckConstraint(constraintName: string, checkExpression:
|
|
121
|
+
addCheckConstraint(constraintName: string, checkExpression: Expression<any>): CreateTableBuilder<TB, C>;
|
|
122
122
|
/**
|
|
123
123
|
* Adds a foreign key constraint.
|
|
124
124
|
*
|
|
@@ -159,7 +159,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
159
159
|
* ```ts
|
|
160
160
|
* db.schema.createTable('person')
|
|
161
161
|
* .modifyFront(sql`global temporary`)
|
|
162
|
-
* .addColumn('id', 'integer', col => col
|
|
162
|
+
* .addColumn('id', 'integer', col => col.primaryKey())
|
|
163
163
|
* .addColumn('first_name', 'varchar(64)', col => col.notNull())
|
|
164
164
|
* .addColumn('last_name', 'varchar(64), col => col.notNull())
|
|
165
165
|
* .execute()
|
|
@@ -175,7 +175,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
175
175
|
* )
|
|
176
176
|
* ```
|
|
177
177
|
*/
|
|
178
|
-
modifyFront(modifier:
|
|
178
|
+
modifyFront(modifier: Expression<any>): CreateTableBuilder<TB, C>;
|
|
179
179
|
/**
|
|
180
180
|
* This can be used to add any additional SQL to the end of the query.
|
|
181
181
|
*
|
|
@@ -202,7 +202,40 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
202
202
|
* ) collate utf8_unicode_ci
|
|
203
203
|
* ```
|
|
204
204
|
*/
|
|
205
|
-
modifyEnd(modifier:
|
|
205
|
+
modifyEnd(modifier: Expression<any>): CreateTableBuilder<TB, C>;
|
|
206
|
+
/**
|
|
207
|
+
* Calls the given function passing `this` as the only argument.
|
|
208
|
+
*
|
|
209
|
+
* ### Examples
|
|
210
|
+
*
|
|
211
|
+
* ```ts
|
|
212
|
+
* db.schema
|
|
213
|
+
* .createTable('test')
|
|
214
|
+
* .call((builder) => builder.addColumn('id', 'integer'))
|
|
215
|
+
* .execute()
|
|
216
|
+
* ```
|
|
217
|
+
*
|
|
218
|
+
* ```ts
|
|
219
|
+
* const addDefaultColumns = <T extends string, C extends string = never>(
|
|
220
|
+
* builder: CreateTableBuilder<T, C>
|
|
221
|
+
* ) => {
|
|
222
|
+
* return builder
|
|
223
|
+
* .addColumn('id', 'integer', (col) => col.notNull())
|
|
224
|
+
* .addColumn('created_at', 'date', (col) =>
|
|
225
|
+
* col.notNull().defaultTo(sql`now()`)
|
|
226
|
+
* )
|
|
227
|
+
* .addColumn('updated_at', 'date', (col) =>
|
|
228
|
+
* col.notNull().defaultTo(sql`now()`)
|
|
229
|
+
* )
|
|
230
|
+
* }
|
|
231
|
+
*
|
|
232
|
+
* db.schema
|
|
233
|
+
* .createTable('test')
|
|
234
|
+
* .call(addDefaultColumns)
|
|
235
|
+
* .execute()
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
call<T>(func: (qb: this) => T): T;
|
|
206
239
|
toOperationNode(): CreateTableNode;
|
|
207
240
|
compile(): CompiledQuery;
|
|
208
241
|
execute(): Promise<void>;
|
|
@@ -210,7 +243,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
210
243
|
export interface CreateTableBuilderProps {
|
|
211
244
|
readonly queryId: QueryId;
|
|
212
245
|
readonly executor: QueryExecutor;
|
|
213
|
-
readonly
|
|
246
|
+
readonly node: CreateTableNode;
|
|
214
247
|
}
|
|
215
248
|
export declare type ColumnBuilderCallback = (builder: ColumnDefinitionBuilder) => ColumnDefinitionBuilder;
|
|
216
249
|
export declare type ForeignKeyConstraintBuilderCallback = (builder: ForeignKeyConstraintBuilder) => ForeignKeyConstraintBuilder;
|
|
@@ -29,7 +29,7 @@ export class CreateTableBuilder {
|
|
|
29
29
|
temporary() {
|
|
30
30
|
return new CreateTableBuilder({
|
|
31
31
|
...this.#props,
|
|
32
|
-
|
|
32
|
+
node: CreateTableNode.cloneWith(this.#props.node, {
|
|
33
33
|
temporary: true,
|
|
34
34
|
}),
|
|
35
35
|
});
|
|
@@ -43,7 +43,7 @@ export class CreateTableBuilder {
|
|
|
43
43
|
onCommit(onCommit) {
|
|
44
44
|
return new CreateTableBuilder({
|
|
45
45
|
...this.#props,
|
|
46
|
-
|
|
46
|
+
node: CreateTableNode.cloneWith(this.#props.node, {
|
|
47
47
|
onCommit: parseOnCommitAction(onCommit),
|
|
48
48
|
}),
|
|
49
49
|
});
|
|
@@ -56,7 +56,7 @@ export class CreateTableBuilder {
|
|
|
56
56
|
ifNotExists() {
|
|
57
57
|
return new CreateTableBuilder({
|
|
58
58
|
...this.#props,
|
|
59
|
-
|
|
59
|
+
node: CreateTableNode.cloneWith(this.#props.node, {
|
|
60
60
|
ifNotExists: true,
|
|
61
61
|
}),
|
|
62
62
|
});
|
|
@@ -109,7 +109,7 @@ export class CreateTableBuilder {
|
|
|
109
109
|
const columnBuilder = build(new ColumnDefinitionBuilder(ColumnDefinitionNode.create(columnName, parseDataTypeExpression(dataType))));
|
|
110
110
|
return new CreateTableBuilder({
|
|
111
111
|
...this.#props,
|
|
112
|
-
|
|
112
|
+
node: CreateTableNode.cloneWithColumn(this.#props.node, columnBuilder.toOperationNode()),
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
@@ -127,7 +127,7 @@ export class CreateTableBuilder {
|
|
|
127
127
|
addPrimaryKeyConstraint(constraintName, columns) {
|
|
128
128
|
return new CreateTableBuilder({
|
|
129
129
|
...this.#props,
|
|
130
|
-
|
|
130
|
+
node: CreateTableNode.cloneWithConstraint(this.#props.node, PrimaryConstraintNode.create(columns, constraintName)),
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
@@ -145,7 +145,7 @@ export class CreateTableBuilder {
|
|
|
145
145
|
addUniqueConstraint(constraintName, columns) {
|
|
146
146
|
return new CreateTableBuilder({
|
|
147
147
|
...this.#props,
|
|
148
|
-
|
|
148
|
+
node: CreateTableNode.cloneWithConstraint(this.#props.node, UniqueConstraintNode.create(columns, constraintName)),
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
@@ -165,7 +165,7 @@ export class CreateTableBuilder {
|
|
|
165
165
|
addCheckConstraint(constraintName, checkExpression) {
|
|
166
166
|
return new CreateTableBuilder({
|
|
167
167
|
...this.#props,
|
|
168
|
-
|
|
168
|
+
node: CreateTableNode.cloneWithConstraint(this.#props.node, CheckConstraintNode.create(checkExpression.toOperationNode(), constraintName)),
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
@@ -201,7 +201,7 @@ export class CreateTableBuilder {
|
|
|
201
201
|
const builder = build(new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.create(columns.map(ColumnNode.create), parseTable(targetTable), targetColumns.map(ColumnNode.create), constraintName)));
|
|
202
202
|
return new CreateTableBuilder({
|
|
203
203
|
...this.#props,
|
|
204
|
-
|
|
204
|
+
node: CreateTableNode.cloneWithConstraint(this.#props.node, builder.toOperationNode()),
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
207
|
/**
|
|
@@ -214,7 +214,7 @@ export class CreateTableBuilder {
|
|
|
214
214
|
* ```ts
|
|
215
215
|
* db.schema.createTable('person')
|
|
216
216
|
* .modifyFront(sql`global temporary`)
|
|
217
|
-
* .addColumn('id', 'integer', col => col
|
|
217
|
+
* .addColumn('id', 'integer', col => col.primaryKey())
|
|
218
218
|
* .addColumn('first_name', 'varchar(64)', col => col.notNull())
|
|
219
219
|
* .addColumn('last_name', 'varchar(64), col => col.notNull())
|
|
220
220
|
* .execute()
|
|
@@ -233,7 +233,7 @@ export class CreateTableBuilder {
|
|
|
233
233
|
modifyFront(modifier) {
|
|
234
234
|
return new CreateTableBuilder({
|
|
235
235
|
...this.#props,
|
|
236
|
-
|
|
236
|
+
node: CreateTableNode.cloneWithFrontModifier(this.#props.node, modifier.toOperationNode()),
|
|
237
237
|
});
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
@@ -265,11 +265,46 @@ export class CreateTableBuilder {
|
|
|
265
265
|
modifyEnd(modifier) {
|
|
266
266
|
return new CreateTableBuilder({
|
|
267
267
|
...this.#props,
|
|
268
|
-
|
|
268
|
+
node: CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()),
|
|
269
269
|
});
|
|
270
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Calls the given function passing `this` as the only argument.
|
|
273
|
+
*
|
|
274
|
+
* ### Examples
|
|
275
|
+
*
|
|
276
|
+
* ```ts
|
|
277
|
+
* db.schema
|
|
278
|
+
* .createTable('test')
|
|
279
|
+
* .call((builder) => builder.addColumn('id', 'integer'))
|
|
280
|
+
* .execute()
|
|
281
|
+
* ```
|
|
282
|
+
*
|
|
283
|
+
* ```ts
|
|
284
|
+
* const addDefaultColumns = <T extends string, C extends string = never>(
|
|
285
|
+
* builder: CreateTableBuilder<T, C>
|
|
286
|
+
* ) => {
|
|
287
|
+
* return builder
|
|
288
|
+
* .addColumn('id', 'integer', (col) => col.notNull())
|
|
289
|
+
* .addColumn('created_at', 'date', (col) =>
|
|
290
|
+
* col.notNull().defaultTo(sql`now()`)
|
|
291
|
+
* )
|
|
292
|
+
* .addColumn('updated_at', 'date', (col) =>
|
|
293
|
+
* col.notNull().defaultTo(sql`now()`)
|
|
294
|
+
* )
|
|
295
|
+
* }
|
|
296
|
+
*
|
|
297
|
+
* db.schema
|
|
298
|
+
* .createTable('test')
|
|
299
|
+
* .call(addDefaultColumns)
|
|
300
|
+
* .execute()
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
call(func) {
|
|
304
|
+
return func(this);
|
|
305
|
+
}
|
|
271
306
|
toOperationNode() {
|
|
272
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
307
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
273
308
|
}
|
|
274
309
|
compile() {
|
|
275
310
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -24,5 +24,5 @@ export declare class CreateTypeBuilder implements OperationNodeSource, Compilabl
|
|
|
24
24
|
export interface CreateTypeBuilderProps {
|
|
25
25
|
readonly queryId: QueryId;
|
|
26
26
|
readonly executor: QueryExecutor;
|
|
27
|
-
readonly
|
|
27
|
+
readonly node: CreateTypeNode;
|
|
28
28
|
}
|
|
@@ -8,7 +8,7 @@ export class CreateTypeBuilder {
|
|
|
8
8
|
this.#props = freeze(props);
|
|
9
9
|
}
|
|
10
10
|
toOperationNode() {
|
|
11
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
11
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Creates an anum type.
|
|
@@ -22,7 +22,7 @@ export class CreateTypeBuilder {
|
|
|
22
22
|
asEnum(values) {
|
|
23
23
|
return new CreateTypeBuilder({
|
|
24
24
|
...this.#props,
|
|
25
|
-
|
|
25
|
+
node: CreateTypeNode.cloneWithEnum(this.#props.node, values),
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
compile() {
|
|
@@ -4,7 +4,8 @@ import { Compilable } from '../util/compilable.js';
|
|
|
4
4
|
import { QueryExecutor } from '../query-executor/query-executor.js';
|
|
5
5
|
import { QueryId } from '../util/query-id.js';
|
|
6
6
|
import { CreateViewNode } from '../operation-node/create-view-node.js';
|
|
7
|
-
import {
|
|
7
|
+
import { AnySelectQueryBuilder } from '../util/type-utils.js';
|
|
8
|
+
import { RawBuilder } from '../raw-builder/raw-builder.js';
|
|
8
9
|
export declare class CreateViewBuilder implements OperationNodeSource, Compilable {
|
|
9
10
|
#private;
|
|
10
11
|
constructor(props: CreateViewBuilderProps);
|
|
@@ -30,7 +31,7 @@ export declare class CreateViewBuilder implements OperationNodeSource, Compilabl
|
|
|
30
31
|
* string opening an SQL injection vulnerability. DO NOT pass unchecked user input
|
|
31
32
|
* into the query or raw expression passed to this method!
|
|
32
33
|
*/
|
|
33
|
-
as(query: AnySelectQueryBuilder |
|
|
34
|
+
as(query: AnySelectQueryBuilder | RawBuilder<any>): CreateViewBuilder;
|
|
34
35
|
toOperationNode(): CreateViewNode;
|
|
35
36
|
compile(): CompiledQuery;
|
|
36
37
|
execute(): Promise<void>;
|
|
@@ -38,5 +39,5 @@ export declare class CreateViewBuilder implements OperationNodeSource, Compilabl
|
|
|
38
39
|
export interface CreateViewBuilderProps {
|
|
39
40
|
readonly queryId: QueryId;
|
|
40
41
|
readonly executor: QueryExecutor;
|
|
41
|
-
readonly
|
|
42
|
+
readonly node: CreateViewNode;
|
|
42
43
|
}
|
|
@@ -17,7 +17,7 @@ export class CreateViewBuilder {
|
|
|
17
17
|
temporary() {
|
|
18
18
|
return new CreateViewBuilder({
|
|
19
19
|
...this.#props,
|
|
20
|
-
|
|
20
|
+
node: CreateViewNode.cloneWith(this.#props.node, {
|
|
21
21
|
temporary: true,
|
|
22
22
|
}),
|
|
23
23
|
});
|
|
@@ -25,7 +25,7 @@ export class CreateViewBuilder {
|
|
|
25
25
|
materialized() {
|
|
26
26
|
return new CreateViewBuilder({
|
|
27
27
|
...this.#props,
|
|
28
|
-
|
|
28
|
+
node: CreateViewNode.cloneWith(this.#props.node, {
|
|
29
29
|
materialized: true,
|
|
30
30
|
}),
|
|
31
31
|
});
|
|
@@ -36,7 +36,7 @@ export class CreateViewBuilder {
|
|
|
36
36
|
ifNotExists() {
|
|
37
37
|
return new CreateViewBuilder({
|
|
38
38
|
...this.#props,
|
|
39
|
-
|
|
39
|
+
node: CreateViewNode.cloneWith(this.#props.node, {
|
|
40
40
|
ifNotExists: true,
|
|
41
41
|
}),
|
|
42
42
|
});
|
|
@@ -44,7 +44,7 @@ export class CreateViewBuilder {
|
|
|
44
44
|
orReplace() {
|
|
45
45
|
return new CreateViewBuilder({
|
|
46
46
|
...this.#props,
|
|
47
|
-
|
|
47
|
+
node: CreateViewNode.cloneWith(this.#props.node, {
|
|
48
48
|
orReplace: true,
|
|
49
49
|
}),
|
|
50
50
|
});
|
|
@@ -52,7 +52,7 @@ export class CreateViewBuilder {
|
|
|
52
52
|
columns(columns) {
|
|
53
53
|
return new CreateViewBuilder({
|
|
54
54
|
...this.#props,
|
|
55
|
-
|
|
55
|
+
node: CreateViewNode.cloneWith(this.#props.node, {
|
|
56
56
|
columns: columns.map(parseColumnName),
|
|
57
57
|
}),
|
|
58
58
|
});
|
|
@@ -72,13 +72,13 @@ export class CreateViewBuilder {
|
|
|
72
72
|
.toOperationNode();
|
|
73
73
|
return new CreateViewBuilder({
|
|
74
74
|
...this.#props,
|
|
75
|
-
|
|
75
|
+
node: CreateViewNode.cloneWith(this.#props.node, {
|
|
76
76
|
as: queryNode,
|
|
77
77
|
}),
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
toOperationNode() {
|
|
81
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
81
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
82
82
|
}
|
|
83
83
|
compile() {
|
|
84
84
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -21,5 +21,5 @@ export declare class DropIndexBuilder implements OperationNodeSource, Compilable
|
|
|
21
21
|
export interface DropIndexBuilderProps {
|
|
22
22
|
readonly queryId: QueryId;
|
|
23
23
|
readonly executor: QueryExecutor;
|
|
24
|
-
readonly
|
|
24
|
+
readonly node: DropIndexNode;
|
|
25
25
|
}
|
|
@@ -15,7 +15,7 @@ export class DropIndexBuilder {
|
|
|
15
15
|
on(table) {
|
|
16
16
|
return new DropIndexBuilder({
|
|
17
17
|
...this.#props,
|
|
18
|
-
|
|
18
|
+
node: DropIndexNode.cloneWith(this.#props.node, {
|
|
19
19
|
table: parseTable(table),
|
|
20
20
|
}),
|
|
21
21
|
});
|
|
@@ -23,7 +23,7 @@ export class DropIndexBuilder {
|
|
|
23
23
|
ifExists() {
|
|
24
24
|
return new DropIndexBuilder({
|
|
25
25
|
...this.#props,
|
|
26
|
-
|
|
26
|
+
node: DropIndexNode.cloneWith(this.#props.node, {
|
|
27
27
|
ifExists: true,
|
|
28
28
|
}),
|
|
29
29
|
});
|
|
@@ -31,13 +31,13 @@ export class DropIndexBuilder {
|
|
|
31
31
|
cascade() {
|
|
32
32
|
return new DropIndexBuilder({
|
|
33
33
|
...this.#props,
|
|
34
|
-
|
|
34
|
+
node: DropIndexNode.cloneWith(this.#props.node, {
|
|
35
35
|
cascade: true,
|
|
36
36
|
}),
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
toOperationNode() {
|
|
40
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
40
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
41
41
|
}
|
|
42
42
|
compile() {
|
|
43
43
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -16,5 +16,5 @@ export declare class DropSchemaBuilder implements OperationNodeSource, Compilabl
|
|
|
16
16
|
export interface DropSchemaBuilderProps {
|
|
17
17
|
readonly queryId: QueryId;
|
|
18
18
|
readonly executor: QueryExecutor;
|
|
19
|
-
readonly
|
|
19
|
+
readonly node: DropSchemaNode;
|
|
20
20
|
}
|
|
@@ -10,7 +10,7 @@ export class DropSchemaBuilder {
|
|
|
10
10
|
ifExists() {
|
|
11
11
|
return new DropSchemaBuilder({
|
|
12
12
|
...this.#props,
|
|
13
|
-
|
|
13
|
+
node: DropSchemaNode.cloneWith(this.#props.node, {
|
|
14
14
|
ifExists: true,
|
|
15
15
|
}),
|
|
16
16
|
});
|
|
@@ -18,13 +18,13 @@ export class DropSchemaBuilder {
|
|
|
18
18
|
cascade() {
|
|
19
19
|
return new DropSchemaBuilder({
|
|
20
20
|
...this.#props,
|
|
21
|
-
|
|
21
|
+
node: DropSchemaNode.cloneWith(this.#props.node, {
|
|
22
22
|
cascade: true,
|
|
23
23
|
}),
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
toOperationNode() {
|
|
27
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
27
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
28
28
|
}
|
|
29
29
|
compile() {
|
|
30
30
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -16,5 +16,5 @@ export declare class DropTableBuilder implements OperationNodeSource, Compilable
|
|
|
16
16
|
export interface DropTableBuilderProps {
|
|
17
17
|
readonly queryId: QueryId;
|
|
18
18
|
readonly executor: QueryExecutor;
|
|
19
|
-
readonly
|
|
19
|
+
readonly node: DropTableNode;
|
|
20
20
|
}
|
|
@@ -10,7 +10,7 @@ export class DropTableBuilder {
|
|
|
10
10
|
ifExists() {
|
|
11
11
|
return new DropTableBuilder({
|
|
12
12
|
...this.#props,
|
|
13
|
-
|
|
13
|
+
node: DropTableNode.cloneWith(this.#props.node, {
|
|
14
14
|
ifExists: true,
|
|
15
15
|
}),
|
|
16
16
|
});
|
|
@@ -18,13 +18,13 @@ export class DropTableBuilder {
|
|
|
18
18
|
cascade() {
|
|
19
19
|
return new DropTableBuilder({
|
|
20
20
|
...this.#props,
|
|
21
|
-
|
|
21
|
+
node: DropTableNode.cloneWith(this.#props.node, {
|
|
22
22
|
cascade: true,
|
|
23
23
|
}),
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
toOperationNode() {
|
|
27
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
27
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
28
28
|
}
|
|
29
29
|
compile() {
|
|
30
30
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -15,5 +15,5 @@ export declare class DropTypeBuilder implements OperationNodeSource, Compilable
|
|
|
15
15
|
export interface DropTypeBuilderProps {
|
|
16
16
|
readonly queryId: QueryId;
|
|
17
17
|
readonly executor: QueryExecutor;
|
|
18
|
-
readonly
|
|
18
|
+
readonly node: DropTypeNode;
|
|
19
19
|
}
|
|
@@ -10,13 +10,13 @@ export class DropTypeBuilder {
|
|
|
10
10
|
ifExists() {
|
|
11
11
|
return new DropTypeBuilder({
|
|
12
12
|
...this.#props,
|
|
13
|
-
|
|
13
|
+
node: DropTypeNode.cloneWith(this.#props.node, {
|
|
14
14
|
ifExists: true,
|
|
15
15
|
}),
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
toOperationNode() {
|
|
19
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
19
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
20
20
|
}
|
|
21
21
|
compile() {
|
|
22
22
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -17,5 +17,5 @@ export declare class DropViewBuilder implements OperationNodeSource, Compilable
|
|
|
17
17
|
export interface DropViewBuilderProps {
|
|
18
18
|
readonly queryId: QueryId;
|
|
19
19
|
readonly executor: QueryExecutor;
|
|
20
|
-
readonly
|
|
20
|
+
readonly node: DropViewNode;
|
|
21
21
|
}
|
|
@@ -10,7 +10,7 @@ export class DropViewBuilder {
|
|
|
10
10
|
materialized() {
|
|
11
11
|
return new DropViewBuilder({
|
|
12
12
|
...this.#props,
|
|
13
|
-
|
|
13
|
+
node: DropViewNode.cloneWith(this.#props.node, {
|
|
14
14
|
materialized: true,
|
|
15
15
|
}),
|
|
16
16
|
});
|
|
@@ -18,7 +18,7 @@ export class DropViewBuilder {
|
|
|
18
18
|
ifExists() {
|
|
19
19
|
return new DropViewBuilder({
|
|
20
20
|
...this.#props,
|
|
21
|
-
|
|
21
|
+
node: DropViewNode.cloneWith(this.#props.node, {
|
|
22
22
|
ifExists: true,
|
|
23
23
|
}),
|
|
24
24
|
});
|
|
@@ -26,13 +26,13 @@ export class DropViewBuilder {
|
|
|
26
26
|
cascade() {
|
|
27
27
|
return new DropViewBuilder({
|
|
28
28
|
...this.#props,
|
|
29
|
-
|
|
29
|
+
node: DropViewNode.cloneWith(this.#props.node, {
|
|
30
30
|
cascade: true,
|
|
31
31
|
}),
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
toOperationNode() {
|
|
35
|
-
return this.#props.executor.transformQuery(this.#props.
|
|
35
|
+
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
36
36
|
}
|
|
37
37
|
compile() {
|
|
38
38
|
return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
|
|
@@ -186,7 +186,7 @@ export declare class SchemaModule {
|
|
|
186
186
|
* .execute()
|
|
187
187
|
* ```
|
|
188
188
|
*/
|
|
189
|
-
createType(
|
|
189
|
+
createType(typeName: string): CreateTypeBuilder;
|
|
190
190
|
/**
|
|
191
191
|
* Drop a type.
|
|
192
192
|
*
|
|
@@ -201,7 +201,7 @@ export declare class SchemaModule {
|
|
|
201
201
|
* .execute()
|
|
202
202
|
* ```
|
|
203
203
|
*/
|
|
204
|
-
dropType(
|
|
204
|
+
dropType(typeName: string): DropTypeBuilder;
|
|
205
205
|
/**
|
|
206
206
|
* Returns a copy of this schema module with the given plugin installed.
|
|
207
207
|
*/
|
|
@@ -24,6 +24,7 @@ import { CreateTypeBuilder } from './create-type-builder.js';
|
|
|
24
24
|
import { DropTypeBuilder } from './drop-type-builder.js';
|
|
25
25
|
import { CreateTypeNode } from '../operation-node/create-type-node.js';
|
|
26
26
|
import { DropTypeNode } from '../operation-node/drop-type-node.js';
|
|
27
|
+
import { parseSchemableIdentifier } from '../parser/identifier-parser.js';
|
|
27
28
|
/**
|
|
28
29
|
* Provides methods for building database schema.
|
|
29
30
|
*/
|
|
@@ -87,7 +88,7 @@ export class SchemaModule {
|
|
|
87
88
|
return new CreateTableBuilder({
|
|
88
89
|
queryId: createQueryId(),
|
|
89
90
|
executor: this.#executor,
|
|
90
|
-
|
|
91
|
+
node: CreateTableNode.create(parseTable(table)),
|
|
91
92
|
});
|
|
92
93
|
}
|
|
93
94
|
/**
|
|
@@ -105,7 +106,7 @@ export class SchemaModule {
|
|
|
105
106
|
return new DropTableBuilder({
|
|
106
107
|
queryId: createQueryId(),
|
|
107
108
|
executor: this.#executor,
|
|
108
|
-
|
|
109
|
+
node: DropTableNode.create(parseTable(table)),
|
|
109
110
|
});
|
|
110
111
|
}
|
|
111
112
|
/**
|
|
@@ -125,7 +126,7 @@ export class SchemaModule {
|
|
|
125
126
|
return new CreateIndexBuilder({
|
|
126
127
|
queryId: createQueryId(),
|
|
127
128
|
executor: this.#executor,
|
|
128
|
-
|
|
129
|
+
node: CreateIndexNode.create(indexName),
|
|
129
130
|
});
|
|
130
131
|
}
|
|
131
132
|
/**
|
|
@@ -143,7 +144,7 @@ export class SchemaModule {
|
|
|
143
144
|
return new DropIndexBuilder({
|
|
144
145
|
queryId: createQueryId(),
|
|
145
146
|
executor: this.#executor,
|
|
146
|
-
|
|
147
|
+
node: DropIndexNode.create(indexName),
|
|
147
148
|
});
|
|
148
149
|
}
|
|
149
150
|
/**
|
|
@@ -161,7 +162,7 @@ export class SchemaModule {
|
|
|
161
162
|
return new CreateSchemaBuilder({
|
|
162
163
|
queryId: createQueryId(),
|
|
163
164
|
executor: this.#executor,
|
|
164
|
-
|
|
165
|
+
node: CreateSchemaNode.create(schema),
|
|
165
166
|
});
|
|
166
167
|
}
|
|
167
168
|
/**
|
|
@@ -179,7 +180,7 @@ export class SchemaModule {
|
|
|
179
180
|
return new DropSchemaBuilder({
|
|
180
181
|
queryId: createQueryId(),
|
|
181
182
|
executor: this.#executor,
|
|
182
|
-
|
|
183
|
+
node: DropSchemaNode.create(schema),
|
|
183
184
|
});
|
|
184
185
|
}
|
|
185
186
|
/**
|
|
@@ -199,7 +200,7 @@ export class SchemaModule {
|
|
|
199
200
|
return new AlterTableBuilder({
|
|
200
201
|
queryId: createQueryId(),
|
|
201
202
|
executor: this.#executor,
|
|
202
|
-
|
|
203
|
+
node: AlterTableNode.create(table),
|
|
203
204
|
});
|
|
204
205
|
}
|
|
205
206
|
/**
|
|
@@ -219,7 +220,7 @@ export class SchemaModule {
|
|
|
219
220
|
return new CreateViewBuilder({
|
|
220
221
|
queryId: createQueryId(),
|
|
221
222
|
executor: this.#executor,
|
|
222
|
-
|
|
223
|
+
node: CreateViewNode.create(viewName),
|
|
223
224
|
});
|
|
224
225
|
}
|
|
225
226
|
/**
|
|
@@ -238,7 +239,7 @@ export class SchemaModule {
|
|
|
238
239
|
return new DropViewBuilder({
|
|
239
240
|
queryId: createQueryId(),
|
|
240
241
|
executor: this.#executor,
|
|
241
|
-
|
|
242
|
+
node: DropViewNode.create(viewName),
|
|
242
243
|
});
|
|
243
244
|
}
|
|
244
245
|
/**
|
|
@@ -255,11 +256,11 @@ export class SchemaModule {
|
|
|
255
256
|
* .execute()
|
|
256
257
|
* ```
|
|
257
258
|
*/
|
|
258
|
-
createType(
|
|
259
|
+
createType(typeName) {
|
|
259
260
|
return new CreateTypeBuilder({
|
|
260
261
|
queryId: createQueryId(),
|
|
261
262
|
executor: this.#executor,
|
|
262
|
-
|
|
263
|
+
node: CreateTypeNode.create(parseSchemableIdentifier(typeName)),
|
|
263
264
|
});
|
|
264
265
|
}
|
|
265
266
|
/**
|
|
@@ -276,11 +277,11 @@ export class SchemaModule {
|
|
|
276
277
|
* .execute()
|
|
277
278
|
* ```
|
|
278
279
|
*/
|
|
279
|
-
dropType(
|
|
280
|
+
dropType(typeName) {
|
|
280
281
|
return new DropTypeBuilder({
|
|
281
282
|
queryId: createQueryId(),
|
|
282
283
|
executor: this.#executor,
|
|
283
|
-
|
|
284
|
+
node: DropTypeNode.create(parseSchemableIdentifier(typeName)),
|
|
284
285
|
});
|
|
285
286
|
}
|
|
286
287
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Expression } from '../expression/expression.js';
|
|
2
2
|
export declare type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree';
|
|
3
3
|
export interface Explainable {
|
|
4
|
-
explain<O extends Record<string, any> = Record<string, any>>(format?: ExplainFormat, options?:
|
|
4
|
+
explain<O extends Record<string, any> = Record<string, any>>(format?: ExplainFormat, options?: Expression<any>): Promise<O[]>;
|
|
5
5
|
}
|