surrealdb_core/
lib.rs

1// Temporary allow deprecated until the 3.0
2#![allow(deprecated)]
3// This triggers because we have regex's in or Value type which have a unsafecell inside.
4#![allow(clippy::mutable_key_type)]
5
6//! # Surrealdb Core
7//!
8//! This crate is the internal core library of SurrealDB.
9//! It contains most of the database functionality on top of which the surreal
10//! binary is implemented.
11//!
12//! <section class="warning">
13//! <h3>Unstable!</h3>
14//! This crate is <b>SurrealDB internal API</b>. It does not adhere to semver
15//! and it's API is free to change and break code even between patch versions.
16//! If you are looking for a stable interface to the Surrealdb library please have a look at <a href="https://crates.io/crates/surrealdb">the rust SDK</a>
17//! </section>
18
19#![doc(html_favicon_url = "https://surrealdb.s3.amazonaws.com/favicon.png")]
20#![doc(html_logo_url = "https://surrealdb.s3.amazonaws.com/icon.png")]
21// TODO: Remove
22// This is added to keep the move anyhow PR somewhat smaller. This should be removed in a follow-up
23// PR.
24#![allow(clippy::large_enum_variant)]
25
26#[macro_use]
27extern crate tracing;
28
29#[macro_use]
30mod mac;
31
32mod buc;
33mod cf;
34mod doc;
35mod exe;
36mod fnc;
37mod idg;
38mod key;
39mod sys;
40
41pub mod api;
42pub mod catalog;
43pub mod cnf;
44pub mod ctx;
45pub mod dbs;
46pub mod env;
47pub mod err;
48pub mod expr;
49//pub mod gql;
50pub mod iam;
51pub mod idx;
52pub mod kvs;
53pub mod mem;
54pub mod obs;
55pub mod options;
56pub mod protocol;
57pub mod rpc;
58pub mod sql;
59pub mod str;
60pub mod syn;
61pub mod val;
62pub mod vs;
63
64#[cfg(feature = "ml")]
65pub use surrealml as ml;
66
67#[cfg(feature = "enterprise")]
68#[rustfmt::skip]
69pub mod ent;
70
71/// Channels for receiving a SurrealQL database export
72pub mod channel {
73	pub use async_channel::{Receiver, Sender, bounded, unbounded};
74}