pub struct TableSchema {
pub relation: RelationIdentity,
pub role_owner: String,
pub acl: Option<Vec<TableAclEntry>>,
pub column_acls: BTreeMap<String, Vec<TableAclEntry>>,
pub object_id: [u8; 16],
pub storage_generation: [u8; 16],
pub analyzer_json: String,
pub fts_fields: Vec<String>,
pub vector_fields: Vec<VectorFieldSchema>,
pub columns_json: String,
pub constraints_json: String,
}Fields§
§relation: RelationIdentity§role_owner: StringSQL role that owns the relation. Catalogs created before table role ownership was persisted belong to the bootstrap role.
acl: Option<Vec<TableAclEntry>>Explicit table ACL paths. None represents PostgreSQL’s null default ACL, in which the owner has every ordinary table privilege.
column_acls: BTreeMap<String, Vec<TableAclEntry>>Explicit per-column ACL paths keyed by the current column name. A missing key represents PostgreSQL’s null default attacl; an empty entry represents an explicitly empty ACL.
object_id: [u8; 16]Stable logical relation identity. CREATE TABLE allocates a new value, while renames, schema changes, TRUNCATE, and reopen preserve it. A zero value marks a legacy catalog row that the engine upgrades during open.
storage_generation: [u8; 16]Stable physical-storage identity. CREATE TABLE and TRUNCATE allocate a new value, while schema-only alterations and renames preserve it. A zero value marks a legacy catalog row that the engine upgrades during open.
analyzer_json: String§fts_fields: Vec<String>§vector_fields: Vec<VectorFieldSchema>§columns_json: StringSerialized Vec<uqa_sql::ast::ColumnDef> capturing the schema
columns (name, type, auto_increment, flags). Empty for
tables created by the legacy code path before column tracking
existed.
constraints_json: StringSerialized uqa_sql::ast::TableConstraintSet. Empty for catalogs
created before durable table constraints were introduced.
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