2022-02-22 14:16:50 +00:00
|
|
|
[package]
|
|
|
|
name = "surrealdb"
|
|
|
|
publish = true
|
|
|
|
edition = "2021"
|
2024-03-07 16:43:39 +00:00
|
|
|
version = "1.4.0"
|
2023-08-10 06:33:38 +00:00
|
|
|
rust-version = "1.70.0"
|
2022-07-19 00:37:56 +00:00
|
|
|
readme = "CARGO.md"
|
2022-02-22 14:16:50 +00:00
|
|
|
authors = ["Tobie Morgan Hitchcock <tobie@surrealdb.com>"]
|
2022-07-19 00:37:56 +00:00
|
|
|
description = "A scalable, distributed, collaborative, document-graph database, for the realtime web"
|
|
|
|
repository = "https://github.com/surrealdb/surrealdb"
|
|
|
|
homepage = "https://github.com/surrealdb/surrealdb"
|
2022-08-09 10:32:06 +00:00
|
|
|
documentation = "https://docs.rs/surrealdb/"
|
2024-01-22 17:51:49 +00:00
|
|
|
keywords = [
|
|
|
|
"database",
|
|
|
|
"embedded-database",
|
|
|
|
"key-value",
|
|
|
|
"key-value-store",
|
|
|
|
"kv-store",
|
|
|
|
]
|
2022-07-19 00:37:56 +00:00
|
|
|
categories = ["database-implementations", "data-structures", "embedded"]
|
2023-04-01 01:10:55 +00:00
|
|
|
license-file = "../LICENSE"
|
2022-12-30 08:23:19 +00:00
|
|
|
resolver = "2"
|
2022-02-22 14:16:50 +00:00
|
|
|
|
|
|
|
[features]
|
2022-12-07 19:30:29 +00:00
|
|
|
# Public features
|
2023-08-22 11:26:05 +00:00
|
|
|
default = ["protocol-ws", "rustls"]
|
2022-12-30 08:23:19 +00:00
|
|
|
protocol-http = ["dep:reqwest", "dep:tokio-util"]
|
2024-02-02 22:10:47 +00:00
|
|
|
protocol-ws = ["dep:tokio-tungstenite", "dep:trice", "tokio/time"]
|
2024-03-15 11:21:32 +00:00
|
|
|
kv-mem = ["surrealdb-core1/kv-mem", "surrealdb-core2/kv-mem", "tokio/time"]
|
|
|
|
kv-indxdb = ["surrealdb-core1/kv-indxdb", "surrealdb-core2/kv-indxdb"]
|
|
|
|
kv-speedb = ["surrealdb-core1/kv-speedb", "surrealdb-core2/kv-speedb", "tokio/time"]
|
|
|
|
kv-rocksdb = ["surrealdb-core1/kv-rocksdb", "surrealdb-core2/kv-rocksdb", "tokio/time"]
|
|
|
|
kv-tikv = ["surrealdb-core1/kv-tikv", "surrealdb-core2/kv-tikv"]
|
|
|
|
kv-fdb-5_1 = ["surrealdb-core1/kv-fdb-5_1", "surrealdb-core2/kv-fdb-5_1", "kv-fdb"]
|
|
|
|
kv-fdb-5_2 = ["surrealdb-core1/kv-fdb-5_2", "surrealdb-core2/kv-fdb-5_2", "kv-fdb"]
|
|
|
|
kv-fdb-6_0 = ["surrealdb-core1/kv-fdb-6_0", "surrealdb-core2/kv-fdb-6_0", "kv-fdb"]
|
|
|
|
kv-fdb-6_1 = ["surrealdb-core1/kv-fdb-6_1", "surrealdb-core2/kv-fdb-6_1", "kv-fdb"]
|
|
|
|
kv-fdb-6_2 = ["surrealdb-core1/kv-fdb-6_2", "surrealdb-core2/kv-fdb-6_2", "kv-fdb"]
|
|
|
|
kv-fdb-6_3 = ["surrealdb-core1/kv-fdb-6_3", "surrealdb-core2/kv-fdb-6_3", "kv-fdb"]
|
|
|
|
kv-fdb-7_0 = ["surrealdb-core1/kv-fdb-7_0", "surrealdb-core2/kv-fdb-7_0", "kv-fdb"]
|
|
|
|
kv-fdb-7_1 = ["surrealdb-core1/kv-fdb-7_1", "surrealdb-core2/kv-fdb-7_1", "kv-fdb"]
|
|
|
|
kv-surrealkv = ["surrealdb-core1/kv-surrealkv", "surrealdb-core2/kv-surrealkv", "tokio/time"]
|
|
|
|
scripting = ["surrealdb-core1/scripting", "surrealdb-core2/scripting"]
|
|
|
|
http = ["surrealdb-core1/http", "surrealdb-core2/http"]
|
2024-01-22 17:51:49 +00:00
|
|
|
native-tls = [
|
|
|
|
"dep:native-tls",
|
|
|
|
"reqwest?/native-tls",
|
|
|
|
"tokio-tungstenite?/native-tls",
|
|
|
|
]
|
|
|
|
rustls = [
|
|
|
|
"dep:rustls",
|
|
|
|
"reqwest?/rustls-tls",
|
|
|
|
"tokio-tungstenite?/rustls-tls-webpki-roots",
|
|
|
|
]
|
2024-03-15 11:21:32 +00:00
|
|
|
ml = ["surrealdb-core1/ml", "surrealdb-core2/ml"]
|
|
|
|
jwks = ["surrealdb-core2/jwks", "sql2"]
|
|
|
|
arbitrary = ["surrealdb-core1/arbitrary", "surrealdb-core2/arbitrary"]
|
|
|
|
sql2 = ["dep:surrealdb-core2"]
|
|
|
|
parser2 = ["surrealdb-core1/experimental-parser", "surrealdb-core2/experimental-parser"]
|
2022-12-07 19:30:29 +00:00
|
|
|
# Private features
|
2024-02-02 22:10:47 +00:00
|
|
|
kv-fdb = ["tokio/time"]
|
2022-12-30 08:23:19 +00:00
|
|
|
|
|
|
|
[package.metadata.docs.rs]
|
2024-02-09 09:41:42 +00:00
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
2022-12-30 08:23:19 +00:00
|
|
|
features = [
|
2024-01-22 17:51:49 +00:00
|
|
|
"protocol-ws",
|
|
|
|
"protocol-http",
|
|
|
|
"kv-mem",
|
|
|
|
"kv-rocksdb",
|
|
|
|
"rustls",
|
|
|
|
"native-tls",
|
|
|
|
"http",
|
|
|
|
"scripting",
|
2022-12-30 08:23:19 +00:00
|
|
|
]
|
|
|
|
targets = []
|
2022-09-27 21:52:39 +00:00
|
|
|
|
2022-02-22 14:16:50 +00:00
|
|
|
[dependencies]
|
2023-05-29 11:46:41 +00:00
|
|
|
bincode = "1.3.3"
|
2023-07-15 12:18:44 +00:00
|
|
|
channel = { version = "1.9.0", package = "async-channel" }
|
2023-11-20 15:50:37 +00:00
|
|
|
chrono = { version = "0.4.31", features = ["serde"] }
|
2023-05-19 21:02:43 +00:00
|
|
|
dmp = "0.2.0"
|
2023-12-05 12:12:56 +00:00
|
|
|
flume = "0.11.0"
|
2023-11-20 15:50:37 +00:00
|
|
|
futures = "0.3.29"
|
|
|
|
futures-concurrency = "7.4.3"
|
2023-12-05 12:12:56 +00:00
|
|
|
geo = { version = "0.27.0", features = ["use-serde"] }
|
|
|
|
indexmap = { version = "2.1.0", features = ["serde"] }
|
2022-12-30 08:23:19 +00:00
|
|
|
native-tls = { version = "0.2.11", optional = true }
|
2023-07-03 14:30:42 +00:00
|
|
|
once_cell = "1.18.0"
|
2023-09-05 06:38:39 +00:00
|
|
|
path-clean = "1.0.1"
|
2024-01-22 17:51:49 +00:00
|
|
|
reqwest = { version = "0.11.22", default-features = false, features = [
|
|
|
|
"json",
|
|
|
|
"stream",
|
|
|
|
"multipart",
|
|
|
|
], optional = true }
|
2024-02-12 11:52:36 +00:00
|
|
|
revision = "0.5.0"
|
2023-11-27 10:23:26 +00:00
|
|
|
rust_decimal = { version = "1.33.1", features = ["maths", "serde-str"] }
|
2024-01-22 14:11:10 +00:00
|
|
|
rustls = { version = "0.21.10", optional = true }
|
2023-11-20 15:50:37 +00:00
|
|
|
semver = { version = "1.0.20", features = ["serde"] }
|
2023-11-27 10:23:26 +00:00
|
|
|
serde = { version = "1.0.193", features = ["derive"] }
|
2023-11-20 15:50:37 +00:00
|
|
|
serde_json = "1.0.108"
|
2024-03-15 11:21:32 +00:00
|
|
|
surrealdb-core1 = { version = "1", default-features = false, package = "surrealdb-core" }
|
2024-03-15 16:58:51 +00:00
|
|
|
surrealdb-core2 = { version = "=2.0.0-1.4.0", default-features = false, path = "../core", package = "surrealdb-core", optional = true }
|
2023-11-20 15:50:37 +00:00
|
|
|
thiserror = "1.0.50"
|
|
|
|
tokio-util = { version = "0.7.10", optional = true, features = ["compat"] }
|
|
|
|
tracing = "0.1.40"
|
2024-02-02 22:10:47 +00:00
|
|
|
trice = { version = "0.4.0", optional = true }
|
2023-11-27 10:23:26 +00:00
|
|
|
url = "2.5.0"
|
2022-02-22 14:16:50 +00:00
|
|
|
|
|
|
|
[dev-dependencies]
|
2024-01-22 17:51:49 +00:00
|
|
|
criterion = { version = "0.5.1", features = ["async_tokio"] }
|
2023-11-27 10:23:26 +00:00
|
|
|
env_logger = "0.10.1"
|
2023-11-20 15:50:37 +00:00
|
|
|
pprof = { version = "0.13.0", features = ["flamegraph", "criterion"] }
|
2024-02-02 22:10:47 +00:00
|
|
|
rand = "0.8.5"
|
2024-02-12 11:31:35 +00:00
|
|
|
radix_trie = "0.2.1"
|
2024-02-02 22:10:47 +00:00
|
|
|
regex = "1.10.2"
|
2023-06-10 20:30:37 +00:00
|
|
|
serial_test = "2.0.0"
|
2023-03-10 15:24:27 +00:00
|
|
|
temp-dir = "0.1.11"
|
2024-01-22 17:51:49 +00:00
|
|
|
test-log = { version = "0.2.13", features = ["trace"] }
|
2023-11-20 15:50:37 +00:00
|
|
|
time = { version = "0.3.30", features = ["serde"] }
|
2023-11-27 10:23:26 +00:00
|
|
|
tokio = { version = "1.34.0", features = ["macros", "sync", "rt-multi-thread"] }
|
|
|
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
2024-02-02 22:10:47 +00:00
|
|
|
ulid = { version = "1.1.0", features = ["serde"] }
|
2023-12-05 12:12:56 +00:00
|
|
|
wiremock = "0.5.22"
|
2022-07-26 19:23:40 +00:00
|
|
|
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
2022-12-30 08:23:19 +00:00
|
|
|
pharos = "0.5.3"
|
2024-01-22 14:11:10 +00:00
|
|
|
ring = { version = "0.17.7", features = ["wasm32_unknown_unknown_js"] } # Make ring-based dependencies work on Wasm
|
2023-11-27 10:23:26 +00:00
|
|
|
tokio = { version = "1.34.0", default-features = false, features = ["rt", "sync"] }
|
2023-11-20 15:50:37 +00:00
|
|
|
uuid = { version = "1.6.1", features = ["serde", "js", "v4", "v7"] }
|
2023-12-05 12:12:56 +00:00
|
|
|
wasm-bindgen-futures = "0.4.39"
|
2024-01-22 17:51:49 +00:00
|
|
|
wasmtimer = { version = "0.2.0", default-features = false, features = [
|
|
|
|
"tokio",
|
|
|
|
] }
|
2023-02-07 08:39:09 +00:00
|
|
|
ws_stream_wasm = "0.7.4"
|
2022-07-26 19:23:40 +00:00
|
|
|
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
2024-01-22 17:51:49 +00:00
|
|
|
tokio = { version = "1.34.0", default-features = false, features = [
|
|
|
|
"macros",
|
|
|
|
"io-util",
|
|
|
|
"io-std",
|
|
|
|
"fs",
|
|
|
|
"rt-multi-thread",
|
|
|
|
"time",
|
|
|
|
"sync",
|
|
|
|
] }
|
2023-10-18 08:54:04 +00:00
|
|
|
tokio-tungstenite = { version = "0.20.1", optional = true }
|
2023-11-20 15:50:37 +00:00
|
|
|
uuid = { version = "1.6.1", features = ["serde", "v4", "v7"] }
|
2023-04-30 22:50:33 +00:00
|
|
|
|
|
|
|
[lib]
|
2023-11-21 13:24:59 +00:00
|
|
|
name = "surrealdb" # Needed for the nightly crate as we will be renaming it
|
2023-05-01 17:15:42 +00:00
|
|
|
bench = false
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "executor"
|
|
|
|
harness = false
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "parser"
|
|
|
|
harness = false
|
2023-07-07 18:43:16 +00:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "processor"
|
2023-07-11 18:22:31 +00:00
|
|
|
harness = false
|
|
|
|
|
2024-02-12 11:31:35 +00:00
|
|
|
[[bench]]
|
|
|
|
name = "hash_trie_btree"
|
|
|
|
harness = false
|
|
|
|
|
2023-07-11 18:22:31 +00:00
|
|
|
[[bench]]
|
|
|
|
name = "index_btree"
|
2023-07-15 12:18:44 +00:00
|
|
|
harness = false
|
2023-10-26 21:33:06 +00:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "index_mtree"
|
|
|
|
harness = false
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "move_vs_clone"
|
|
|
|
harness = false
|
2023-11-18 13:55:01 +00:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "sdb"
|
|
|
|
harness = false
|