Info structure refactor (#3886)
Co-authored-by: Micha de Vries <micha@devrie.sh>
This commit is contained in:
parent
53ad2c5366
commit
4c8c9f6c8a
143 changed files with 502 additions and 375 deletions
8
Cargo.lock
generated
8
Cargo.lock
generated
|
@ -4702,9 +4702,9 @@ checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "revision"
|
name = "revision"
|
||||||
version = "0.5.0"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "87eb86913082f8976b06d07a59f17df9120e6f38b882cf3fc5a45b4499e224b6"
|
checksum = "588784c1d9453cfd2ce1b7aff06c903513677cf0e63779a0a3085ee8a44f5b17"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
@ -4720,9 +4720,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "revision-derive"
|
name = "revision-derive"
|
||||||
version = "0.5.0"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bf996fc5f61f1dbec35799b5c00c6dda12e8862e8cb782ed24e10d0292e60ed3"
|
checksum = "854ff0b6794d4e0aab5e4486870941caefe9f258e63cad2f21b49a6302377c85"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"darling",
|
"darling",
|
||||||
"proc-macro-error",
|
"proc-macro-error",
|
||||||
|
|
89
Cargo.toml
89
Cargo.toml
|
@ -23,7 +23,13 @@ jwks = ["surrealdb/jwks"]
|
||||||
performance-profiler = ["dep:pprof"]
|
performance-profiler = ["dep:pprof"]
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
members = ["core", "lib", "lib/examples/actix", "lib/examples/axum", "lib/examples/rocket"]
|
members = [
|
||||||
|
"core",
|
||||||
|
"lib",
|
||||||
|
"lib/examples/actix",
|
||||||
|
"lib/examples/axum",
|
||||||
|
"lib/examples/rocket",
|
||||||
|
]
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
lto = true
|
lto = true
|
||||||
|
@ -44,10 +50,10 @@ base64 = "0.21.5"
|
||||||
bytes = "1.5.0"
|
bytes = "1.5.0"
|
||||||
ciborium = "0.2.1"
|
ciborium = "0.2.1"
|
||||||
clap = { version = "4.4.11", features = [
|
clap = { version = "4.4.11", features = [
|
||||||
"env",
|
"env",
|
||||||
"derive",
|
"derive",
|
||||||
"wrap_help",
|
"wrap_help",
|
||||||
"unicode",
|
"unicode",
|
||||||
] }
|
] }
|
||||||
futures = "0.3.29"
|
futures = "0.3.29"
|
||||||
futures-util = "0.3.29"
|
futures-util = "0.3.29"
|
||||||
|
@ -62,15 +68,22 @@ opentelemetry = { version = "0.19", features = ["rt-tokio"] }
|
||||||
opentelemetry-otlp = { version = "0.12.0", features = ["metrics"] }
|
opentelemetry-otlp = { version = "0.12.0", features = ["metrics"] }
|
||||||
pin-project-lite = "0.2.13"
|
pin-project-lite = "0.2.13"
|
||||||
pprof = { version = "0.13.0", features = [
|
pprof = { version = "0.13.0", features = [
|
||||||
"flamegraph",
|
"flamegraph",
|
||||||
"prost-codec",
|
"prost-codec",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
reqwest = { version = "0.11.22", default-features = false, features = [
|
reqwest = { version = "0.11.22", default-features = false, features = [
|
||||||
"blocking",
|
"blocking",
|
||||||
"gzip",
|
"gzip",
|
||||||
|
] }
|
||||||
|
revision = { version = "0.7.0", features = [
|
||||||
|
"chrono",
|
||||||
|
"geo",
|
||||||
|
"roaring",
|
||||||
|
"regex",
|
||||||
|
"rust_decimal",
|
||||||
|
"uuid",
|
||||||
] }
|
] }
|
||||||
revision = "0.5.0"
|
|
||||||
rmpv = "1.0.1"
|
rmpv = "1.0.1"
|
||||||
rustyline = { version = "12.0.0", features = ["derive"] }
|
rustyline = { version = "12.0.0", features = ["derive"] }
|
||||||
semver = "1.0.20"
|
semver = "1.0.20"
|
||||||
|
@ -78,9 +91,9 @@ serde = { version = "1.0.193", features = ["derive"] }
|
||||||
serde_json = "1.0.108"
|
serde_json = "1.0.108"
|
||||||
serde_pack = { version = "1.1.2", package = "rmp-serde" }
|
serde_pack = { version = "1.1.2", package = "rmp-serde" }
|
||||||
surrealdb = { version = "1", path = "lib", features = [
|
surrealdb = { version = "1", path = "lib", features = [
|
||||||
"protocol-http",
|
"protocol-http",
|
||||||
"protocol-ws",
|
"protocol-ws",
|
||||||
"rustls",
|
"rustls",
|
||||||
] }
|
] }
|
||||||
tempfile = "3.8.1"
|
tempfile = "3.8.1"
|
||||||
thiserror = "1.0.50"
|
thiserror = "1.0.50"
|
||||||
|
@ -88,17 +101,17 @@ tokio = { version = "1.34.0", features = ["macros", "signal"] }
|
||||||
tokio-util = { version = "0.7.10", features = ["io"] }
|
tokio-util = { version = "0.7.10", features = ["io"] }
|
||||||
tower = "0.4.13"
|
tower = "0.4.13"
|
||||||
tower-http = { version = "0.4.4", features = [
|
tower-http = { version = "0.4.4", features = [
|
||||||
"trace",
|
"trace",
|
||||||
"sensitive-headers",
|
"sensitive-headers",
|
||||||
"auth",
|
"auth",
|
||||||
"request-id",
|
"request-id",
|
||||||
"util",
|
"util",
|
||||||
"catch-panic",
|
"catch-panic",
|
||||||
"cors",
|
"cors",
|
||||||
"set-header",
|
"set-header",
|
||||||
"limit",
|
"limit",
|
||||||
"add-extension",
|
"add-extension",
|
||||||
"compression-full",
|
"compression-full",
|
||||||
] }
|
] }
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
tracing-opentelemetry = "0.19.0"
|
tracing-opentelemetry = "0.19.0"
|
||||||
|
@ -122,10 +135,10 @@ jemallocator = "0.5.4"
|
||||||
assert_fs = "1.0.13"
|
assert_fs = "1.0.13"
|
||||||
env_logger = "0.10.1"
|
env_logger = "0.10.1"
|
||||||
opentelemetry-proto = { version = "0.2.0", features = [
|
opentelemetry-proto = { version = "0.2.0", features = [
|
||||||
"gen-tonic",
|
"gen-tonic",
|
||||||
"traces",
|
"traces",
|
||||||
"metrics",
|
"metrics",
|
||||||
"logs",
|
"logs",
|
||||||
] }
|
] }
|
||||||
rcgen = "0.11.3"
|
rcgen = "0.11.3"
|
||||||
serial_test = "2.0.0"
|
serial_test = "2.0.0"
|
||||||
|
@ -149,16 +162,16 @@ depends = "$auto"
|
||||||
section = "utility"
|
section = "utility"
|
||||||
priority = "optional"
|
priority = "optional"
|
||||||
assets = [
|
assets = [
|
||||||
[
|
[
|
||||||
"target/release/surreal",
|
"target/release/surreal",
|
||||||
"usr/share/surrealdb/surreal",
|
"usr/share/surrealdb/surreal",
|
||||||
"755",
|
"755",
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"pkg/deb/README",
|
"pkg/deb/README",
|
||||||
"usr/share/surrealdb/README",
|
"usr/share/surrealdb/README",
|
||||||
"644",
|
"644",
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
extended-description = "A scalable, distributed, collaborative, document-graph database, for the realtime web."
|
extended-description = "A scalable, distributed, collaborative, document-graph database, for the realtime web."
|
||||||
license-file = ["LICENSE", "4"]
|
license-file = ["LICENSE", "4"]
|
||||||
|
|
|
@ -11,11 +11,11 @@ repository = "https://github.com/surrealdb/surrealdb"
|
||||||
homepage = "https://github.com/surrealdb/surrealdb"
|
homepage = "https://github.com/surrealdb/surrealdb"
|
||||||
documentation = "https://docs.rs/surrealdb-core/"
|
documentation = "https://docs.rs/surrealdb-core/"
|
||||||
keywords = [
|
keywords = [
|
||||||
"database",
|
"database",
|
||||||
"embedded-database",
|
"embedded-database",
|
||||||
"key-value",
|
"key-value",
|
||||||
"key-value-store",
|
"key-value-store",
|
||||||
"kv-store",
|
"kv-store",
|
||||||
]
|
]
|
||||||
categories = ["database-implementations", "data-structures", "embedded"]
|
categories = ["database-implementations", "data-structures", "embedded"]
|
||||||
license-file = "../LICENSE"
|
license-file = "../LICENSE"
|
||||||
|
@ -43,11 +43,11 @@ http = ["dep:reqwest"]
|
||||||
ml = ["dep:surrealml", "dep:ndarray"]
|
ml = ["dep:surrealml", "dep:ndarray"]
|
||||||
jwks = ["dep:reqwest"]
|
jwks = ["dep:reqwest"]
|
||||||
arbitrary = [
|
arbitrary = [
|
||||||
"dep:arbitrary",
|
"dep:arbitrary",
|
||||||
"dep:regex-syntax",
|
"dep:regex-syntax",
|
||||||
"rust_decimal/rust-fuzz",
|
"rust_decimal/rust-fuzz",
|
||||||
"geo-types/arbitrary",
|
"geo-types/arbitrary",
|
||||||
"uuid/arbitrary",
|
"uuid/arbitrary",
|
||||||
]
|
]
|
||||||
# Private features
|
# Private features
|
||||||
kv-fdb = ["tokio/time"]
|
kv-fdb = ["tokio/time"]
|
||||||
|
@ -77,7 +77,7 @@ echodb = { version = "0.6.0", optional = true }
|
||||||
executor = { version = "1.8.0", package = "async-executor" }
|
executor = { version = "1.8.0", package = "async-executor" }
|
||||||
ext-sort = { version = "^0.1.4", optional = true }
|
ext-sort = { version = "^0.1.4", optional = true }
|
||||||
foundationdb = { version = "0.8.0", default-features = false, features = [
|
foundationdb = { version = "0.8.0", default-features = false, features = [
|
||||||
"embedded-fdb-include",
|
"embedded-fdb-include",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
fst = "0.4.7"
|
fst = "0.4.7"
|
||||||
futures = "0.3.29"
|
futures = "0.3.29"
|
||||||
|
@ -88,15 +88,15 @@ hex = { version = "0.4.3" }
|
||||||
indxdb = { version = "0.4.0", optional = true }
|
indxdb = { version = "0.4.0", optional = true }
|
||||||
ipnet = "2.9.0"
|
ipnet = "2.9.0"
|
||||||
js = { version = "0.5.1", package = "rquickjs", features = [
|
js = { version = "0.5.1", package = "rquickjs", features = [
|
||||||
"array-buffer",
|
"array-buffer",
|
||||||
"bindgen",
|
"bindgen",
|
||||||
"classes",
|
"classes",
|
||||||
"futures",
|
"futures",
|
||||||
"loader",
|
"loader",
|
||||||
"macro",
|
"macro",
|
||||||
"parallel",
|
"parallel",
|
||||||
"properties",
|
"properties",
|
||||||
"rust-alloc",
|
"rust-alloc",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
jsonwebtoken = { version = "8.3.0-surreal.1", package = "surrealdb-jsonwebtoken" }
|
jsonwebtoken = { version = "8.3.0-surreal.1", package = "surrealdb-jsonwebtoken" }
|
||||||
lexicmp = "0.1.0"
|
lexicmp = "0.1.0"
|
||||||
|
@ -117,11 +117,11 @@ reblessive = { version = "0.3.0" }
|
||||||
regex = "1.10.2"
|
regex = "1.10.2"
|
||||||
regex-syntax = { version = "0.8.2", optional = true, features = ["arbitrary"] }
|
regex-syntax = { version = "0.8.2", optional = true, features = ["arbitrary"] }
|
||||||
reqwest = { version = "0.11.22", default-features = false, features = [
|
reqwest = { version = "0.11.22", default-features = false, features = [
|
||||||
"json",
|
"json",
|
||||||
"stream",
|
"stream",
|
||||||
"multipart",
|
"multipart",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
revision = "0.5.0"
|
revision = { version = "0.7.0", features = ["chrono", "geo", "roaring", "regex", "rust_decimal", "uuid"] }
|
||||||
roaring = { version = "0.10.2", features = ["serde"] }
|
roaring = { version = "0.10.2", features = ["serde"] }
|
||||||
rocksdb = { version = "0.21.0", features = ["lz4", "snappy"], optional = true }
|
rocksdb = { version = "0.21.0", features = ["lz4", "snappy"], optional = true }
|
||||||
rust_decimal = { version = "1.33.1", features = ["maths", "serde-str"] }
|
rust_decimal = { version = "1.33.1", features = ["maths", "serde-str"] }
|
||||||
|
@ -162,25 +162,25 @@ wiremock = "0.5.22"
|
||||||
pharos = "0.5.3"
|
pharos = "0.5.3"
|
||||||
ring = { version = "0.17.7", features = ["wasm32_unknown_unknown_js"] }
|
ring = { version = "0.17.7", features = ["wasm32_unknown_unknown_js"] }
|
||||||
tokio = { version = "1.34.0", default-features = false, features = [
|
tokio = { version = "1.34.0", default-features = false, features = [
|
||||||
"rt",
|
"rt",
|
||||||
"sync",
|
"sync",
|
||||||
] }
|
] }
|
||||||
uuid = { version = "1.6.1", features = ["serde", "js", "v4", "v7"] }
|
uuid = { version = "1.6.1", features = ["serde", "js", "v4", "v7"] }
|
||||||
wasm-bindgen-futures = "0.4.39"
|
wasm-bindgen-futures = "0.4.39"
|
||||||
wasmtimer = { version = "0.2.0", default-features = false, features = [
|
wasmtimer = { version = "0.2.0", default-features = false, features = [
|
||||||
"tokio",
|
"tokio",
|
||||||
] }
|
] }
|
||||||
ws_stream_wasm = "0.7.4"
|
ws_stream_wasm = "0.7.4"
|
||||||
|
|
||||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||||
tokio = { version = "1.34.0", default-features = false, features = [
|
tokio = { version = "1.34.0", default-features = false, features = [
|
||||||
"macros",
|
"macros",
|
||||||
"io-util",
|
"io-util",
|
||||||
"io-std",
|
"io-std",
|
||||||
"fs",
|
"fs",
|
||||||
"rt-multi-thread",
|
"rt-multi-thread",
|
||||||
"time",
|
"time",
|
||||||
"sync",
|
"sync",
|
||||||
] }
|
] }
|
||||||
tokio-tungstenite = { version = "0.20.1", optional = true }
|
tokio-tungstenite = { version = "0.20.1", optional = true }
|
||||||
uuid = { version = "1.6.1", features = ["serde", "v4", "v7"] }
|
uuid = { version = "1.6.1", features = ["serde", "v4", "v7"] }
|
||||||
|
|
|
@ -13,8 +13,8 @@ use std::collections::{BTreeMap, HashMap};
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
|
|
||||||
// Mutation is a single mutation to a table.
|
// Mutation is a single mutation to a table.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 2)]
|
#[revisioned(revision = 2)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum TableMutation {
|
pub enum TableMutation {
|
||||||
// Although the Value is supposed to contain a field "id" of Thing,
|
// Although the Value is supposed to contain a field "id" of Thing,
|
||||||
|
@ -42,8 +42,8 @@ impl From<DefineTableStatement> for Value {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct TableMutations(pub String, pub Vec<TableMutation>);
|
pub struct TableMutations(pub String, pub Vec<TableMutation>);
|
||||||
|
|
||||||
|
@ -53,8 +53,8 @@ impl TableMutations {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DatabaseMutation(pub Vec<TableMutations>);
|
pub struct DatabaseMutation(pub Vec<TableMutations>);
|
||||||
|
|
||||||
|
@ -71,8 +71,8 @@ impl Default for DatabaseMutation {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change is a set of mutations made to a table at the specific timestamp.
|
// Change is a set of mutations made to a table at the specific timestamp.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct ChangeSet(pub [u8; 10], pub DatabaseMutation);
|
pub struct ChangeSet(pub [u8; 10], pub DatabaseMutation);
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ use std::ops::{Add, Sub};
|
||||||
|
|
||||||
// NOTE: This is not a statement, but as per layering, keeping it here till we
|
// NOTE: This is not a statement, but as per layering, keeping it here till we
|
||||||
// have a better structure.
|
// have a better structure.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize, PartialOrd, Hash, Store)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize, PartialOrd, Hash, Store)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct ClusterMembership {
|
pub struct ClusterMembership {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
|
@ -20,10 +20,10 @@ pub struct ClusterMembership {
|
||||||
// This struct is meant to represent a timestamp that can be used to partially order
|
// This struct is meant to represent a timestamp that can be used to partially order
|
||||||
// events in a cluster. It should be derived from a timestamp oracle, such as the
|
// events in a cluster. It should be derived from a timestamp oracle, such as the
|
||||||
// one available in TiKV via the client `TimestampExt` implementation.
|
// one available in TiKV via the client `TimestampExt` implementation.
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(
|
#[derive(
|
||||||
Clone, Copy, Debug, Eq, PartialEq, Deserialize, Serialize, Ord, PartialOrd, Hash, Store, Default,
|
Clone, Copy, Debug, Eq, PartialEq, Deserialize, Serialize, Ord, PartialOrd, Hash, Store, Default,
|
||||||
)]
|
)]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Timestamp {
|
pub struct Timestamp {
|
||||||
pub value: u64,
|
pub value: u64,
|
||||||
|
@ -39,8 +39,8 @@ impl From<u64> for Timestamp {
|
||||||
|
|
||||||
// This struct is to be used only when storing keys as the macro currently
|
// This struct is to be used only when storing keys as the macro currently
|
||||||
// conflicts when you have Store and Key derive macros.
|
// conflicts when you have Store and Key derive macros.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize, PartialOrd, Hash, Key)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize, PartialOrd, Hash, Key)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct KeyTimestamp {
|
pub struct KeyTimestamp {
|
||||||
pub value: u64,
|
pub value: u64,
|
||||||
|
|
|
@ -3,9 +3,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Debug, Display};
|
use std::fmt::{self, Debug, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "UPPERCASE")]
|
#[serde(rename_all = "UPPERCASE")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Action {
|
pub enum Action {
|
||||||
Create,
|
Create,
|
||||||
|
@ -23,8 +23,8 @@ impl Display for Action {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Notification {
|
pub struct Notification {
|
||||||
/// The id of the LIVE query to which this notification belongs
|
/// The id of the LIVE query to which this notification belongs
|
||||||
|
|
|
@ -42,9 +42,9 @@ impl Response {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "UPPERCASE")]
|
#[serde(rename_all = "UPPERCASE")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Status {
|
pub enum Status {
|
||||||
|
@ -73,8 +73,8 @@ impl Serialize for Response {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct QueryMethodResponse {
|
pub struct QueryMethodResponse {
|
||||||
|
|
|
@ -5,9 +5,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use super::{is_allowed, Action, Actor, Error, Level, Resource, Role};
|
use super::{is_allowed, Action, Actor, Error, Level, Resource, Role};
|
||||||
|
|
||||||
/// Specifies the current authentication for the datastore execution context.
|
/// Specifies the current authentication for the datastore execution context.
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Auth {
|
pub struct Auth {
|
||||||
actor: Actor,
|
actor: Actor,
|
||||||
|
|
|
@ -13,9 +13,9 @@ use crate::sql::statements::{DefineTokenStatement, DefineUserStatement};
|
||||||
//
|
//
|
||||||
// User
|
// User
|
||||||
//
|
//
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Actor {
|
pub struct Actor {
|
||||||
res: Resource,
|
res: Resource,
|
||||||
|
|
|
@ -7,9 +7,9 @@ use std::{
|
||||||
use cedar_policy::{Entity, EntityTypeName, EntityUid, RestrictedExpression};
|
use cedar_policy::{Entity, EntityTypeName, EntityUid, RestrictedExpression};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Deserialize, Serialize, Hash)]
|
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Deserialize, Serialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Level {
|
pub enum Level {
|
||||||
#[default]
|
#[default]
|
||||||
|
|
|
@ -9,9 +9,9 @@ use super::Level;
|
||||||
use cedar_policy::{Entity, EntityId, EntityTypeName, EntityUid, RestrictedExpression};
|
use cedar_policy::{Entity, EntityId, EntityTypeName, EntityUid, RestrictedExpression};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum ResourceKind {
|
pub enum ResourceKind {
|
||||||
#[default]
|
#[default]
|
||||||
|
@ -79,9 +79,9 @@ impl ResourceKind {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Resource(String, ResourceKind, Level);
|
pub struct Resource(String, ResourceKind, Level);
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
|
||||||
// In the future, we will allow for custom roles. For now, provide predefined roles.
|
// In the future, we will allow for custom roles. For now, provide predefined roles.
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Hash, Clone, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize)]
|
#[derive(Hash, Clone, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Role {
|
pub enum Role {
|
||||||
#[default]
|
#[default]
|
||||||
|
|
|
@ -149,8 +149,8 @@ impl DocIds {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
struct State {
|
struct State {
|
||||||
btree: BState,
|
btree: BState,
|
||||||
available_ids: Option<RoaringTreemap>,
|
available_ids: Option<RoaringTreemap>,
|
||||||
|
@ -175,8 +175,8 @@ impl VersionedSerdeState for State {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
struct State1 {
|
struct State1 {
|
||||||
btree: BState1,
|
btree: BState1,
|
||||||
available_ids: Option<RoaringTreemap>,
|
available_ids: Option<RoaringTreemap>,
|
||||||
|
@ -195,8 +195,8 @@ impl From<State1> for State {
|
||||||
|
|
||||||
impl VersionedSerdeState for State1 {}
|
impl VersionedSerdeState for State1 {}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
struct State1skip {
|
struct State1skip {
|
||||||
btree: BState1skip,
|
btree: BState1skip,
|
||||||
available_ids: Option<RoaringTreemap>,
|
available_ids: Option<RoaringTreemap>,
|
||||||
|
|
|
@ -86,8 +86,8 @@ impl From<FtStatistics> for Value {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Default, Serialize, Deserialize)]
|
||||||
struct State {
|
struct State {
|
||||||
total_docs_lengths: u128,
|
total_docs_lengths: u128,
|
||||||
doc_count: u64,
|
doc_count: u64,
|
||||||
|
|
|
@ -133,16 +133,16 @@ impl Terms {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
struct State {
|
struct State {
|
||||||
btree: BState,
|
btree: BState,
|
||||||
available_ids: Option<RoaringTreemap>,
|
available_ids: Option<RoaringTreemap>,
|
||||||
next_term_id: TermId,
|
next_term_id: TermId,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
struct State1 {
|
struct State1 {
|
||||||
btree: BState1,
|
btree: BState1,
|
||||||
available_ids: Option<RoaringTreemap>,
|
available_ids: Option<RoaringTreemap>,
|
||||||
|
@ -151,8 +151,8 @@ struct State1 {
|
||||||
|
|
||||||
impl VersionedSerdeState for State1 {}
|
impl VersionedSerdeState for State1 {}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
struct State1skip {
|
struct State1skip {
|
||||||
btree: BState1skip,
|
btree: BState1skip,
|
||||||
available_ids: Option<RoaringTreemap>,
|
available_ids: Option<RoaringTreemap>,
|
||||||
|
|
|
@ -28,8 +28,8 @@ where
|
||||||
bk: PhantomData<BK>,
|
bk: PhantomData<BK>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 2)]
|
#[revisioned(revision = 2)]
|
||||||
|
#[derive(Clone, Serialize, Deserialize)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct BState {
|
pub struct BState {
|
||||||
minimum_degree: u32,
|
minimum_degree: u32,
|
||||||
|
@ -57,16 +57,16 @@ impl VersionedSerdeState for BState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Serialize, Deserialize)]
|
||||||
pub(in crate::idx) struct BState1 {
|
pub(in crate::idx) struct BState1 {
|
||||||
minimum_degree: u32,
|
minimum_degree: u32,
|
||||||
root: Option<NodeId>,
|
root: Option<NodeId>,
|
||||||
next_node_id: NodeId,
|
next_node_id: NodeId,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Serialize, Deserialize)]
|
||||||
pub(in crate::idx) struct BState1skip {
|
pub(in crate::idx) struct BState1skip {
|
||||||
minimum_degree: u32,
|
minimum_degree: u32,
|
||||||
root: Option<NodeId>,
|
root: Option<NodeId>,
|
||||||
|
|
|
@ -1550,8 +1550,8 @@ impl From<MtStatistics> for Value {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 2)]
|
#[revisioned(revision = 2)]
|
||||||
|
#[derive(Clone, Serialize, Deserialize)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct MState {
|
pub struct MState {
|
||||||
capacity: u16,
|
capacity: u16,
|
||||||
|
|
|
@ -9,8 +9,8 @@ use std::ops::Mul;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
/// In the context of a Symmetric MTree index, the term object refers to a vector, representing the indexed item.
|
/// In the context of a Symmetric MTree index, the term object refers to a vector, representing the indexed item.
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Vector {
|
pub enum Vector {
|
||||||
F64(Vec<f64>),
|
F64(Vec<f64>),
|
||||||
|
|
|
@ -8,8 +8,8 @@ use serde::Serialize;
|
||||||
/// The data returned by the database
|
/// The data returned by the database
|
||||||
// The variants here should be in exactly the same order as `crate::engine::remote::ws::Data`
|
// The variants here should be in exactly the same order as `crate::engine::remote::ws::Data`
|
||||||
// In future, they will possibly be merged to avoid having to keep them in sync.
|
// In future, they will possibly be merged to avoid having to keep them in sync.
|
||||||
#[derive(Debug, Serialize)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Debug, Serialize)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Data {
|
pub enum Data {
|
||||||
/// Generally methods return a `sql::Value`
|
/// Generally methods return a `sql::Value`
|
||||||
|
|
|
@ -4,9 +4,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Algorithm {
|
pub enum Algorithm {
|
||||||
EdDSA,
|
EdDSA,
|
||||||
|
|
|
@ -16,9 +16,9 @@ use std::ops::DerefMut;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Array";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Array";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Array")]
|
#[serde(rename = "$surrealdb::private::sql::Array")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Array(pub Vec<Value>);
|
pub struct Array(pub Vec<Value>);
|
||||||
|
|
|
@ -4,9 +4,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Base {
|
pub enum Base {
|
||||||
Root,
|
Root,
|
||||||
|
|
|
@ -18,9 +18,9 @@ use std::ops::Deref;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Block";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Block";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Block")]
|
#[serde(rename = "$surrealdb::private::sql::Block")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Block(pub Vec<Entry>);
|
pub struct Block(pub Vec<Entry>);
|
||||||
|
@ -172,8 +172,9 @@ impl InfoStructure for Block {
|
||||||
self.to_string().into()
|
self.to_string().into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Entry {
|
pub enum Entry {
|
||||||
|
|
|
@ -7,8 +7,8 @@ use serde::{
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Bytes(pub(crate) Vec<u8>);
|
pub struct Bytes(pub(crate) Vec<u8>);
|
||||||
|
|
|
@ -11,9 +11,9 @@ use std::fmt;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Cast";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Cast";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Cast")]
|
#[serde(rename = "$surrealdb::private::sql::Cast")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Cast(pub Kind, pub Value);
|
pub struct Cast(pub Kind, pub Value);
|
||||||
|
|
|
@ -2,9 +2,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
/// ChangeFeedInclude statements are an appendix
|
/// ChangeFeedInclude statements are an appendix
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum ChangeFeedInclude {
|
pub enum ChangeFeedInclude {
|
||||||
|
|
|
@ -7,8 +7,8 @@ use std::fmt::{self, Display, Formatter};
|
||||||
use std::str;
|
use std::str;
|
||||||
use std::time;
|
use std::time;
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 2)]
|
#[revisioned(revision = 2)]
|
||||||
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct ChangeFeed {
|
pub struct ChangeFeed {
|
||||||
pub expiry: time::Duration,
|
pub expiry: time::Duration,
|
||||||
|
|
|
@ -5,8 +5,8 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Cond(pub Value);
|
pub struct Cond(pub Value);
|
||||||
|
|
|
@ -13,9 +13,9 @@ use std::fmt;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Constant";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Constant";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Constant")]
|
#[serde(rename = "$surrealdb::private::sql::Constant")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Constant {
|
pub enum Constant {
|
||||||
|
|
|
@ -9,8 +9,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Data {
|
pub enum Data {
|
||||||
|
|
|
@ -14,9 +14,9 @@ use super::escape::quote_str;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Datetime";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Datetime";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Ord, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Ord, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Datetime")]
|
#[serde(rename = "$surrealdb::private::sql::Datetime")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Datetime(pub DateTime<Utc>);
|
pub struct Datetime(pub DateTime<Utc>);
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Dir {
|
pub enum Dir {
|
||||||
|
|
|
@ -20,9 +20,9 @@ pub(crate) static NANOSECONDS_PER_MICROSECOND: u32 = 1000;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Duration";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Duration";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Duration")]
|
#[serde(rename = "$surrealdb::private::sql::Duration")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Duration(pub time::Duration);
|
pub struct Duration(pub time::Duration);
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,10 @@ use std::fmt;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Edges";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Edges";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Edges")]
|
#[serde(rename = "$surrealdb::private::sql::Edges")]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Edges {
|
pub struct Edges {
|
||||||
pub dir: Dir,
|
pub dir: Dir,
|
||||||
|
|
|
@ -2,8 +2,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Explain(pub bool);
|
pub struct Explain(pub bool);
|
||||||
|
|
|
@ -13,9 +13,9 @@ use std::str;
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Expression";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Expression";
|
||||||
|
|
||||||
/// Binary expressions.
|
/// Binary expressions.
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Expression")]
|
#[serde(rename = "$surrealdb::private::sql::Expression")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Expression {
|
pub enum Expression {
|
||||||
|
|
|
@ -7,8 +7,8 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Fetchs(pub Vec<Fetch>);
|
pub struct Fetchs(pub Vec<Fetch>);
|
||||||
|
@ -39,8 +39,9 @@ impl InfoStructure for Fetchs {
|
||||||
Value::Array(self.0.into_iter().map(|f| f.0.structure()).collect())
|
Value::Array(self.0.into_iter().map(|f| f.0.structure()).collect())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Fetch(pub Idiom);
|
pub struct Fetch(pub Idiom);
|
||||||
|
|
|
@ -11,8 +11,8 @@ use std::borrow::Cow;
|
||||||
use std::fmt::{self, Display, Formatter, Write};
|
use std::fmt::{self, Display, Formatter, Write};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Fields(pub Vec<Field>, pub bool);
|
pub struct Fields(pub Vec<Field>, pub bool);
|
||||||
|
@ -242,8 +242,8 @@ impl Fields {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Field {
|
pub enum Field {
|
||||||
|
|
|
@ -4,9 +4,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Filter {
|
pub enum Filter {
|
||||||
Ascii,
|
Ascii,
|
||||||
|
|
|
@ -20,9 +20,9 @@ use super::Kind;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Function";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Function";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Function")]
|
#[serde(rename = "$surrealdb::private::sql::Function")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Function {
|
pub enum Function {
|
||||||
|
|
|
@ -10,9 +10,9 @@ use std::fmt;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Future";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Future";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Future")]
|
#[serde(rename = "$surrealdb::private::sql::Future")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Future(pub Block);
|
pub struct Future(pub Block);
|
||||||
|
|
|
@ -15,10 +15,10 @@ use std::{fmt, hash};
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Geometry";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Geometry";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Geometry")]
|
#[serde(rename = "$surrealdb::private::sql::Geometry")]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Geometry {
|
pub enum Geometry {
|
||||||
Point(Point<f64>),
|
Point(Point<f64>),
|
||||||
|
|
|
@ -12,8 +12,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Formatter, Write};
|
use std::fmt::{self, Display, Formatter, Write};
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Graph {
|
pub struct Graph {
|
||||||
|
|
|
@ -5,8 +5,8 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Groups(pub Vec<Group>);
|
pub struct Groups(pub Vec<Group>);
|
||||||
|
@ -36,8 +36,8 @@ impl Display for Groups {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Group(pub Idiom);
|
pub struct Group(pub Idiom);
|
||||||
|
|
|
@ -11,8 +11,8 @@ use std::collections::BTreeMap;
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
use ulid::Ulid;
|
use ulid::Ulid;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Gen {
|
pub enum Gen {
|
||||||
|
@ -21,8 +21,8 @@ pub enum Gen {
|
||||||
Uuid,
|
Uuid,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Id {
|
pub enum Id {
|
||||||
|
|
|
@ -6,8 +6,8 @@ use std::fmt::{self, Display, Formatter};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use std::str;
|
use std::str;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Ident(#[serde(with = "no_nul_bytes")] pub String);
|
pub struct Ident(#[serde(with = "no_nul_bytes")] pub String);
|
||||||
|
|
|
@ -18,8 +18,8 @@ use std::str;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Idiom";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Idiom";
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Idioms(pub Vec<Idiom>);
|
pub struct Idioms(pub Vec<Idiom>);
|
||||||
|
@ -45,9 +45,9 @@ impl Display for Idioms {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Idiom")]
|
#[serde(rename = "$surrealdb::private::sql::Idiom")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Idiom(pub Vec<Part>);
|
pub struct Idiom(pub Vec<Part>);
|
||||||
|
|
|
@ -12,9 +12,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fmt::{Display, Formatter};
|
use std::fmt::{Display, Formatter};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Index {
|
pub enum Index {
|
||||||
/// (Basic) non unique
|
/// (Basic) non unique
|
||||||
|
@ -28,9 +28,9 @@ pub enum Index {
|
||||||
MTree(MTreeParams),
|
MTree(MTreeParams),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct SearchParams {
|
pub struct SearchParams {
|
||||||
pub az: Ident,
|
pub az: Ident,
|
||||||
|
@ -50,9 +50,9 @@ pub struct SearchParams {
|
||||||
pub terms_cache: u32,
|
pub terms_cache: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct MTreeParams {
|
pub struct MTreeParams {
|
||||||
pub dimension: u16,
|
pub dimension: u16,
|
||||||
|
@ -86,9 +86,9 @@ impl MTreeParams {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Distance1 {
|
pub enum Distance1 {
|
||||||
#[default]
|
#[default]
|
||||||
|
@ -99,9 +99,9 @@ pub enum Distance1 {
|
||||||
Minkowski(Number),
|
Minkowski(Number),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Distance {
|
pub enum Distance {
|
||||||
Chebyshev,
|
Chebyshev,
|
||||||
|
@ -145,9 +145,9 @@ impl Display for Distance {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Copy, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Copy, Default, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum VectorType {
|
pub enum VectorType {
|
||||||
#[default]
|
#[default]
|
||||||
|
|
|
@ -4,9 +4,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Kind {
|
pub enum Kind {
|
||||||
Any,
|
Any,
|
||||||
|
|
|
@ -3,9 +3,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Language {
|
pub enum Language {
|
||||||
Arabic,
|
Arabic,
|
||||||
|
|
|
@ -8,8 +8,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Limit(pub Value);
|
pub struct Limit(pub Value);
|
||||||
|
|
|
@ -44,9 +44,9 @@ impl Iterator for IntoIter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Mock")]
|
#[serde(rename = "$surrealdb::private::sql::Mock")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Mock {
|
pub enum Mock {
|
||||||
|
|
|
@ -26,9 +26,9 @@ use std::collections::HashMap;
|
||||||
#[cfg(feature = "ml")]
|
#[cfg(feature = "ml")]
|
||||||
const ARGUMENTS: &str = "The model expects 1 argument. The argument can be either a number, an object, or an array of numbers.";
|
const ARGUMENTS: &str = "The model expects 1 argument. The argument can be either a number, an object, or an array of numbers.";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Model {
|
pub struct Model {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
|
|
|
@ -13,9 +13,9 @@ use std::ops::{self, Add, Div, Mul, Neg, Rem, Sub};
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Number";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Number";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Number")]
|
#[serde(rename = "$surrealdb::private::sql::Number")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Number {
|
pub enum Number {
|
||||||
|
|
|
@ -18,9 +18,9 @@ use std::ops::DerefMut;
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Object";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Object";
|
||||||
|
|
||||||
/// Invariant: Keys never contain NUL bytes.
|
/// Invariant: Keys never contain NUL bytes.
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Object")]
|
#[serde(rename = "$surrealdb::private::sql::Object")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Object(#[serde(with = "no_nul_bytes_in_keys")] pub BTreeMap<String, Value>);
|
pub struct Object(#[serde(with = "no_nul_bytes_in_keys")] pub BTreeMap<String, Value>);
|
||||||
|
|
|
@ -3,10 +3,10 @@ use crate::sql::value::Value;
|
||||||
use revision::revisioned;
|
use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(tag = "op")]
|
#[serde(tag = "op")]
|
||||||
#[serde(rename_all = "lowercase")]
|
#[serde(rename_all = "lowercase")]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Operation {
|
pub enum Operation {
|
||||||
Add {
|
Add {
|
||||||
|
|
|
@ -6,8 +6,8 @@ use std::fmt;
|
||||||
use std::fmt::Write;
|
use std::fmt::Write;
|
||||||
|
|
||||||
/// Binary operators.
|
/// Binary operators.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Operator {
|
pub enum Operator {
|
||||||
|
|
|
@ -7,8 +7,8 @@ use std::cmp::Ordering;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Orders(pub Vec<Order>);
|
pub struct Orders(pub Vec<Order>);
|
||||||
|
@ -61,8 +61,8 @@ impl fmt::Display for Orders {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Order {
|
pub struct Order {
|
||||||
|
|
|
@ -3,8 +3,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Output {
|
pub enum Output {
|
||||||
|
|
|
@ -12,10 +12,10 @@ use std::{fmt, ops::Deref, str};
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Param";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Param";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Param")]
|
#[serde(rename = "$surrealdb::private::sql::Param")]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Param(pub Ident);
|
pub struct Param(pub Ident);
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,8 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::str;
|
use std::str;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Part {
|
pub enum Part {
|
||||||
|
|
|
@ -9,9 +9,9 @@ use std::fmt::Write;
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
use std::str;
|
use std::str;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Permissions {
|
pub struct Permissions {
|
||||||
pub select: Permission,
|
pub select: Permission,
|
||||||
|
@ -132,9 +132,9 @@ impl PermissionKind {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Permission {
|
pub enum Permission {
|
||||||
None,
|
None,
|
||||||
|
|
|
@ -11,8 +11,8 @@ use std::str;
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Query";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Query";
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Query")]
|
#[serde(rename = "$surrealdb::private::sql::Query")]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
|
|
|
@ -21,10 +21,10 @@ use std::str::FromStr;
|
||||||
const ID: &str = "id";
|
const ID: &str = "id";
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Range";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Range";
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Hash)]
|
||||||
#[serde(rename = "$surrealdb::private::sql::Range")]
|
#[serde(rename = "$surrealdb::private::sql::Range")]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Range {
|
pub struct Range {
|
||||||
#[serde(with = "no_nul_bytes")]
|
#[serde(with = "no_nul_bytes")]
|
||||||
|
|
|
@ -15,8 +15,8 @@ use std::{env, str};
|
||||||
|
|
||||||
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Regex";
|
pub(crate) const TOKEN: &str = "$surrealdb::private::sql::Regex";
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Regex(pub regex::Regex);
|
pub struct Regex(pub regex::Regex);
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::hash::{Hash, Hasher};
|
use std::hash::{Hash, Hasher};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, PartialOrd, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialOrd, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Scoring {
|
pub enum Scoring {
|
||||||
Bm {
|
Bm {
|
||||||
|
|
|
@ -5,8 +5,8 @@ use std::fmt::{self, Display, Formatter};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use std::str;
|
use std::str;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Script(#[serde(with = "no_nul_bytes")] pub String);
|
pub struct Script(#[serde(with = "no_nul_bytes")] pub String);
|
||||||
|
|
|
@ -5,8 +5,8 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Formatter};
|
use std::fmt::{self, Display, Formatter};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Splits(pub Vec<Split>);
|
pub struct Splits(pub Vec<Split>);
|
||||||
|
@ -32,8 +32,8 @@ impl fmt::Display for Splits {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Split(pub Idiom);
|
pub struct Split(pub Idiom);
|
||||||
|
|
|
@ -8,8 +8,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Start(pub Value);
|
pub struct Start(pub Value);
|
||||||
|
|
|
@ -22,9 +22,9 @@ use std::{
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct Statements(pub Vec<Statement>);
|
pub struct Statements(pub Vec<Statement>);
|
||||||
|
|
||||||
|
@ -52,9 +52,9 @@ impl Display for Statements {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum Statement {
|
pub enum Statement {
|
||||||
Value(Value),
|
Value(Value),
|
||||||
|
|
|
@ -18,8 +18,8 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fmt::{Display, Formatter};
|
use std::fmt::{Display, Formatter};
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum AnalyzeStatement {
|
pub enum AnalyzeStatement {
|
||||||
|
|
|
@ -3,8 +3,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct BeginStatement;
|
pub struct BeginStatement;
|
||||||
|
|
|
@ -8,8 +8,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct BreakStatement;
|
pub struct BreakStatement;
|
||||||
|
|
|
@ -3,8 +3,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct CancelStatement;
|
pub struct CancelStatement;
|
||||||
|
|
|
@ -3,9 +3,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct CommitStatement;
|
pub struct CommitStatement;
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct ContinueStatement;
|
pub struct ContinueStatement;
|
||||||
|
|
|
@ -8,8 +8,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 2)]
|
#[revisioned(revision = 2)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct CreateStatement {
|
pub struct CreateStatement {
|
||||||
|
|
|
@ -10,9 +10,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 3)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 3)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineAnalyzerStatement {
|
pub struct DefineAnalyzerStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -10,9 +10,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineDatabaseStatement {
|
pub struct DefineDatabaseStatement {
|
||||||
pub id: Option<u32>,
|
pub id: Option<u32>,
|
||||||
|
|
|
@ -10,9 +10,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineEventStatement {
|
pub struct DefineEventStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -15,9 +15,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Write};
|
use std::fmt::{self, Display, Write};
|
||||||
|
|
||||||
|
#[revisioned(revision = 3)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 3)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineFieldStatement {
|
pub struct DefineFieldStatement {
|
||||||
pub name: Idiom,
|
pub name: Idiom,
|
||||||
|
|
|
@ -13,9 +13,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Write};
|
use std::fmt::{self, Display, Write};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineFunctionStatement {
|
pub struct DefineFunctionStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -13,9 +13,9 @@ use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineIndexStatement {
|
pub struct DefineIndexStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -37,9 +37,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum DefineStatement {
|
pub enum DefineStatement {
|
||||||
Namespace(DefineNamespaceStatement),
|
Namespace(DefineNamespaceStatement),
|
||||||
|
|
|
@ -13,9 +13,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Write};
|
use std::fmt::{self, Write};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineModelStatement {
|
pub struct DefineModelStatement {
|
||||||
pub hash: String,
|
pub hash: String,
|
||||||
|
|
|
@ -10,9 +10,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineNamespaceStatement {
|
pub struct DefineNamespaceStatement {
|
||||||
pub id: Option<u32>,
|
pub id: Option<u32>,
|
||||||
|
|
|
@ -11,9 +11,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Write};
|
use std::fmt::{self, Display, Write};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineParamStatement {
|
pub struct DefineParamStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -12,9 +12,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineScopeStatement {
|
pub struct DefineScopeStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -20,9 +20,9 @@ use std::fmt::{self, Display, Write};
|
||||||
|
|
||||||
use super::DefineFieldStatement;
|
use super::DefineFieldStatement;
|
||||||
|
|
||||||
|
#[revisioned(revision = 3)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 3)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineTableStatement {
|
pub struct DefineTableStatement {
|
||||||
pub id: Option<u32>,
|
pub id: Option<u32>,
|
||||||
|
|
|
@ -10,9 +10,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineTokenStatement {
|
pub struct DefineTokenStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -15,9 +15,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DefineUserStatement {
|
pub struct DefineUserStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
@ -206,7 +206,7 @@ impl InfoStructure for DefineUserStatement {
|
||||||
let Self {
|
let Self {
|
||||||
name,
|
name,
|
||||||
base,
|
base,
|
||||||
code,
|
hash,
|
||||||
roles,
|
roles,
|
||||||
comment,
|
comment,
|
||||||
..
|
..
|
||||||
|
@ -217,7 +217,7 @@ impl InfoStructure for DefineUserStatement {
|
||||||
|
|
||||||
acc.insert("base".to_string(), base.structure());
|
acc.insert("base".to_string(), base.structure());
|
||||||
|
|
||||||
acc.insert("code".to_string(), code.into());
|
acc.insert("passhash".to_string(), hash.into());
|
||||||
|
|
||||||
acc.insert(
|
acc.insert(
|
||||||
"roles".to_string(),
|
"roles".to_string(),
|
||||||
|
|
|
@ -8,9 +8,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct DeleteStatement {
|
pub struct DeleteStatement {
|
||||||
#[revision(start = 2)]
|
#[revision(start = 2)]
|
||||||
|
|
|
@ -9,9 +9,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct ForeachStatement {
|
pub struct ForeachStatement {
|
||||||
pub param: Param,
|
pub param: Param,
|
||||||
|
|
|
@ -9,8 +9,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::{self, Display, Write};
|
use std::fmt::{self, Display, Write};
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct IfelseStatement {
|
pub struct IfelseStatement {
|
||||||
|
|
|
@ -10,22 +10,64 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum InfoStatement {
|
pub enum InfoStatement {
|
||||||
|
#[revision(end = 2, convert_fn = "root_migrate")]
|
||||||
Root,
|
Root,
|
||||||
|
#[revision(start = 2)]
|
||||||
|
Root(bool),
|
||||||
|
#[revision(end = 2, convert_fn = "ns_migrate")]
|
||||||
Ns,
|
Ns,
|
||||||
|
#[revision(start = 2)]
|
||||||
|
Ns(bool),
|
||||||
|
#[revision(end = 2, convert_fn = "db_migrate")]
|
||||||
Db,
|
Db,
|
||||||
|
#[revision(start = 2)]
|
||||||
|
Db(bool),
|
||||||
|
#[revision(end = 2, convert_fn = "sc_migrate")]
|
||||||
Sc(Ident),
|
Sc(Ident),
|
||||||
|
#[revision(start = 2)]
|
||||||
|
Sc(Ident, bool),
|
||||||
|
#[revision(end = 2, convert_fn = "tb_migrate")]
|
||||||
Tb(Ident),
|
Tb(Ident),
|
||||||
|
#[revision(start = 2)]
|
||||||
|
Tb(Ident, bool),
|
||||||
|
#[revision(end = 2, convert_fn = "user_migrate")]
|
||||||
User(Ident, Option<Base>),
|
User(Ident, Option<Base>),
|
||||||
RootStructure,
|
#[revision(start = 2)]
|
||||||
NsStructure,
|
User(Ident, Option<Base>, bool),
|
||||||
DbStructure,
|
}
|
||||||
ScStructure(Ident),
|
|
||||||
TbStructure(Ident),
|
impl InfoStatement {
|
||||||
|
fn root_migrate(_revision: u16, _: ()) -> Result<Self, revision::Error> {
|
||||||
|
Ok(Self::Root(false))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn ns_migrate(_revision: u16, _: ()) -> Result<Self, revision::Error> {
|
||||||
|
Ok(Self::Ns(false))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn db_migrate(_revision: u16, _: ()) -> Result<Self, revision::Error> {
|
||||||
|
Ok(Self::Db(false))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn sc_migrate(_revision: u16, i: (Ident,)) -> Result<Self, revision::Error> {
|
||||||
|
Ok(Self::Sc(i.0, false))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn tb_migrate(_revision: u16, n: (Ident,)) -> Result<Self, revision::Error> {
|
||||||
|
Ok(Self::Tb(n.0, false))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn user_migrate(
|
||||||
|
_revision: u16,
|
||||||
|
(i, b): (Ident, Option<Base>),
|
||||||
|
) -> Result<Self, revision::Error> {
|
||||||
|
Ok(Self::User(i, b, false))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl InfoStatement {
|
impl InfoStatement {
|
||||||
|
@ -39,7 +81,7 @@ impl InfoStatement {
|
||||||
) -> Result<Value, Error> {
|
) -> Result<Value, Error> {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
match self {
|
match self {
|
||||||
InfoStatement::Root => {
|
InfoStatement::Root(false) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Root)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Root)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -61,7 +103,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::Ns => {
|
InfoStatement::Ns(false) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Ns)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Ns)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -89,7 +131,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::Db => {
|
InfoStatement::Db(false) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -147,7 +189,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::Sc(sc) => {
|
InfoStatement::Sc(sc, false) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -163,7 +205,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::Tb(tb) => {
|
InfoStatement::Tb(tb, false) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -203,7 +245,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::User(user, base) => {
|
InfoStatement::User(user, base, false) => {
|
||||||
let base = base.clone().unwrap_or(opt.selected_base()?);
|
let base = base.clone().unwrap_or(opt.selected_base()?);
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Actor, &base)?;
|
opt.is_allowed(Action::View, ResourceKind::Actor, &base)?;
|
||||||
|
@ -220,7 +262,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res.to_string()).ok()
|
Value::from(res.to_string()).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::RootStructure => {
|
InfoStatement::Root(true) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Root)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Root)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -234,7 +276,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::NsStructure => {
|
InfoStatement::Ns(true) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Ns)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Ns)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -250,7 +292,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::DbStructure => {
|
InfoStatement::Db(true) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -294,7 +336,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::ScStructure(sc) => {
|
InfoStatement::Sc(sc, true) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -309,7 +351,7 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
InfoStatement::TbStructure(tb) => {
|
InfoStatement::Tb(tb, true) => {
|
||||||
// Allowed to run?
|
// Allowed to run?
|
||||||
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
opt.is_allowed(Action::View, ResourceKind::Any, &Base::Db)?;
|
||||||
// Claim transaction
|
// Claim transaction
|
||||||
|
@ -344,6 +386,23 @@ impl InfoStatement {
|
||||||
// Ok all good
|
// Ok all good
|
||||||
Value::from(res).ok()
|
Value::from(res).ok()
|
||||||
}
|
}
|
||||||
|
InfoStatement::User(user, base, true) => {
|
||||||
|
let base = base.clone().unwrap_or(opt.selected_base()?);
|
||||||
|
// Allowed to run?
|
||||||
|
opt.is_allowed(Action::View, ResourceKind::Actor, &base)?;
|
||||||
|
|
||||||
|
// Claim transaction
|
||||||
|
let mut run = txn.lock().await;
|
||||||
|
// Process the user
|
||||||
|
let res = match base {
|
||||||
|
Base::Root => run.get_root_user(user).await?,
|
||||||
|
Base::Ns => run.get_ns_user(opt.ns(), user).await?,
|
||||||
|
Base::Db => run.get_db_user(opt.ns(), opt.db(), user).await?,
|
||||||
|
_ => return Err(Error::InvalidLevel(base.to_string())),
|
||||||
|
};
|
||||||
|
// Ok all good
|
||||||
|
Ok(res.structure())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -351,20 +410,24 @@ impl InfoStatement {
|
||||||
impl fmt::Display for InfoStatement {
|
impl fmt::Display for InfoStatement {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
Self::Root => f.write_str("INFO FOR ROOT"),
|
Self::Root(false) => f.write_str("INFO FOR ROOT"),
|
||||||
Self::RootStructure => f.write_str("INFO FOR ROOT STRUCTURE"),
|
Self::Root(true) => f.write_str("INFO FOR ROOT STRUCTURE"),
|
||||||
Self::Ns => f.write_str("INFO FOR NAMESPACE"),
|
Self::Ns(false) => f.write_str("INFO FOR NAMESPACE"),
|
||||||
Self::NsStructure => f.write_str("INFO FOR NAMESPACE STRUCTURE"),
|
Self::Ns(true) => f.write_str("INFO FOR NAMESPACE STRUCTURE"),
|
||||||
Self::Db => f.write_str("INFO FOR DATABASE"),
|
Self::Db(false) => f.write_str("INFO FOR DATABASE"),
|
||||||
Self::DbStructure => f.write_str("INFO FOR DATABASE STRUCTURE"),
|
Self::Db(true) => f.write_str("INFO FOR DATABASE STRUCTURE"),
|
||||||
Self::Sc(ref s) => write!(f, "INFO FOR SCOPE {s}"),
|
Self::Sc(ref s, false) => write!(f, "INFO FOR SCOPE {s}"),
|
||||||
Self::ScStructure(ref s) => write!(f, "INFO FOR SCOPE {s} STRUCTURE"),
|
Self::Sc(ref s, true) => write!(f, "INFO FOR SCOPE {s} STRUCTURE"),
|
||||||
Self::Tb(ref t) => write!(f, "INFO FOR TABLE {t}"),
|
Self::Tb(ref t, false) => write!(f, "INFO FOR TABLE {t}"),
|
||||||
Self::TbStructure(ref t) => write!(f, "INFO FOR TABLE {t} STRUCTURE"),
|
Self::Tb(ref t, true) => write!(f, "INFO FOR TABLE {t} STRUCTURE"),
|
||||||
Self::User(ref u, ref b) => match b {
|
Self::User(ref u, ref b, false) => match b {
|
||||||
Some(ref b) => write!(f, "INFO FOR USER {u} ON {b}"),
|
Some(ref b) => write!(f, "INFO FOR USER {u} ON {b}"),
|
||||||
None => write!(f, "INFO FOR USER {u}"),
|
None => write!(f, "INFO FOR USER {u}"),
|
||||||
},
|
},
|
||||||
|
Self::User(ref u, ref b, true) => match b {
|
||||||
|
Some(ref b) => write!(f, "INFO FOR USER {u} ON {b} STRUCTURE"),
|
||||||
|
None => write!(f, "INFO FOR USER {u} STRUCTURE"),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -376,16 +439,15 @@ pub(crate) trait InfoStructure {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl InfoStatement {
|
impl InfoStatement {
|
||||||
pub(crate) fn structurize(self) -> Result<Self, ()> {
|
pub(crate) fn structurize(self) -> Self {
|
||||||
let out = match self {
|
match self {
|
||||||
InfoStatement::Root => InfoStatement::RootStructure,
|
InfoStatement::Root(_) => InfoStatement::Root(true),
|
||||||
InfoStatement::Ns => InfoStatement::NsStructure,
|
InfoStatement::Ns(_) => InfoStatement::Ns(true),
|
||||||
InfoStatement::Db => InfoStatement::DbStructure,
|
InfoStatement::Db(_) => InfoStatement::Db(true),
|
||||||
InfoStatement::Sc(s) => InfoStatement::ScStructure(s),
|
InfoStatement::Sc(s, _) => InfoStatement::Sc(s, true),
|
||||||
InfoStatement::Tb(t) => InfoStatement::TbStructure(t),
|
InfoStatement::Tb(t, _) => InfoStatement::Tb(t, true),
|
||||||
_ => return Err(()),
|
InfoStatement::User(u, b, _) => InfoStatement::User(u, b, true),
|
||||||
};
|
}
|
||||||
Ok(out)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct InsertStatement {
|
pub struct InsertStatement {
|
||||||
pub into: Value,
|
pub into: Value,
|
||||||
|
|
|
@ -13,9 +13,9 @@ use crate::kvs::lq_structs::{KillEntry, TrackedResult};
|
||||||
use crate::sql::Uuid;
|
use crate::sql::Uuid;
|
||||||
use crate::sql::Value;
|
use crate::sql::Value;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct KillStatement {
|
pub struct KillStatement {
|
||||||
// Uuid of Live Query
|
// Uuid of Live Query
|
||||||
|
|
|
@ -13,9 +13,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 2)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 2)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct LiveStatement {
|
pub struct LiveStatement {
|
||||||
pub id: Uuid,
|
pub id: Uuid,
|
||||||
|
|
|
@ -4,9 +4,9 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
#[revisioned(revision = 1)]
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[revisioned(revision = 1)]
|
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct OptionStatement {
|
pub struct OptionStatement {
|
||||||
pub name: Ident,
|
pub name: Ident,
|
||||||
|
|
|
@ -9,8 +9,8 @@ use revision::revisioned;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 1)]
|
||||||
|
#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Store, Hash)]
|
||||||
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct OutputStatement {
|
pub struct OutputStatement {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue