ts-prorm-orm 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -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 +711 -0
- package/dist/index.js +19 -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
|
@@ -50,13 +50,25 @@
|
|
|
50
50
|
* (`CREATE OR REPLACE PROCEDURE ... LANGUAGE plpgsql`), so those are
|
|
51
51
|
* implemented much like Postgres.
|
|
52
52
|
*/
|
|
53
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
-
};
|
|
56
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
54
|
exports.RedshiftTransaction = exports.RedshiftDialect = void 0;
|
|
58
55
|
exports.createRedshiftDialect = createRedshiftDialect;
|
|
59
|
-
|
|
56
|
+
// Lazily-loaded `pg` driver. Required only when a connection is opened, so
|
|
57
|
+
// importing this ORM never loads the pg driver.
|
|
58
|
+
let pgModule = null;
|
|
59
|
+
function loadPg() {
|
|
60
|
+
if (!pgModule) {
|
|
61
|
+
try {
|
|
62
|
+
pgModule = require('pg');
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
throw new Error("The 'pg' package is required to use the Redshift dialect but could not be loaded. " +
|
|
66
|
+
'Install it with `npm install pg`. Original error: ' +
|
|
67
|
+
(err instanceof Error ? err.message : String(err)));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return pgModule;
|
|
71
|
+
}
|
|
60
72
|
const query_stream_helper_1 = require("../query-stream-helper");
|
|
61
73
|
const prorm_1 = require("../../prorm");
|
|
62
74
|
const index_1 = require("../../errors/index");
|
|
@@ -117,7 +129,7 @@ class RedshiftDialect {
|
|
|
117
129
|
// ---------------------------------------------------------------------------
|
|
118
130
|
async connect() {
|
|
119
131
|
try {
|
|
120
|
-
const { Pool: PgPool } =
|
|
132
|
+
const { Pool: PgPool } = loadPg();
|
|
121
133
|
this.pool = new PgPool({
|
|
122
134
|
host: this.config.host,
|
|
123
135
|
port: this.config.port,
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SingleStore (formerly MemSQL) dialect implementation for the TypeScript ORM.
|
|
3
|
+
*
|
|
4
|
+
* SingleStore is MySQL-wire-compatible, so this dialect extends
|
|
5
|
+
* {@link MySQLDialect} and reuses the exact same `mysql2` driver, connection
|
|
6
|
+
* pooling, query execution, escaping, WHERE/ORDER/INSERT/UPDATE/DELETE/SELECT
|
|
7
|
+
* builders, JSON helpers, etc. Only the grammar that genuinely differs from
|
|
8
|
+
* stock MySQL is overridden here.
|
|
9
|
+
*
|
|
10
|
+
* Notable differences from the MySQL dialect:
|
|
11
|
+
*
|
|
12
|
+
* - `name` is `'singlestore'` (the driver/`library` is still `'mysql2'`).
|
|
13
|
+
* - Default SQL port is 3306 (same wire protocol as MySQL).
|
|
14
|
+
* - Table storage kind: SingleStore tables are columnstore by default. A
|
|
15
|
+
* `ROWSTORE` table can be requested with `{ rowstore: true }`, which emits
|
|
16
|
+
* `CREATE ROWSTORE TABLE ...`.
|
|
17
|
+
* - `SHARD KEY (cols)`: SingleStore is a distributed database and shards data
|
|
18
|
+
* across leaf nodes by a shard key. `{ shardKey: ['id'] }` emits
|
|
19
|
+
* `SHARD KEY (id)`. An empty array (`{ shardKey: [] }`) emits a keyless
|
|
20
|
+
* `SHARD KEY ()` (random sharding), which is also how a plain distributed
|
|
21
|
+
* table with no explicit shard key is declared.
|
|
22
|
+
* - `SORT KEY (cols)`: columnstore tables store rows ordered by a sort key.
|
|
23
|
+
* `{ sortKey: ['created_at'] }` emits `SORT KEY (created_at)`.
|
|
24
|
+
* - `KEY (...) USING CLUSTERED COLUMNSTORE`: the explicit clustered-columnstore
|
|
25
|
+
* key form, requested with `{ columnstoreKey: { fields: [...] } }`.
|
|
26
|
+
* - Reference tables: `{ reference: true }` emits `CREATE REFERENCE TABLE ...`.
|
|
27
|
+
* Reference tables are fully replicated to every node (rather than sharded),
|
|
28
|
+
* and are typically used for small dimension tables joined against large
|
|
29
|
+
* sharded fact tables.
|
|
30
|
+
*
|
|
31
|
+
* CAVEAT — foreign keys: SingleStore does NOT support foreign key constraints
|
|
32
|
+
* (a real server rejects `FOREIGN KEY ... REFERENCES ...`). This dialect
|
|
33
|
+
* therefore refuses to emit FK SQL rather than generating statements that
|
|
34
|
+
* would fail:
|
|
35
|
+
* - CREATE TABLE: table-level FOREIGN KEY constraints and column-level
|
|
36
|
+
* `references` are omitted (the table is still created, minus the FK).
|
|
37
|
+
* - {@link addForeignKey} and {@link createConstraint} with a FOREIGN KEY
|
|
38
|
+
* type throw a clear error.
|
|
39
|
+
* - {@link addColumn} / {@link changeColumn} strip any column `references`.
|
|
40
|
+
* Enforce referential integrity in application code instead.
|
|
41
|
+
*
|
|
42
|
+
* CAVEAT — upserts: SingleStore's `ON DUPLICATE KEY UPDATE` uses the classic
|
|
43
|
+
* `VALUES(col)` reference, not the MySQL 8.0.19 row-alias form
|
|
44
|
+
* (`... AS new_row ... = new_row.col`) that the MySQL base emits. This dialect
|
|
45
|
+
* overrides {@link buildInsertQuery} / {@link buildUpsertQuery} to emit the
|
|
46
|
+
* `VALUES(col)` form.
|
|
47
|
+
*
|
|
48
|
+
* CAVEAT — unique constraints on columnstore tables must include the shard key;
|
|
49
|
+
* this is a SingleStore data-distribution rule that the ORM does not attempt to
|
|
50
|
+
* police.
|
|
51
|
+
*/
|
|
52
|
+
import { MySQLDialect, MySQLDialectOptions } from '../mysql/index';
|
|
53
|
+
import { ColumnDefinition, TableOptions, InsertOptions } from '../dialect';
|
|
54
|
+
import { DataType, TriggerOptions, DropTriggerOptions } from '../../types';
|
|
55
|
+
/**
|
|
56
|
+
* SingleStore connection options. Identical to {@link MySQLDialectOptions}
|
|
57
|
+
* since the wire protocol and `mysql2` driver are shared.
|
|
58
|
+
*/
|
|
59
|
+
export interface SingleStoreDialectOptions extends MySQLDialectOptions {
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* SingleStore-specific `CREATE TABLE` options. Layered on top of the shared
|
|
63
|
+
* {@link TableOptions} via an intersection type so callers targeting
|
|
64
|
+
* SingleStore can pass these alongside the common options.
|
|
65
|
+
*/
|
|
66
|
+
export interface SingleStoreTableOptions {
|
|
67
|
+
/**
|
|
68
|
+
* Create a ROWSTORE (in-memory rowstore) table instead of the default
|
|
69
|
+
* on-disk columnstore. Emits `CREATE ROWSTORE TABLE ...`.
|
|
70
|
+
*/
|
|
71
|
+
rowstore?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Create a REFERENCE table (fully replicated to every node instead of
|
|
74
|
+
* sharded). Emits `CREATE REFERENCE TABLE ...`.
|
|
75
|
+
*/
|
|
76
|
+
reference?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Shard key columns. `['user_id']` emits `SHARD KEY (user_id)`. An empty
|
|
79
|
+
* array emits a keyless `SHARD KEY ()` for random sharding. Reference
|
|
80
|
+
* tables are replicated rather than sharded, so a shard key is normally
|
|
81
|
+
* omitted for them.
|
|
82
|
+
*/
|
|
83
|
+
shardKey?: string[];
|
|
84
|
+
/** Sort key columns for a columnstore table. Emits `SORT KEY (cols)`. */
|
|
85
|
+
sortKey?: string[];
|
|
86
|
+
/**
|
|
87
|
+
* Explicit clustered columnstore key. Emits
|
|
88
|
+
* `KEY (cols) USING CLUSTERED COLUMNSTORE`.
|
|
89
|
+
*/
|
|
90
|
+
columnstoreKey?: {
|
|
91
|
+
fields: string[];
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Universal-storage (seekable columnstore) secondary hash indexes. Each
|
|
95
|
+
* entry emits `KEY (cols) USING HASH`, which gives a columnstore table fast
|
|
96
|
+
* single-row seeks/unique enforcement without leaving universal storage.
|
|
97
|
+
* Pass `{ fields, unique: true }` to emit `UNIQUE KEY (cols) USING HASH`.
|
|
98
|
+
* `['col']` shorthand is treated as a non-unique hash key on that column.
|
|
99
|
+
*/
|
|
100
|
+
hashKeys?: Array<string | {
|
|
101
|
+
fields: string[];
|
|
102
|
+
unique?: boolean;
|
|
103
|
+
}>;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* SingleStore dialect. Reuses the MySQL (`mysql2`) driver and all of
|
|
107
|
+
* MySQLDialect's behavior, overriding only the CREATE TABLE grammar that
|
|
108
|
+
* differs (storage kind, SHARD KEY, SORT KEY, clustered columnstore key,
|
|
109
|
+
* reference tables).
|
|
110
|
+
*/
|
|
111
|
+
export declare class SingleStoreDialect extends MySQLDialect {
|
|
112
|
+
readonly name = "singlestore";
|
|
113
|
+
constructor(config: SingleStoreDialectOptions);
|
|
114
|
+
/**
|
|
115
|
+
* Build the `CREATE TABLE` SQL string for SingleStore, synchronously.
|
|
116
|
+
*
|
|
117
|
+
* Exposed as a standalone (non-async, no I/O) method so the emitted grammar
|
|
118
|
+
* can be inspected/tested without a live connection. `createTable()` below
|
|
119
|
+
* delegates to it.
|
|
120
|
+
*/
|
|
121
|
+
buildCreateTableSQL(tableName: string, columns: Record<string, ColumnDefinition>, options?: TableOptions & SingleStoreTableOptions): string;
|
|
122
|
+
/**
|
|
123
|
+
* Create a new table using SingleStore grammar. Overrides MySQLDialect's
|
|
124
|
+
* createTable so shard/sort/columnstore keys and storage kind are honored.
|
|
125
|
+
*/
|
|
126
|
+
createTable(tableName: string, columns: Record<string, ColumnDefinition>, options?: TableOptions & SingleStoreTableOptions): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Build a single column definition. Reimplemented here (rather than reusing
|
|
129
|
+
* MySQLDialect's private helper) using only public dialect methods, so the
|
|
130
|
+
* synchronous SQL builder stays self-contained.
|
|
131
|
+
*/
|
|
132
|
+
private buildColumnSQL;
|
|
133
|
+
/**
|
|
134
|
+
* Build a table-level constraint clause.
|
|
135
|
+
*
|
|
136
|
+
* SingleStore does NOT support FOREIGN KEY constraints — a real server
|
|
137
|
+
* rejects `FOREIGN KEY (...) REFERENCES ...` in CREATE TABLE with a syntax
|
|
138
|
+
* error. So FOREIGN KEY constraints are silently OMITTED here (the table is
|
|
139
|
+
* still created without the referential-integrity clause) rather than
|
|
140
|
+
* emitting SQL that would fail. PRIMARY KEY / UNIQUE / CHECK are supported
|
|
141
|
+
* and emitted normally.
|
|
142
|
+
*/
|
|
143
|
+
private buildTableConstraintSQL;
|
|
144
|
+
/**
|
|
145
|
+
* Map an ORM DataType to SingleStore column SQL.
|
|
146
|
+
*
|
|
147
|
+
* SingleStore is largely MySQL-type-compatible, so the MySQL mapping is
|
|
148
|
+
* reused for everything EXCEPT geospatial types: SingleStore has a native
|
|
149
|
+
* `GEOGRAPHY` type (and `GEOGRAPHYPOINT`), whereas stock MySQL has no
|
|
150
|
+
* `GEOGRAPHY` type and the base dialect degrades it to `GEOMETRY`. Emit the
|
|
151
|
+
* native SingleStore type instead so geography columns round-trip correctly.
|
|
152
|
+
*/
|
|
153
|
+
getDataTypeSql(dataType: DataType): string;
|
|
154
|
+
/**
|
|
155
|
+
* Build an INSERT query.
|
|
156
|
+
*
|
|
157
|
+
* Overrides the MySQL base ONLY for the upsert (`ON DUPLICATE KEY UPDATE`)
|
|
158
|
+
* branch: the base uses the row-alias form (`... AS new_vals ON DUPLICATE
|
|
159
|
+
* KEY UPDATE col = new_vals.col`) introduced in MySQL 8.0.19, which
|
|
160
|
+
* SingleStore does not support. SingleStore uses the classic
|
|
161
|
+
* `VALUES(col)` reference instead. The plain (non-upsert) INSERT is
|
|
162
|
+
* identical to MySQL.
|
|
163
|
+
*/
|
|
164
|
+
buildInsertQuery(tableName: string, values: Record<string, unknown>, options?: InsertOptions): {
|
|
165
|
+
sql: string;
|
|
166
|
+
values: unknown[];
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Build an UPSERT query (`INSERT ... ON DUPLICATE KEY UPDATE`).
|
|
170
|
+
*
|
|
171
|
+
* Uses the classic `VALUES(col)` form rather than the MySQL 8.0.19 row-alias
|
|
172
|
+
* form the base emits, since SingleStore does not support the row alias.
|
|
173
|
+
* Like MySQL, SingleStore has no `RETURNING` clause, so a `returning`
|
|
174
|
+
* request fails fast.
|
|
175
|
+
*/
|
|
176
|
+
buildUpsertQuery(tableName: string, values: Record<string, unknown>, options?: {
|
|
177
|
+
conflictFields?: string[];
|
|
178
|
+
updateOnDuplicate?: string[];
|
|
179
|
+
returning?: boolean | string[];
|
|
180
|
+
}): {
|
|
181
|
+
sql: string;
|
|
182
|
+
values: unknown[];
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Add a column. SingleStore does not support foreign keys, so any
|
|
186
|
+
* column-level `references` is stripped before delegating to the MySQL base
|
|
187
|
+
* (whose column builder would otherwise emit a `REFERENCES ...` clause that
|
|
188
|
+
* SingleStore rejects).
|
|
189
|
+
*/
|
|
190
|
+
addColumn(tableName: string, columnName: string, definition: ColumnDefinition): Promise<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Change a column. As with {@link addColumn}, any column-level `references`
|
|
193
|
+
* is stripped since SingleStore does not support foreign keys.
|
|
194
|
+
*/
|
|
195
|
+
changeColumn(tableName: string, columnName: string, definition: ColumnDefinition): Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* SingleStore does not support foreign key constraints. Reject explicit
|
|
198
|
+
* foreign-key operations with a clear error rather than emitting SQL a real
|
|
199
|
+
* server would refuse.
|
|
200
|
+
*/
|
|
201
|
+
addForeignKey(_tableName: string, _columnName: string, _referencedTableName: string, _referencedColumnName: string, _options?: any): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Create a constraint. PRIMARY KEY / UNIQUE / CHECK delegate to the MySQL
|
|
204
|
+
* base; FOREIGN KEY is rejected because SingleStore does not support it.
|
|
205
|
+
*/
|
|
206
|
+
createConstraint(tableName: string, constraintDef: {
|
|
207
|
+
name: string;
|
|
208
|
+
type: 'PRIMARY KEY' | 'UNIQUE' | 'FOREIGN KEY' | 'CHECK';
|
|
209
|
+
fields?: string[];
|
|
210
|
+
references?: {
|
|
211
|
+
table: string;
|
|
212
|
+
field: string;
|
|
213
|
+
onDelete?: string;
|
|
214
|
+
onUpdate?: string;
|
|
215
|
+
};
|
|
216
|
+
check?: string;
|
|
217
|
+
}): Promise<void>;
|
|
218
|
+
createTrigger(_options: TriggerOptions): Promise<void>;
|
|
219
|
+
dropTrigger(_triggerName: string, _tableName: string, _options?: DropTriggerOptions): Promise<void>;
|
|
220
|
+
hasTrigger(_triggerName: string, _tableName: string): Promise<boolean>;
|
|
221
|
+
listTriggers(_tableName?: string): Promise<string[]>;
|
|
222
|
+
createSavepointSQL(_name?: string): string;
|
|
223
|
+
releaseSavepointSQL(_name: string): string;
|
|
224
|
+
rollbackToSavepointSQL(_name: string): string;
|
|
225
|
+
/** Return a shallow copy of the column definition without its `references`. */
|
|
226
|
+
private stripReferences;
|
|
227
|
+
/**
|
|
228
|
+
* Format a column DEFAULT value. Passes SQL functions (CURRENT_TIMESTAMP,
|
|
229
|
+
* etc.) and NULL through unquoted; everything else is escaped via the
|
|
230
|
+
* shared `escape()`.
|
|
231
|
+
*/
|
|
232
|
+
private formatDefaultValue;
|
|
233
|
+
}
|
|
@@ -105,6 +105,18 @@ class SingleStoreDialect extends index_1.MySQLDialect {
|
|
|
105
105
|
const cols = opts.columnstoreKey.fields.map((c) => this.escapeId(c)).join(', ');
|
|
106
106
|
parts.push(`KEY (${cols}) USING CLUSTERED COLUMNSTORE`);
|
|
107
107
|
}
|
|
108
|
+
// KEY (...) USING HASH — universal-storage seekable hash index(es). Gives a
|
|
109
|
+
// columnstore table fast single-row lookups / unique enforcement without
|
|
110
|
+
// converting it to a rowstore table.
|
|
111
|
+
if (opts.hashKeys && opts.hashKeys.length > 0) {
|
|
112
|
+
for (const hk of opts.hashKeys) {
|
|
113
|
+
const spec = typeof hk === 'string' ? { fields: [hk], unique: false } : hk;
|
|
114
|
+
if (!spec.fields || spec.fields.length === 0)
|
|
115
|
+
continue;
|
|
116
|
+
const cols = spec.fields.map((c) => this.escapeId(c)).join(', ');
|
|
117
|
+
parts.push(`${spec.unique ? 'UNIQUE ' : ''}KEY (${cols}) USING HASH`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
108
120
|
// CREATE [ROWSTORE] [REFERENCE] TABLE [IF NOT EXISTS] name (...)
|
|
109
121
|
let sql = 'CREATE';
|
|
110
122
|
if (opts.rowstore) {
|
|
@@ -330,6 +342,47 @@ class SingleStoreDialect extends index_1.MySQLDialect {
|
|
|
330
342
|
}
|
|
331
343
|
return super.createConstraint(tableName, constraintDef);
|
|
332
344
|
}
|
|
345
|
+
// ---------------------------------------------------------------------------
|
|
346
|
+
// Triggers — NOT supported by SingleStore.
|
|
347
|
+
//
|
|
348
|
+
// SingleStore has no `CREATE TRIGGER` support at all (a real server rejects
|
|
349
|
+
// it). The MySQL base would happily emit trigger DDL, so override the trigger
|
|
350
|
+
// surface to fail fast with a clear capability error rather than sending SQL
|
|
351
|
+
// the server refuses. Enforce the equivalent logic in application code, a
|
|
352
|
+
// stored procedure, or a computed column instead.
|
|
353
|
+
// ---------------------------------------------------------------------------
|
|
354
|
+
async createTrigger(_options) {
|
|
355
|
+
throw new Error('SingleStore does not support triggers (CREATE TRIGGER). Implement the logic in application code, a stored procedure, or a computed column instead.');
|
|
356
|
+
}
|
|
357
|
+
async dropTrigger(_triggerName, _tableName, _options) {
|
|
358
|
+
throw new Error('SingleStore does not support triggers, so there is nothing to drop.');
|
|
359
|
+
}
|
|
360
|
+
async hasTrigger(_triggerName, _tableName) {
|
|
361
|
+
// SingleStore has no triggers, so one can never exist.
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
async listTriggers(_tableName) {
|
|
365
|
+
// SingleStore has no triggers.
|
|
366
|
+
return [];
|
|
367
|
+
}
|
|
368
|
+
// ---------------------------------------------------------------------------
|
|
369
|
+
// Savepoints — NOT supported by SingleStore.
|
|
370
|
+
//
|
|
371
|
+
// SingleStore transactions do not support `SAVEPOINT` / `ROLLBACK TO
|
|
372
|
+
// SAVEPOINT` / `RELEASE SAVEPOINT`. The MySQL base emits these verbatim, so
|
|
373
|
+
// override the SQL builders to throw a clear capability error instead of
|
|
374
|
+
// returning SQL that would fail at execution time. Use a full
|
|
375
|
+
// commit/rollback of the surrounding transaction instead.
|
|
376
|
+
// ---------------------------------------------------------------------------
|
|
377
|
+
createSavepointSQL(_name) {
|
|
378
|
+
throw new Error('SingleStore does not support savepoints. Use a full transaction commit/rollback instead of SAVEPOINT.');
|
|
379
|
+
}
|
|
380
|
+
releaseSavepointSQL(_name) {
|
|
381
|
+
throw new Error('SingleStore does not support savepoints (RELEASE SAVEPOINT is unavailable).');
|
|
382
|
+
}
|
|
383
|
+
rollbackToSavepointSQL(_name) {
|
|
384
|
+
throw new Error('SingleStore does not support savepoints (ROLLBACK TO SAVEPOINT is unavailable). Roll back the whole transaction instead.');
|
|
385
|
+
}
|
|
333
386
|
/** Return a shallow copy of the column definition without its `references`. */
|
|
334
387
|
stripReferences(definition) {
|
|
335
388
|
if (!definition.references) {
|