ts-prorm-orm 1.1.0 → 1.2.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/CHANGELOG.md +95 -0
- package/README.md +194 -72
- package/dist/audit/history-query.d.ts +35 -0
- package/dist/audit/index.d.ts +16 -0
- package/dist/audit/logger.d.ts +126 -0
- package/dist/cache/cache-manager.d.ts +341 -0
- package/dist/cache/index.d.ts +8 -0
- package/dist/cache/redis-cluster-cache.d.ts +164 -0
- package/dist/cache/redis-cluster-cache.js +19 -36
- package/dist/cli/cloud.d.ts +55 -0
- package/dist/cli/cloud.js +318 -0
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/commands/auth.js +345 -0
- package/dist/cli/commands/billing.d.ts +2 -0
- package/dist/cli/commands/billing.js +135 -0
- package/dist/cli/commands/code.d.ts +2 -0
- package/dist/cli/commands/code.js +168 -0
- package/dist/cli/commands/config.d.ts +2 -0
- package/dist/cli/commands/config.js +154 -0
- package/dist/cli/commands/db.d.ts +2 -0
- package/dist/cli/commands/db.js +189 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +22 -0
- package/dist/cli/commands/keys.d.ts +2 -0
- package/dist/cli/commands/keys.js +100 -0
- package/dist/cli/commands/misc.d.ts +2 -0
- package/dist/cli/commands/misc.js +282 -0
- package/dist/cli/commands/pull.d.ts +2 -0
- package/dist/cli/commands/pull.js +306 -0
- package/dist/cli/commands/runners.d.ts +2 -0
- package/dist/cli/commands/runners.js +218 -0
- package/dist/cli/commands/scaffold.d.ts +2 -0
- package/dist/cli/commands/scaffold.js +383 -0
- package/dist/cli/commands/secrets.d.ts +2 -0
- package/dist/cli/commands/secrets.js +162 -0
- package/dist/cli/commands/store.d.ts +2 -0
- package/dist/cli/commands/store.js +274 -0
- package/dist/cli/commands/system.d.ts +10 -0
- package/dist/cli/commands/system.js +169 -0
- package/dist/cli/commands/teams.d.ts +2 -0
- package/dist/cli/commands/teams.js +189 -0
- package/dist/cli/commands/user.d.ts +2 -0
- package/dist/cli/commands/user.js +171 -0
- package/dist/cli/framework.d.ts +103 -0
- package/dist/cli/framework.js +436 -0
- package/dist/cli/io.d.ts +26 -0
- package/dist/cli/io.js +181 -0
- package/dist/cli/keychain.d.ts +10 -0
- package/dist/cli/keychain.js +101 -0
- package/dist/cli/prompt.d.ts +20 -0
- package/dist/cli/prompt.js +111 -0
- package/dist/cli.d.ts +214 -0
- package/dist/cli.js +72 -5
- package/dist/compliance/audit-trail.d.ts +66 -0
- package/dist/compliance/backup-verification.d.ts +279 -0
- package/dist/compliance/breach-detector.d.ts +197 -0
- package/dist/compliance/consent-record.d.ts +107 -0
- package/dist/compliance/consent-versioning.d.ts +169 -0
- package/dist/compliance/cross-border-log.d.ts +254 -0
- package/dist/compliance/data-classifier.d.ts +127 -0
- package/dist/compliance/data-lineage.d.ts +268 -0
- package/dist/compliance/data-masker.d.ts +110 -0
- package/dist/compliance/data-portability.d.ts +98 -0
- package/dist/compliance/data-retention.d.ts +108 -0
- package/dist/compliance/dsar-workflow.d.ts +175 -0
- package/dist/compliance/field-encryption.d.ts +84 -0
- package/dist/compliance/immutable-record.d.ts +84 -0
- package/dist/compliance/index.d.ts +93 -0
- package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
- package/dist/compliance/pseudonymization.d.ts +96 -0
- package/dist/compliance/query-firewall.d.ts +661 -0
- package/dist/compliance/rate-limiter.d.ts +203 -0
- package/dist/compliance/right-to-erasure.d.ts +96 -0
- package/dist/compliance/row-level-security.d.ts +152 -0
- package/dist/compliance/security-decorator.d.ts +388 -0
- package/dist/compliance/security-monitor.d.ts +170 -0
- package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
- package/dist/compliance/session-isolation.d.ts +286 -0
- package/dist/compliance/tls-enforcer.d.ts +51 -0
- package/dist/compliance/worm-storage.d.ts +225 -0
- package/dist/connection-manager.d.ts +130 -0
- package/dist/connection-pool.d.ts +311 -0
- package/dist/decorators/audit.d.ts +49 -0
- package/dist/decorators/check.d.ts +218 -0
- package/dist/decorators/collate.d.ts +346 -0
- package/dist/decorators/comment.d.ts +51 -0
- package/dist/decorators/database-settings.d.ts +193 -0
- package/dist/decorators/default.d.ts +148 -0
- package/dist/decorators/encryption.d.ts +175 -0
- package/dist/decorators/engine.d.ts +97 -0
- package/dist/decorators/fk-constraints.d.ts +387 -0
- package/dist/decorators/foreign-table.d.ts +57 -0
- package/dist/decorators/generated.d.ts +232 -0
- package/dist/decorators/hstore.d.ts +96 -0
- package/dist/decorators/index.d.ts +57 -0
- package/dist/decorators/index.js +14 -30
- package/dist/decorators/json-column.d.ts +47 -0
- package/dist/decorators/jsonb.d.ts +83 -0
- package/dist/decorators/orm-decorators.d.ts +274 -0
- package/dist/decorators/permissions.d.ts +192 -0
- package/dist/decorators/procedure.d.ts +168 -0
- package/dist/decorators/procedure.js +31 -7
- package/dist/decorators/query-options.d.ts +527 -0
- package/dist/decorators/range.d.ts +122 -0
- package/dist/decorators/set-column.d.ts +43 -0
- package/dist/decorators/spatial.d.ts +60 -0
- package/dist/decorators/storage.d.ts +561 -0
- package/dist/decorators/timezone.d.ts +319 -0
- package/dist/decorators/trigger.d.ts +50 -0
- package/dist/decorators/uuid.d.ts +102 -0
- package/dist/decorators/view.d.ts +213 -0
- package/dist/diagrams/chen-diagram.d.ts +70 -0
- package/dist/diagrams/chen-diagram.js +33 -31
- package/dist/diagrams/class-diagram.d.ts +78 -0
- package/dist/diagrams/class-diagram.js +23 -27
- package/dist/diagrams/dependency-diagram.d.ts +82 -0
- package/dist/diagrams/dependency-diagram.js +18 -9
- package/dist/diagrams/er-diagram.d.ts +82 -0
- package/dist/diagrams/er-diagram.js +174 -231
- package/dist/diagrams/flow-diagram.d.ts +70 -0
- package/dist/diagrams/flow-diagram.js +23 -18
- package/dist/diagrams/gantt-diagram.d.ts +67 -0
- package/dist/diagrams/gantt-diagram.js +20 -18
- package/dist/diagrams/index-diagram.d.ts +61 -0
- package/dist/diagrams/index-diagram.js +36 -31
- package/dist/diagrams/index.d.ts +155 -0
- package/dist/diagrams/index.js +7 -1
- package/dist/diagrams/migration-diagram.d.ts +67 -0
- package/dist/diagrams/migration-diagram.js +45 -57
- package/dist/diagrams/model-diagram.d.ts +85 -0
- package/dist/diagrams/model-diagram.js +225 -287
- package/dist/diagrams/package-diagram.d.ts +69 -0
- package/dist/diagrams/package-diagram.js +30 -32
- package/dist/diagrams/palette.d.ts +138 -0
- package/dist/diagrams/palette.js +134 -25
- package/dist/diagrams/relational-diagram.d.ts +82 -0
- package/dist/diagrams/relational-diagram.js +51 -59
- package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
- package/dist/diagrams/schemadoc-diagram.js +36 -28
- package/dist/diagrams/sequence-diagram.d.ts +61 -0
- package/dist/diagrams/sequence-diagram.js +20 -11
- package/dist/diagrams/state-diagram.d.ts +85 -0
- package/dist/diagrams/state-diagram.js +21 -17
- package/dist/diagrams/svg-dom.d.ts +62 -0
- package/dist/diagrams/svg-dom.js +11 -0
- package/dist/diagrams/tree-diagram.d.ts +47 -0
- package/dist/diagrams/tree-diagram.js +19 -10
- package/dist/dialects/clickhouse/index.d.ts +660 -0
- package/dist/dialects/clickhouse/index.js +107 -2
- package/dist/dialects/cockroachdb/index.d.ts +1708 -0
- package/dist/dialects/cockroachdb/index.js +139 -10
- package/dist/dialects/cratedb/index.d.ts +262 -0
- package/dist/dialects/cratedb/index.js +148 -0
- package/dist/dialects/databricks/index.d.ts +397 -0
- package/dist/dialects/databricks/index.js +233 -11
- package/dist/dialects/db2/index.d.ts +729 -0
- package/dist/dialects/db2/index.js +152 -2
- package/dist/dialects/dialect.d.ts +1653 -0
- package/dist/dialects/duckdb/index.d.ts +440 -0
- package/dist/dialects/duckdb/index.js +21 -37
- package/dist/dialects/exasol/index.d.ts +197 -0
- package/dist/dialects/exasol/index.js +14 -0
- package/dist/dialects/firebird/index.d.ts +286 -0
- package/dist/dialects/firebird/index.js +135 -0
- package/dist/dialects/greenplum/index.d.ts +336 -0
- package/dist/dialects/greenplum/index.js +168 -0
- package/dist/dialects/hana/index.d.ts +512 -0
- package/dist/dialects/hana/index.js +17 -35
- package/dist/dialects/mariadb/index.d.ts +1241 -0
- package/dist/dialects/mariadb/index.js +181 -43
- package/dist/dialects/mssql/index.d.ts +729 -0
- package/dist/dialects/mssql/index.js +76 -7
- package/dist/dialects/mysql/index.d.ts +1233 -0
- package/dist/dialects/mysql/index.js +87 -19
- package/dist/dialects/oracle/index.d.ts +1222 -0
- package/dist/dialects/oracle/index.js +210 -9
- package/dist/dialects/postgres/index.d.ts +1598 -0
- package/dist/dialects/postgres/index.js +34 -13
- package/dist/dialects/query-stream-helper.d.ts +58 -0
- package/dist/dialects/questdb/index.d.ts +430 -0
- package/dist/dialects/questdb/index.js +292 -0
- package/dist/dialects/redshift/index.d.ts +933 -0
- package/dist/dialects/redshift/index.js +17 -5
- package/dist/dialects/singlestore/index.d.ts +233 -0
- package/dist/dialects/singlestore/index.js +53 -0
- package/dist/dialects/snowflake/index.d.ts +727 -0
- package/dist/dialects/snowflake/index.js +154 -5
- package/dist/dialects/spanner/index.d.ts +660 -0
- package/dist/dialects/spanner/index.js +43 -21
- package/dist/dialects/sqlite/index.d.ts +1133 -0
- package/dist/dialects/sqlite/index.js +168 -30
- package/dist/dialects/tidb/index.d.ts +226 -0
- package/dist/dialects/tidb/index.js +10 -0
- package/dist/dialects/timescaledb/index.d.ts +286 -0
- package/dist/dialects/timescaledb/index.js +179 -0
- package/dist/dialects/trino/index.d.ts +230 -0
- package/dist/dialects/trino/index.js +85 -10
- package/dist/dialects/turso/index.d.ts +98 -0
- package/dist/dialects/turso/index.js +10 -0
- package/dist/dialects/vertica/index.d.ts +321 -0
- package/dist/dialects/vertica/index.js +161 -0
- package/dist/dialects/yugabytedb/index.d.ts +276 -0
- package/dist/dialects/yugabytedb/index.js +121 -0
- package/dist/errors/index.d.ts +378 -0
- package/dist/errors/index.js +29 -1
- package/dist/errors/utils.d.ts +53 -0
- package/dist/errors.d.ts +5 -0
- package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
- package/dist/extensions/catalog/mssql-features.d.ts +20 -0
- package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
- package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
- package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
- package/dist/extensions/index.d.ts +34 -0
- package/dist/extensions/types.d.ts +43 -0
- package/dist/external-fields/adapters.d.ts +50 -0
- package/dist/external-fields/adapters.js +227 -0
- package/dist/external-fields/decorator.d.ts +77 -0
- package/dist/external-fields/decorator.js +80 -0
- package/dist/external-fields/index.d.ts +10 -0
- package/dist/external-fields/index.js +19 -0
- package/dist/external-fields/runtime.d.ts +39 -0
- package/dist/external-fields/runtime.js +221 -0
- package/dist/foreign-data.d.ts +168 -0
- package/dist/graph/base-graph-dialect.d.ts +250 -0
- package/dist/graph/base-graph-dialect.js +539 -0
- package/dist/graph/dgraph/index.d.ts +65 -0
- package/dist/graph/dgraph/index.js +559 -0
- package/dist/graph/gremlin/index.d.ts +59 -0
- package/dist/graph/gremlin/index.js +378 -0
- package/dist/graph/index.d.ts +60 -0
- package/dist/graph/index.js +67 -0
- package/dist/graph/neo4j/index.d.ts +50 -0
- package/dist/graph/neo4j/index.js +462 -0
- package/dist/graph/types.d.ts +213 -0
- package/dist/graph/types.js +234 -0
- package/dist/hooks/hooks-manager.d.ts +189 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/index.d.ts +713 -0
- package/dist/index.js +36 -4
- package/dist/logging.d.ts +183 -0
- package/dist/migrations/index.d.ts +9 -0
- package/dist/migrations/migration.d.ts +143 -0
- package/dist/migrations/migrator.d.ts +199 -0
- package/dist/migrations/prormmigration.d.ts +131 -0
- package/dist/migrations/query-interface.d.ts +335 -0
- package/dist/migrations/seeder.d.ts +167 -0
- package/dist/models/associations.d.ts +131 -0
- package/dist/models/associations.js +7 -2
- package/dist/models/constraints.d.ts +175 -0
- package/dist/models/data-types.d.ts +1656 -0
- package/dist/models/decorators.d.ts +328 -0
- package/dist/models/decorators.js +61 -82
- package/dist/models/eager-load.d.ts +86 -0
- package/dist/models/eager-load.js +369 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/indexes.d.ts +325 -0
- package/dist/models/methods.d.ts +419 -0
- package/dist/models/model-manager.d.ts +76 -0
- package/dist/models/model.d.ts +820 -0
- package/dist/models/model.js +15 -101
- package/dist/models/operators.d.ts +29 -0
- package/dist/models/scopes.d.ts +71 -0
- package/dist/models/typescript-types.d.ts +177 -0
- package/dist/nosql/aerospike/index.d.ts +126 -0
- package/dist/nosql/allegrograph/index.d.ts +86 -0
- package/dist/nosql/arangodb/index.d.ts +285 -0
- package/dist/nosql/arangodb/index.js +274 -2
- package/dist/nosql/arangodb/where.d.ts +38 -0
- package/dist/nosql/arangodb/where.js +94 -0
- package/dist/nosql/azure-blob/index.d.ts +104 -0
- package/dist/nosql/beanstalkd/index.d.ts +88 -0
- package/dist/nosql/beequeue/index.d.ts +99 -0
- package/dist/nosql/bigchaindb/index.d.ts +113 -0
- package/dist/nosql/bigtable/index.d.ts +144 -0
- package/dist/nosql/blazegraph/index.d.ts +88 -0
- package/dist/nosql/bullmq/index.d.ts +83 -0
- package/dist/nosql/cassandra/index.d.ts +119 -0
- package/dist/nosql/chroma/index.d.ts +151 -0
- package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
- package/dist/nosql/coherence/index.d.ts +91 -0
- package/dist/nosql/cosmosdb/index.d.ts +78 -0
- package/dist/nosql/couchbase/index.d.ts +103 -0
- package/dist/nosql/dax/index.d.ts +118 -0
- package/dist/nosql/deno-kv/index.d.ts +109 -0
- package/dist/nosql/dgraph/index.d.ts +80 -0
- package/dist/nosql/doris/index.d.ts +88 -0
- package/dist/nosql/druid/index.d.ts +95 -0
- package/dist/nosql/dynamodb/index.d.ts +643 -0
- package/dist/nosql/dynamodb/index.js +423 -0
- package/dist/nosql/elasticsearch/index.d.ts +239 -0
- package/dist/nosql/etcd/index.d.ts +243 -0
- package/dist/nosql/eventhubs/index.d.ts +89 -0
- package/dist/nosql/eventstore/index.d.ts +102 -0
- package/dist/nosql/faunadb/index.d.ts +141 -0
- package/dist/nosql/faunadb/index.js +329 -0
- package/dist/nosql/firestore/index.d.ts +67 -0
- package/dist/nosql/fluree/index.d.ts +88 -0
- package/dist/nosql/fuseki/index.d.ts +94 -0
- package/dist/nosql/gcs/index.d.ts +62 -0
- package/dist/nosql/gearman/index.d.ts +77 -0
- package/dist/nosql/geode/index.d.ts +93 -0
- package/dist/nosql/graphdb/index.d.ts +86 -0
- package/dist/nosql/graylog/index.d.ts +118 -0
- package/dist/nosql/gridgain/index.d.ts +78 -0
- package/dist/nosql/hazelcast/index.d.ts +73 -0
- package/dist/nosql/hbase/index.d.ts +123 -0
- package/dist/nosql/ignite/index.d.ts +80 -0
- package/dist/nosql/immudb/index.d.ts +131 -0
- package/dist/nosql/index.d.ts +215 -0
- package/dist/nosql/infinispan/index.d.ts +95 -0
- package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
- package/dist/nosql/influxdb/flux-compiler.js +170 -0
- package/dist/nosql/influxdb/index.d.ts +300 -0
- package/dist/nosql/influxdb/index.js +0 -0
- package/dist/nosql/kafka/index.d.ts +113 -0
- package/dist/nosql/keyspaces/index.d.ts +122 -0
- package/dist/nosql/kinesis/index.d.ts +121 -0
- package/dist/nosql/leveldb/index.d.ts +112 -0
- package/dist/nosql/leveldb/index.js +103 -1
- package/dist/nosql/lmdb/index.d.ts +76 -0
- package/dist/nosql/loki/index.d.ts +126 -0
- package/dist/nosql/marklogic/index.d.ts +76 -0
- package/dist/nosql/materialize/index.d.ts +91 -0
- package/dist/nosql/meilisearch/index.d.ts +76 -0
- package/dist/nosql/memcached/index.d.ts +138 -0
- package/dist/nosql/milvus/index.d.ts +167 -0
- package/dist/nosql/minio/index.d.ts +122 -0
- package/dist/nosql/momento/index.d.ts +99 -0
- package/dist/nosql/mongodb/index.d.ts +265 -0
- package/dist/nosql/mongodb/index.js +139 -0
- package/dist/nosql/mongodb/where.d.ts +8 -0
- package/dist/nosql/mongodb/where.js +181 -0
- package/dist/nosql/nats/index.d.ts +139 -0
- package/dist/nosql/nedb/index.d.ts +79 -0
- package/dist/nosql/neo4j/index.d.ts +217 -0
- package/dist/nosql/neo4j/index.js +26 -14
- package/dist/nosql/neptune/index.d.ts +234 -0
- package/dist/nosql/neptune/index.js +23 -9
- package/dist/nosql/nsq/index.d.ts +93 -0
- package/dist/nosql/opensearch/index.d.ts +97 -0
- package/dist/nosql/orientdb/index.d.ts +72 -0
- package/dist/nosql/papertrail/index.d.ts +120 -0
- package/dist/nosql/pinecone/index.d.ts +148 -0
- package/dist/nosql/pinot/index.d.ts +90 -0
- package/dist/nosql/pouchdb/index.d.ts +95 -0
- package/dist/nosql/prometheus/index.d.ts +112 -0
- package/dist/nosql/provendb/index.d.ts +143 -0
- package/dist/nosql/provendb/index.js +262 -0
- package/dist/nosql/pubsub/index.d.ts +83 -0
- package/dist/nosql/pulsar/index.d.ts +105 -0
- package/dist/nosql/qdrant/index.d.ts +231 -0
- package/dist/nosql/qldb/index.d.ts +182 -0
- package/dist/nosql/qldb/index.js +302 -1
- package/dist/nosql/r2/index.d.ts +160 -0
- package/dist/nosql/rabbitmq/index.d.ts +131 -0
- package/dist/nosql/ravendb/index.d.ts +138 -0
- package/dist/nosql/ravendb/index.js +323 -9
- package/dist/nosql/ravendb/where.d.ts +38 -0
- package/dist/nosql/ravendb/where.js +94 -0
- package/dist/nosql/redis/index.d.ts +267 -0
- package/dist/nosql/redis/index.js +19 -5
- package/dist/nosql/redpanda/index.d.ts +117 -0
- package/dist/nosql/resque/index.d.ts +91 -0
- package/dist/nosql/rethinkdb/index.d.ts +194 -0
- package/dist/nosql/rethinkdb/index.js +290 -0
- package/dist/nosql/rethinkdb/where.d.ts +38 -0
- package/dist/nosql/rethinkdb/where.js +94 -0
- package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
- package/dist/nosql/rocksdb/document-layer.js +338 -0
- package/dist/nosql/rocksdb/index.d.ts +112 -0
- package/dist/nosql/rocksdb/index.js +103 -1
- package/dist/nosql/rocksdb/where-match.d.ts +21 -0
- package/dist/nosql/rocksdb/where-match.js +238 -0
- package/dist/nosql/rockset/index.d.ts +84 -0
- package/dist/nosql/s3/index.d.ts +170 -0
- package/dist/nosql/scylladb/index.d.ts +117 -0
- package/dist/nosql/signoz/index.d.ts +116 -0
- package/dist/nosql/sns/index.d.ts +99 -0
- package/dist/nosql/solr/index.d.ts +129 -0
- package/dist/nosql/splunk/index.d.ts +125 -0
- package/dist/nosql/sqs/index.d.ts +116 -0
- package/dist/nosql/stardog/index.d.ts +86 -0
- package/dist/nosql/starrocks/index.d.ts +89 -0
- package/dist/nosql/store.d.ts +23 -0
- package/dist/nosql/sumologic/index.d.ts +119 -0
- package/dist/nosql/surrealdb/index.d.ts +156 -0
- package/dist/nosql/surrealdb/index.js +174 -1
- package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
- package/dist/nosql/surrealdb/query-compiler.js +193 -0
- package/dist/nosql/terminusdb/index.d.ts +95 -0
- package/dist/nosql/tigergraph/index.d.ts +314 -0
- package/dist/nosql/typesense/index.d.ts +82 -0
- package/dist/nosql/unqlite/index.d.ts +68 -0
- package/dist/nosql/upstash/index.d.ts +80 -0
- package/dist/nosql/vercel-kv/index.d.ts +82 -0
- package/dist/nosql/victoriametrics/index.d.ts +129 -0
- package/dist/nosql/virtuoso/index.d.ts +87 -0
- package/dist/nosql/weaviate/index.d.ts +196 -0
- package/dist/operators/index.d.ts +7 -0
- package/dist/operators.d.ts +2947 -0
- package/dist/operators.js +46 -1
- package/dist/prisma-migrate/index.d.ts +28 -0
- package/dist/prisma-migrate/migration-generator.d.ts +21 -0
- package/dist/prisma-migrate/model-generator.d.ts +12 -0
- package/dist/prisma-migrate/relations.d.ts +28 -0
- package/dist/prisma-migrate/schema-parser.d.ts +42 -0
- package/dist/prisma-migrate/type-mapper.d.ts +20 -0
- package/dist/prorm.d.ts +2093 -0
- package/dist/prorm.js +721 -302
- package/dist/query-builders/cte-builder.d.ts +104 -0
- package/dist/query-builders/functions/aggregate.d.ts +199 -0
- package/dist/query-builders/functions/conditional.d.ts +195 -0
- package/dist/query-builders/functions/datetime.d.ts +202 -0
- package/dist/query-builders/functions/fulltext.d.ts +220 -0
- package/dist/query-builders/functions/index.d.ts +17 -0
- package/dist/query-builders/functions/json.d.ts +157 -0
- package/dist/query-builders/functions/math.d.ts +215 -0
- package/dist/query-builders/functions/string.d.ts +233 -0
- package/dist/query-builders/functions/window.d.ts +209 -0
- package/dist/query-builders/include-builder.d.ts +85 -0
- package/dist/query-builders/index-expression-builder.d.ts +153 -0
- package/dist/query-builders/index.d.ts +121 -0
- package/dist/query-builders/index.js +10 -0
- package/dist/query-builders/insert-builder.d.ts +62 -0
- package/dist/query-builders/model-helpers.d.ts +28 -0
- package/dist/query-builders/order-limit-builder.d.ts +84 -0
- package/dist/query-builders/sql-compiler.d.ts +562 -0
- package/dist/query-builders/subquery-builder.d.ts +133 -0
- package/dist/query-builders/update-builder.d.ts +71 -0
- package/dist/query-builders/view-builder.d.ts +189 -0
- package/dist/query-builders/where-builder.d.ts +124 -0
- package/dist/query-interface.d.ts +407 -0
- package/dist/query-interface.js +84 -0
- package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
- package/dist/query-optimizers/explain-plans.d.ts +187 -0
- package/dist/query-optimizers/index.d.ts +27 -0
- package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
- package/dist/query-optimizers/query-hints.d.ts +201 -0
- package/dist/query-optimizers/query-optimizer.d.ts +162 -0
- package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
- package/dist/replica-manager.d.ts +235 -0
- package/dist/schema/index.d.ts +7 -0
- package/dist/schema/migration-generator.d.ts +74 -0
- package/dist/schema/schema-differ.d.ts +114 -0
- package/dist/schema/types.d.ts +246 -0
- package/dist/schema-objects.d.ts +78 -0
- package/dist/schema-objects.js +203 -0
- package/dist/sql-constants.d.ts +240 -0
- package/dist/sqlite-advanced.d.ts +572 -0
- package/dist/streams/index.d.ts +5 -0
- package/dist/streams/transforms.d.ts +120 -0
- package/dist/transaction.d.ts +221 -0
- package/dist/types/index.d.ts +3123 -0
- package/dist/user-management.d.ts +141 -0
- package/dist/utils/date.d.ts +149 -0
- package/dist/utils/index.d.ts +359 -0
- package/dist/utils/string.d.ts +88 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/validator.d.ts +306 -0
- package/package.json +20 -5
|
@@ -422,6 +422,298 @@ class QuestDBDialect extends index_1.PostgresDialect {
|
|
|
422
422
|
throw new Error('QuestDB does not support table constraints (PRIMARY KEY / FOREIGN KEY / ' +
|
|
423
423
|
'UNIQUE / CHECK). Use DEDUP UPSERT KEYS on CREATE TABLE for row de-duplication.');
|
|
424
424
|
}
|
|
425
|
+
// ===========================================================================
|
|
426
|
+
// Column DDL — change column (QuestDB subset)
|
|
427
|
+
// ===========================================================================
|
|
428
|
+
/**
|
|
429
|
+
* Pure builder for QuestDB's narrow column-type alteration:
|
|
430
|
+
* `ALTER TABLE t ALTER COLUMN c TYPE <newType>`
|
|
431
|
+
* QuestDB supports changing a column's type (e.g. SYMBOL <-> VARCHAR/STRING,
|
|
432
|
+
* widening numerics) but has NO NOT NULL / DEFAULT concept, so any such flags
|
|
433
|
+
* on the definition are intentionally ignored.
|
|
434
|
+
* @see https://questdb.io/docs/reference/sql/alter-table-change-column-type/
|
|
435
|
+
*/
|
|
436
|
+
buildChangeColumnSQL(tableName, columnName, definition) {
|
|
437
|
+
const isSymbol = definition.symbol === true ||
|
|
438
|
+
(typeof definition.type === 'string' && definition.type.toUpperCase() === 'SYMBOL');
|
|
439
|
+
const typeSql = isSymbol ? 'SYMBOL' : this.getDataTypeSql(definition.type);
|
|
440
|
+
return `ALTER TABLE ${this.escapeId(tableName)} ALTER COLUMN ${this.escapeId(columnName)} TYPE ${typeSql}`;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Change a column's type. Overridden so QuestDB's `ALTER COLUMN ... TYPE`
|
|
444
|
+
* grammar (and SYMBOL support) is used, and so the inherited Postgres
|
|
445
|
+
* builder's NOT NULL / DEFAULT statements — which QuestDB rejects — are not
|
|
446
|
+
* emitted.
|
|
447
|
+
*/
|
|
448
|
+
async changeColumn(tableName, columnName, definition) {
|
|
449
|
+
await this.query(this.buildChangeColumnSQL(tableName, columnName, definition));
|
|
450
|
+
}
|
|
451
|
+
// ===========================================================================
|
|
452
|
+
// DEDUP (row de-duplication) — enable / disable on an existing WAL table
|
|
453
|
+
// ===========================================================================
|
|
454
|
+
/**
|
|
455
|
+
* Pure builder for `ALTER TABLE t DEDUP ENABLE UPSERT KEYS(...)`. Enables
|
|
456
|
+
* row de-duplication on an existing WAL table (the designated timestamp must
|
|
457
|
+
* be one of the keys). This is QuestDB's equivalent of an upsert conflict
|
|
458
|
+
* target, configured on the table rather than the INSERT statement.
|
|
459
|
+
* @see https://questdb.io/docs/reference/sql/alter-table-enable-deduplication/
|
|
460
|
+
*/
|
|
461
|
+
buildEnableDedupSQL(tableName, upsertKeys) {
|
|
462
|
+
const keys = upsertKeys.map((k) => this.escapeId(k)).join(', ');
|
|
463
|
+
return `ALTER TABLE ${this.escapeId(tableName)} DEDUP ENABLE UPSERT KEYS(${keys})`;
|
|
464
|
+
}
|
|
465
|
+
/** Enable DEDUP UPSERT KEYS on an existing table. */
|
|
466
|
+
async enableDedup(tableName, upsertKeys) {
|
|
467
|
+
await this.query(this.buildEnableDedupSQL(tableName, upsertKeys));
|
|
468
|
+
}
|
|
469
|
+
/** Pure builder for `ALTER TABLE t DEDUP DISABLE`. */
|
|
470
|
+
buildDisableDedupSQL(tableName) {
|
|
471
|
+
return `ALTER TABLE ${this.escapeId(tableName)} DEDUP DISABLE`;
|
|
472
|
+
}
|
|
473
|
+
/** Disable DEDUP on an existing table. */
|
|
474
|
+
async disableDedup(tableName) {
|
|
475
|
+
await this.query(this.buildDisableDedupSQL(tableName));
|
|
476
|
+
}
|
|
477
|
+
// ===========================================================================
|
|
478
|
+
// WAL control
|
|
479
|
+
// ===========================================================================
|
|
480
|
+
/** Pure builder for `ALTER TABLE t SET TYPE WAL | BYPASS WAL`. */
|
|
481
|
+
buildSetWalSQL(tableName, enabled) {
|
|
482
|
+
return `ALTER TABLE ${this.escapeId(tableName)} SET TYPE ${enabled ? 'WAL' : 'BYPASS WAL'}`;
|
|
483
|
+
}
|
|
484
|
+
/** Convert a table between WAL and non-WAL storage. */
|
|
485
|
+
async setWal(tableName, enabled) {
|
|
486
|
+
await this.query(this.buildSetWalSQL(tableName, enabled));
|
|
487
|
+
}
|
|
488
|
+
/** Pure builder for `ALTER TABLE t RESUME WAL` (resume a suspended WAL table). */
|
|
489
|
+
buildResumeWalSQL(tableName) {
|
|
490
|
+
return `ALTER TABLE ${this.escapeId(tableName)} RESUME WAL`;
|
|
491
|
+
}
|
|
492
|
+
/** Resume a suspended WAL table. */
|
|
493
|
+
async resumeWal(tableName) {
|
|
494
|
+
await this.query(this.buildResumeWalSQL(tableName));
|
|
495
|
+
}
|
|
496
|
+
// ===========================================================================
|
|
497
|
+
// Partition management — the sanctioned path for bulk removal in QuestDB,
|
|
498
|
+
// which has no row-level DELETE.
|
|
499
|
+
// ===========================================================================
|
|
500
|
+
/**
|
|
501
|
+
* Pure builder for `ALTER TABLE t DROP PARTITION LIST ... | WHERE ...`.
|
|
502
|
+
* QuestDB deletes data by dropping whole time partitions.
|
|
503
|
+
* @see https://questdb.io/docs/reference/sql/alter-table-drop-partition/
|
|
504
|
+
*/
|
|
505
|
+
buildDropPartitionSQL(tableName, spec) {
|
|
506
|
+
const base = `ALTER TABLE ${this.escapeId(tableName)} DROP PARTITION`;
|
|
507
|
+
if (spec.list && spec.list.length > 0) {
|
|
508
|
+
const list = spec.list.map((v) => this.escape(v)).join(', ');
|
|
509
|
+
return `${base} LIST ${list}`;
|
|
510
|
+
}
|
|
511
|
+
if (spec.where) {
|
|
512
|
+
return `${base} WHERE ${spec.where}`;
|
|
513
|
+
}
|
|
514
|
+
throw new Error('dropPartitions requires either a `list` of partition values or a `where` predicate.');
|
|
515
|
+
}
|
|
516
|
+
/** Drop one or more time partitions. */
|
|
517
|
+
async dropPartitions(tableName, spec) {
|
|
518
|
+
await this.query(this.buildDropPartitionSQL(tableName, spec));
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Pure builder for `ALTER TABLE t DETACH PARTITION LIST ... | WHERE ...`.
|
|
522
|
+
* Detaches partitions so they can be archived/moved and later re-attached.
|
|
523
|
+
* @see https://questdb.io/docs/reference/sql/alter-table-detach-partition/
|
|
524
|
+
*/
|
|
525
|
+
buildDetachPartitionSQL(tableName, spec) {
|
|
526
|
+
const base = `ALTER TABLE ${this.escapeId(tableName)} DETACH PARTITION`;
|
|
527
|
+
if (spec.list && spec.list.length > 0) {
|
|
528
|
+
const list = spec.list.map((v) => this.escape(v)).join(', ');
|
|
529
|
+
return `${base} LIST ${list}`;
|
|
530
|
+
}
|
|
531
|
+
if (spec.where) {
|
|
532
|
+
return `${base} WHERE ${spec.where}`;
|
|
533
|
+
}
|
|
534
|
+
throw new Error('detachPartitions requires either a `list` of partition values or a `where` predicate.');
|
|
535
|
+
}
|
|
536
|
+
/** Detach one or more time partitions. */
|
|
537
|
+
async detachPartitions(tableName, spec) {
|
|
538
|
+
await this.query(this.buildDetachPartitionSQL(tableName, spec));
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Pure builder for `ALTER TABLE t ATTACH PARTITION LIST ...`. Re-attaches
|
|
542
|
+
* previously detached partitions (list form only — WHERE is not valid here).
|
|
543
|
+
* @see https://questdb.io/docs/reference/sql/alter-table-attach-partition/
|
|
544
|
+
*/
|
|
545
|
+
buildAttachPartitionSQL(tableName, list) {
|
|
546
|
+
if (!list || list.length === 0) {
|
|
547
|
+
throw new Error('attachPartitions requires a non-empty `list` of partition values.');
|
|
548
|
+
}
|
|
549
|
+
const values = list.map((v) => this.escape(v)).join(', ');
|
|
550
|
+
return `ALTER TABLE ${this.escapeId(tableName)} ATTACH PARTITION LIST ${values}`;
|
|
551
|
+
}
|
|
552
|
+
/** Attach one or more previously detached time partitions. */
|
|
553
|
+
async attachPartitions(tableName, list) {
|
|
554
|
+
await this.query(this.buildAttachPartitionSQL(tableName, list));
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* QuestDB partitions are NOT standalone tables (unlike PostgreSQL declarative
|
|
558
|
+
* partitions), so the inherited `dropPartition(name)` — which issues
|
|
559
|
+
* `DROP TABLE name` — does not apply. Fail loudly with guidance to the
|
|
560
|
+
* QuestDB-correct partition API rather than silently dropping a whole table.
|
|
561
|
+
*/
|
|
562
|
+
async dropPartition() {
|
|
563
|
+
throw new Error('QuestDB partitions are not standalone tables. Use ' +
|
|
564
|
+
'dropPartitions(table, { list } | { where }) to drop time partitions.');
|
|
565
|
+
}
|
|
566
|
+
// ===========================================================================
|
|
567
|
+
// Time-series query builders — SAMPLE BY / LATEST ON
|
|
568
|
+
// ===========================================================================
|
|
569
|
+
/**
|
|
570
|
+
* Build a QuestDB `SAMPLE BY` clause (leading space included) with optional
|
|
571
|
+
* `FROM`/`TO` bounds, `FILL(...)`, and `ALIGN TO` handling.
|
|
572
|
+
*/
|
|
573
|
+
buildSampleByClause(opts) {
|
|
574
|
+
let clause = ` SAMPLE BY ${opts.interval}`;
|
|
575
|
+
if (opts.from) {
|
|
576
|
+
clause += ` FROM ${this.escape(opts.from)}`;
|
|
577
|
+
}
|
|
578
|
+
if (opts.to) {
|
|
579
|
+
clause += ` TO ${this.escape(opts.to)}`;
|
|
580
|
+
}
|
|
581
|
+
if (opts.fill !== undefined) {
|
|
582
|
+
const fill = Array.isArray(opts.fill) ? opts.fill.join(', ') : opts.fill;
|
|
583
|
+
clause += ` FILL(${fill})`;
|
|
584
|
+
}
|
|
585
|
+
if (opts.alignTo) {
|
|
586
|
+
clause += ` ALIGN TO ${opts.alignTo}`;
|
|
587
|
+
if (opts.alignTo === 'CALENDAR') {
|
|
588
|
+
if (opts.timeZone) {
|
|
589
|
+
clause += ` TIME ZONE ${this.escape(opts.timeZone)}`;
|
|
590
|
+
}
|
|
591
|
+
if (opts.offset) {
|
|
592
|
+
clause += ` WITH OFFSET ${this.escape(opts.offset)}`;
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
return clause;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Build a QuestDB `LATEST ON ts PARTITION BY col[, ...]` clause (leading
|
|
600
|
+
* space included). Returns, per partition, the most recent row by the
|
|
601
|
+
* designated timestamp.
|
|
602
|
+
* @see https://questdb.io/docs/reference/sql/latest-on/
|
|
603
|
+
*/
|
|
604
|
+
buildLatestOnClause(tsColumn, partitionBy) {
|
|
605
|
+
const cols = (Array.isArray(partitionBy) ? partitionBy : [partitionBy])
|
|
606
|
+
.map((c) => this.escapeId(c))
|
|
607
|
+
.join(', ');
|
|
608
|
+
return ` LATEST ON ${this.escapeId(tsColumn)} PARTITION BY ${cols}`;
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Build a full QuestDB time-series `SELECT` with `SAMPLE BY` and/or
|
|
612
|
+
* `LATEST ON` support, which the cross-dialect {@link buildSelectQuery} (and
|
|
613
|
+
* the shared {@link SelectOptions}) has no representation for. Clause order:
|
|
614
|
+
* SELECT ... FROM t [WHERE ...] [LATEST ON ...] [SAMPLE BY ... FILL ... ALIGN]
|
|
615
|
+
* [GROUP BY ...] [ORDER BY ...] [LIMIT ...]
|
|
616
|
+
*
|
|
617
|
+
* `attributes` are treated as raw column/aggregate expressions (e.g.
|
|
618
|
+
* `['ts', 'avg(price) AS avg_price']`) so callers can use QuestDB aggregate
|
|
619
|
+
* functions directly.
|
|
620
|
+
*/
|
|
621
|
+
buildSampleBySelect(options) {
|
|
622
|
+
const cols = options.attributes && options.attributes.length > 0
|
|
623
|
+
? options.attributes.join(', ')
|
|
624
|
+
: '*';
|
|
625
|
+
let sql = `SELECT ${cols} FROM ${this.escapeId(options.tableName)}`;
|
|
626
|
+
const values = [];
|
|
627
|
+
if (options.where) {
|
|
628
|
+
const where = this.buildWhereClause(options.where);
|
|
629
|
+
if (where.sql) {
|
|
630
|
+
sql += ` WHERE ${where.sql}`;
|
|
631
|
+
values.push(...where.values);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
if (options.latestOn) {
|
|
635
|
+
sql += this.buildLatestOnClause(options.latestOn.timestamp, options.latestOn.partitionBy);
|
|
636
|
+
}
|
|
637
|
+
if (options.sampleBy) {
|
|
638
|
+
sql += this.buildSampleByClause(options.sampleBy);
|
|
639
|
+
}
|
|
640
|
+
if (options.group) {
|
|
641
|
+
const group = Array.isArray(options.group) ? options.group : [options.group];
|
|
642
|
+
sql += ` GROUP BY ${group.map((g) => this.escapeId(g)).join(', ')}`;
|
|
643
|
+
}
|
|
644
|
+
if (options.order) {
|
|
645
|
+
const orderClause = this.buildOrderClause(options.order);
|
|
646
|
+
if (orderClause) {
|
|
647
|
+
sql += ` ${orderClause}`;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
sql += this.buildLimitOffset(options.limit, options.offset);
|
|
651
|
+
return { sql, values };
|
|
652
|
+
}
|
|
653
|
+
// ===========================================================================
|
|
654
|
+
// Metadata / introspection — QuestDB uses its own SHOW commands and meta
|
|
655
|
+
// functions rather than PostgreSQL's information_schema / pg_catalog, so the
|
|
656
|
+
// inherited implementations would fail against a QuestDB server.
|
|
657
|
+
// ===========================================================================
|
|
658
|
+
/** List all tables via QuestDB's `SHOW TABLES`. */
|
|
659
|
+
async showTables() {
|
|
660
|
+
const result = await this.query('SHOW TABLES');
|
|
661
|
+
return (result.rows || []).map((row) => {
|
|
662
|
+
const r = row;
|
|
663
|
+
return (r.table ?? r.name ?? Object.values(r)[0]);
|
|
664
|
+
});
|
|
665
|
+
}
|
|
666
|
+
/**
|
|
667
|
+
* Describe a table via `SHOW COLUMNS FROM t`. QuestDB has no NOT NULL /
|
|
668
|
+
* DEFAULT / auto-increment concepts, so those fields are reported as
|
|
669
|
+
* permissive defaults.
|
|
670
|
+
*/
|
|
671
|
+
async describeTable(tableName) {
|
|
672
|
+
const result = await this.query(`SHOW COLUMNS FROM ${this.escapeId(tableName)}`);
|
|
673
|
+
const description = {};
|
|
674
|
+
for (const row of result.rows || []) {
|
|
675
|
+
const r = row;
|
|
676
|
+
const columnName = (r.column ?? r.name);
|
|
677
|
+
if (!columnName) {
|
|
678
|
+
continue;
|
|
679
|
+
}
|
|
680
|
+
description[columnName] = {
|
|
681
|
+
type: r.type ?? '',
|
|
682
|
+
allowNull: true,
|
|
683
|
+
defaultValue: null,
|
|
684
|
+
primaryKey: false,
|
|
685
|
+
autoIncrement: false,
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
return description;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Show indexes via `SHOW COLUMNS FROM t`. In QuestDB an "index" exists only
|
|
692
|
+
* on a SYMBOL column, surfaced by the `indexed` flag of each column.
|
|
693
|
+
*/
|
|
694
|
+
async showIndexes(tableName) {
|
|
695
|
+
const result = await this.query(`SHOW COLUMNS FROM ${this.escapeId(tableName)}`);
|
|
696
|
+
return (result.rows || [])
|
|
697
|
+
.filter((row) => {
|
|
698
|
+
const indexed = row.indexed;
|
|
699
|
+
return indexed === true || indexed === 'true';
|
|
700
|
+
})
|
|
701
|
+
.map((row) => {
|
|
702
|
+
const r = row;
|
|
703
|
+
return {
|
|
704
|
+
column: r.column ?? r.name,
|
|
705
|
+
indexed: true,
|
|
706
|
+
capacity: r.indexBlockCapacity,
|
|
707
|
+
};
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
* QuestDB has no relational constraints (PRIMARY KEY / FOREIGN KEY / UNIQUE /
|
|
712
|
+
* CHECK), so there are never any constraints to report.
|
|
713
|
+
*/
|
|
714
|
+
async showConstraints() {
|
|
715
|
+
return [];
|
|
716
|
+
}
|
|
425
717
|
}
|
|
426
718
|
exports.QuestDBDialect = QuestDBDialect;
|
|
427
719
|
/**
|