pub struct TableSchema {
pub name: String,
pub columns: Vec<Column>,
pub wire_columns: Vec<Column>,
pub primary_key: String,
pub pk_index: usize,
pub scope_variables: Vec<ScopeVariable>,
pub indexes: Vec<IndexSchema>,
pub encrypted_columns: Vec<EncryptedColumn>,
}Fields§
§name: String§columns: Vec<Column>LOCAL columns (declaration order). For an encrypted column (§5.11) the
ty is the DECLARED type — the local mirror stores plaintext, so
read-back and DDL use the real type. Identical to wire_columns when
the table has no encrypted columns.
wire_columns: Vec<Column>WIRE columns (§2.4 positional codec): identical to columns except an
encrypted column’s ty is bytes (the ciphertext envelope rides the
bytes machinery). Used by encode_row_json/decode_row_bytes and the
§5.2 segment column-table validation.
primary_key: String§pk_index: usize§scope_variables: Vec<ScopeVariable>§indexes: Vec<IndexSchema>Local secondary indexes, in declaration order (empty when none).
encrypted_columns: Vec<EncryptedColumn>§5.11: encrypted columns (index + declared type). Empty ⇒ no E2EE.
Implementations§
Source§impl TableSchema
impl TableSchema
Sourcepub fn has_encrypted_columns(&self) -> bool
pub fn has_encrypted_columns(&self) -> bool
§5.11: true when any column is encrypted (skip the seam entirely else).
Source§impl TableSchema
impl TableSchema
Sourcepub fn scope_column(&self, variable: &str) -> Option<&str>
pub fn scope_column(&self, variable: &str) -> Option<&str>
§3.3 purge mapping: the generated local scope column for a variable,
or None (the fail-closed case).
Trait Implementations§
Source§impl Clone for TableSchema
impl Clone for TableSchema
Source§fn clone(&self) -> TableSchema
fn clone(&self) -> TableSchema
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more