Skip to main content

wasm_dbms_api/dbms/
table.rs

1//! This module contains types related to database tables.
2
3mod column_def;
4mod record;
5mod schema;
6
7use serde::{Deserialize, Serialize};
8use thiserror::Error;
9
10pub use self::column_def::{
11    CandidColumnDef, CandidDataTypeKind, CandidForeignKeyDef, ColumnDef, ForeignKeyDef,
12};
13pub use self::record::{
14    InsertRecord, TableColumns, TableRecord, UpdateRecord, ValuesSource, flatten_table_columns,
15};
16pub use self::schema::{TableFingerprint, TableSchema};
17
18/// Table related errors
19#[derive(Debug, Error, Deserialize, Serialize)]
20#[cfg_attr(feature = "candid", derive(candid::CandidType))]
21pub enum TableError {
22    #[error("Table not found")]
23    TableNotFound,
24    #[error("Schema mismatch")]
25    SchemaMismatch,
26}