[[bench]]
harness = false
name = "executor"
path = "benches/executor.rs"
[[bench]]
harness = false
name = "hash_trie_btree"
path = "benches/hash_trie_btree.rs"
[[bench]]
harness = false
name = "hashset_vs_vector"
path = "benches/hashset_vs_vector.rs"
[[bench]]
harness = false
name = "index_btree"
path = "benches/index_btree.rs"
[[bench]]
harness = false
name = "index_hnsw"
path = "benches/index_hnsw.rs"
[[bench]]
harness = false
name = "index_mtree"
path = "benches/index_mtree.rs"
[[bench]]
harness = false
name = "move_vs_clone"
path = "benches/move_vs_clone.rs"
[[bench]]
harness = false
name = "order"
path = "benches/order.rs"
[[bench]]
harness = false
name = "parser"
path = "benches/parser.rs"
[[bench]]
harness = false
name = "processor"
path = "benches/processor.rs"
[[bench]]
harness = false
name = "sdb"
path = "benches/sdb.rs"
[[bench]]
harness = false
name = "with_or_without_index"
path = "benches/with_or_without_index.rs"
[dependencies.arrayvec]
version = "0.7.6"
[dependencies.bincode]
version = "1.3.3"
[dependencies.channel]
package = "async-channel"
version = "2.3.1"
[dependencies.chrono]
features = ["serde"]
version = "0.4.38"
[dependencies.dmp]
version = "0.2.0"
[dependencies.futures]
version = "0.3.30"
[dependencies.geo]
features = ["use-serde"]
version = "0.28.0"
[dependencies.indexmap]
features = ["serde"]
version = "2.1.0"
[dependencies.native-tls]
optional = true
version = "0.2.11"
[dependencies.path-clean]
version = "1.0.1"
[dependencies.reblessive]
features = ["tree"]
version = "0.4.1"
[dependencies.reqwest]
default-features = false
features = ["json", "multipart", "stream"]
optional = true
version = "0.12.7"
[dependencies.revision]
features = ["chrono", "geo", "roaring", "regex", "rust_decimal", "uuid"]
version = "0.10.0"
[dependencies.rust_decimal]
features = ["maths", "serde-str"]
version = "1.36.0"
[dependencies.rustls]
default-features = false
features = ["ring", "logging", "std", "tls12"]
optional = true
version = "0.23.12"
[dependencies.rustls-pki-types]
features = ["web"]
version = "1.7.0"
[dependencies.semver]
features = ["serde"]
version = "1.0.20"
[dependencies.serde]
features = ["derive"]
version = "1.0.209"
[dependencies.serde-content]
version = "0.1.0"
[dependencies.serde_json]
version = "1.0.127"
[dependencies.surrealdb-core]
default-features = false
package = "surrealdb-core"
version = "=2.1.0"
[dependencies.thiserror]
version = "1.0.63"
[dependencies.tokio-util]
features = ["compat"]
version = "0.7.11"
[dependencies.tracing]
version = "0.1.40"
[dependencies.trice]
optional = true
version = "0.4.0"
[dependencies.url]
version = "2.5.0"
[dev-dependencies.ciborium]
version = "0.2.1"
[dev-dependencies.criterion]
features = ["async_tokio"]
version = "0.5.1"
[dev-dependencies.env_logger]
version = "0.10.1"
[dev-dependencies.flate2]
version = "1.0.28"
[dev-dependencies.hashbrown]
version = "0.14.5"
[dev-dependencies.pprof]
features = ["flamegraph", "criterion"]
version = "0.13.0"
[dev-dependencies.radix_trie]
version = "0.2.1"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.regex]
version = "1.10.6"
[dev-dependencies.serial_test]
version = "2.0.0"
[dev-dependencies.temp-dir]
version = "0.1.11"
[dev-dependencies.test-log]
features = ["trace"]
version = "0.2.13"
[dev-dependencies.time]
features = ["serde"]
version = "0.3.36"
[dev-dependencies.tokio]
features = ["macros", "sync", "rt-multi-thread"]
version = "1.40.0"
[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.18"
[dev-dependencies.ulid]
features = ["serde"]
version = "1.1.0"
[dev-dependencies.wiremock]
version = "0.6.0"
[[example]]
name = "concurrency"
path = "examples/concurrency/main.rs"
[[example]]
name = "fetch"
path = "examples/fetch/main.rs"
[[example]]
name = "live"
path = "examples/live/main.rs"
[[example]]
name = "query"
path = "examples/query/main.rs"
[[example]]
name = "select"
path = "examples/select/main.rs"
[[example]]
name = "transaction"
path = "examples/transaction/main.rs"
[[example]]
name = "version"
path = "examples/version/main.rs"
[features]
arbitrary = ["surrealdb-core/arbitrary"]
default = ["protocol-ws", "rustls"]
http = ["surrealdb-core/http"]
jwks = ["surrealdb-core/jwks"]
kv-fdb = ["surrealdb-core/kv-fdb", "tokio/time"]
kv-fdb-7_1 = ["surrealdb-core/kv-fdb-7_1"]
kv-fdb-7_3 = ["surrealdb-core/kv-fdb-7_3"]
kv-indxdb = ["surrealdb-core/kv-indxdb"]
kv-mem = ["surrealdb-core/kv-mem", "tokio/time"]
kv-rocksdb = ["surrealdb-core/kv-rocksdb", "tokio/time"]
kv-surrealcs = ["surrealdb-core/kv-surrealcs", "tokio/time"]
kv-surrealkv = ["surrealdb-core/kv-surrealkv", "tokio/time"]
kv-tikv = ["surrealdb-core/kv-tikv", "tokio/time"]
ml = ["surrealdb-core/ml"]
native-tls = ["dep:native-tls", "reqwest?/native-tls", "tokio-tungstenite?/native-tls"]
protocol-http = ["dep:reqwest"]
protocol-ws = ["dep:tokio-tungstenite", "dep:trice", "tokio/time"]
rustls = ["dep:rustls", "reqwest?/rustls-tls", "tokio-tungstenite?/rustls-tls-webpki-roots"]
scripting = ["surrealdb-core/scripting"]
[lib]
bench = false
name = "surrealdb"
path = "src/lib.rs"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(storage)", "cfg(surrealdb_unstable)"]
level = "warn"
priority = 0
[package]
authors = ["Tobie Morgan Hitchcock <tobie@surrealdb.com>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = "build.rs"
categories = ["database-implementations", "data-structures", "embedded"]
description = "A scalable, distributed, collaborative, document-graph database, for the realtime web"
documentation = "https://docs.rs/surrealdb/"
edition = "2021"
homepage = "https://github.com/surrealdb/surrealdb"
keywords = ["database", "embedded-database", "key-value", "key-value-store", "kv-store"]
license-file = "LICENSE"
name = "surrealdb"
publish = true
readme = "CARGO.md"
repository = "https://github.com/surrealdb/surrealdb"
resolver = "2"
rust-version = "1.80.1"
version = "2.1.0"
[package.metadata.docs.rs]
features = ["protocol-ws", "protocol-http", "kv-mem", "kv-rocksdb", "rustls", "native-tls", "http", "scripting"]
rustdoc-args = ["--cfg", "docsrs"]
targets = []
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
default-features = false
features = ["macros", "io-util", "io-std", "fs", "rt-multi-thread", "time", "sync"]
version = "1.40.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-tungstenite]
features = ["url"]
optional = true
version = "0.23.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.uuid]
features = ["serde", "v4", "v7"]
version = "1.10.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.pharos]
version = "0.5.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.ring]
features = ["wasm32_unknown_unknown_js"]
version = "0.17.7"
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
default-features = false
features = ["rt", "sync"]
version = "1.40.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
features = ["serde", "js", "v4", "v7"]
version = "1.10.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.39"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasmtimer]
default-features = false
features = ["tokio"]
version = "0.2.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.ws_stream_wasm]
version = "0.7.4"
[[test]]
name = "access"
path = "tests/access.rs"
[[test]]
name = "alter"
path = "tests/alter.rs"
[[test]]
name = "api"
path = "tests/api.rs"
[[test]]
name = "cache"
path = "tests/cache.rs"
[[test]]
name = "cast"
path = "tests/cast.rs"
[[test]]
name = "changefeeds"
path = "tests/changefeeds.rs"
[[test]]
name = "closure"
path = "tests/closure.rs"
[[test]]
name = "compare"
path = "tests/compare.rs"
[[test]]
name = "complex"
path = "tests/complex.rs"
[[test]]
name = "create"
path = "tests/create.rs"
[[test]]
name = "datetimes"
path = "tests/datetimes.rs"
[[test]]
name = "define"
path = "tests/define.rs"
[[test]]
name = "delete"
path = "tests/delete.rs"
[[test]]
name = "escape"
path = "tests/escape.rs"
[[test]]
name = "expression"
path = "tests/expression.rs"
[[test]]
name = "fetch"
path = "tests/fetch.rs"
[[test]]
name = "field"
path = "tests/field.rs"
[[test]]
name = "foreach"
path = "tests/foreach.rs"
[[test]]
name = "function"
path = "tests/function.rs"
[[test]]
name = "future"
path = "tests/future.rs"
[[test]]
name = "geometry"
path = "tests/geometry.rs"
[[test]]
name = "group"
path = "tests/group.rs"
[[test]]
name = "helpers"
path = "tests/helpers.rs"
[[test]]
name = "idiom"
path = "tests/idiom.rs"
[[test]]
name = "info"
path = "tests/info.rs"
[[test]]
name = "insert"
path = "tests/insert.rs"
[[test]]
name = "matches"
path = "tests/matches.rs"
[[test]]
name = "merge"
path = "tests/merge.rs"
[[test]]
name = "model"
path = "tests/model.rs"
[[test]]
name = "option"
path = "tests/option.rs"
[[test]]
name = "param"
path = "tests/param.rs"
[[test]]
name = "parse"
path = "tests/parse.rs"
[[test]]
name = "planner"
path = "tests/planner.rs"
[[test]]
name = "query"
path = "tests/query.rs"
[[test]]
name = "range"
path = "tests/range.rs"
[[test]]
name = "rebuild"
path = "tests/rebuild.rs"
[[test]]
name = "relate"
path = "tests/relate.rs"
[[test]]
name = "remove"
path = "tests/remove.rs"
[[test]]
name = "return"
path = "tests/return.rs"
[[test]]
name = "script"
path = "tests/script.rs"
[[test]]
name = "select"
path = "tests/select.rs"
[[test]]
name = "set"
path = "tests/set.rs"
[[test]]
name = "strict"
path = "tests/strict.rs"
[[test]]
name = "subquery"
path = "tests/subquery.rs"
[[test]]
name = "table"
path = "tests/table.rs"
[[test]]
name = "throw"
path = "tests/throw.rs"
[[test]]
name = "timeout"
path = "tests/timeout.rs"
[[test]]
name = "transaction"
path = "tests/transaction.rs"
[[test]]
name = "typing"
path = "tests/typing.rs"
[[test]]
name = "update"
path = "tests/update.rs"
[[test]]
name = "upsert"
path = "tests/upsert.rs"
[[test]]
name = "util"
path = "tests/util.rs"
[[test]]
name = "vector"
path = "tests/vector.rs"
[[test]]
name = "yuse"
path = "tests/yuse.rs"