Skip to main content

Crate rudb_catalog

Crate rudb_catalog 

Source
Expand description

Schemas, tables, views, constraints, dependency tracking, dictionaries and symbol tables.

Rank 8 in the layer rule. See xtask/layers.toml and spec/18-package-layout.md.

What is here today is the part the binder cannot be written without: a name, the rule for comparing two of them, a table with columns and rows, a view with the query it stands for, and the registry that turns catalog.schema.table into one object. Transactional catalog versions, constraints and the dependency graph are M4 work and they hang off Catalog rather than replacing it.

The rows live in rudb_storage::MemoryTable for now. That is the one piece here that is openly temporary, and it is behind Table::rows precisely so that swapping it for the real storage format at M2 is a change to one field.

Re-exports§

pub use catalog::Catalog;
pub use catalog::DEFAULT_CATALOG;
pub use catalog::DEFAULT_SCHEMA;
pub use catalog::Database;
pub use catalog::Entry;
pub use catalog::Schema;
pub use name::QualifiedName;
pub use name::same_name;
pub use table::Table;
pub use table::duplicate_check;
pub use view::View;

Modules§

catalog
The catalog: attached databases, their schemas, and the tables in them.
name
Names, and the one rule about comparing them.
table
A table: a name, some columns, and the rows.
view
A view: a name, the query it stands for, and the names its columns answer to.