1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Types, values and errors. The bottom of the workspace.
//!
//! Rank 0 in the layer rule, which means everything can see this crate and this crate can see
//! nothing. See `xtask/layers.toml` and `spec/18-package-layout.md`.
//!
//! What lives here is the vocabulary every other crate spells its signatures in. A type, a single
//! value, an error, a span into the query text that produced it, and the token that says a running
//! query should stop. Nothing here knows what a vector is, what a plan is or what a file is, and
//! keeping it that way is what stops rank 0 from becoming a second name for the whole database.
//!
//! [`Cancel`] is here for the layer rule rather than because it is a kind of value. The thing that
//! sets it is the embedding API at rank 13 and the thing that reads it is the executor at rank 12,
//! so the only place both can see it from is the bottom. The [`slow`] counter is here for the same
//! reason: the two things that increment it are at rank 1 and rank 3, the thing that reads it is at
//! rank 4, and no two of those three can see each other. So is the [`stage`] clock, which is
//! written at rank 5 by the Parquet reader and read at rank 4 by the same shim. So is [`Session`],
//! which is filled in at rank 13 by whatever ran `SET` and read at rank 12 by `duckdb_settings()`.
pub use ;
pub use Cancel;
pub use ;
pub use ;
pub use Session;
pub use ;
pub use ;
pub use ;
pub use ;