From c349a71e8348de59bf7ee90b5cb49211e2d2d1e8 Mon Sep 17 00:00:00 2001 From: Nipunn Koorapati Date: Wed, 11 Sep 2024 08:46:46 -0700 Subject: [PATCH] Remove dbverifier checks, db-info commands, serialization code for virtual tables (#29775) GitOrigin-RevId: 237db74f26d520919ef41df530e16169b64583f7 --- .../database/src/bootstrap_model/defaults.rs | 4 -- .../src/bootstrap_model/virtual_tables/mod.rs | 30 +------- .../bootstrap_model/virtual_tables/types.rs | 72 ------------------- crates/database/src/lib.rs | 6 +- crates/model/src/lib.rs | 3 - 5 files changed, 2 insertions(+), 113 deletions(-) delete mode 100644 crates/database/src/bootstrap_model/virtual_tables/types.rs diff --git a/crates/database/src/bootstrap_model/defaults.rs b/crates/database/src/bootstrap_model/defaults.rs index fb6868e5..63eccc55 100644 --- a/crates/database/src/bootstrap_model/defaults.rs +++ b/crates/database/src/bootstrap_model/defaults.rs @@ -48,14 +48,12 @@ use crate::{ index_workers::IndexWorkerMetadataTable, schema::SchemasTable, table::TablesTable, - virtual_tables::VirtualTablesTable, }, ComponentDefinitionsTable, ComponentsTable, INDEX_WORKER_METADATA_TABLE, NUM_RESERVED_LEGACY_TABLE_NUMBERS, SCHEMAS_TABLE, - VIRTUAL_TABLES_TABLE, }; pub fn system_index(table: &impl Deref, name: &'static str) -> IndexName { @@ -97,7 +95,6 @@ pub fn bootstrap_system_tables() -> Vec<&'static dyn SystemTable> { &TablesTable, &IndexTable, &SchemasTable, - &VirtualTablesTable, &IndexWorkerMetadataTable, &ComponentDefinitionsTable, &ComponentsTable, @@ -111,7 +108,6 @@ pub static DEFAULT_BOOTSTRAP_TABLE_NUMBERS: LazyLock tn(1), INDEX_TABLE.clone() => tn(2), SCHEMAS_TABLE.clone() => tn(20), - VIRTUAL_TABLES_TABLE.clone() => tn(26), INDEX_WORKER_METADATA_TABLE.clone() => tn(30), COMPONENT_DEFINITIONS_TABLE.clone() => tn(31), COMPONENTS_TABLE.clone() => tn(32), diff --git a/crates/database/src/bootstrap_model/virtual_tables/mod.rs b/crates/database/src/bootstrap_model/virtual_tables/mod.rs index 42bb54ec..4739bb8b 100644 --- a/crates/database/src/bootstrap_model/virtual_tables/mod.rs +++ b/crates/database/src/bootstrap_model/virtual_tables/mod.rs @@ -1,38 +1,10 @@ use std::sync::LazyLock; -use common::document::{ - ParsedDocument, - ResolvedDocument, -}; use value::TableName; -use crate::{ - defaults::{ - SystemIndex, - SystemTable, - }, - VirtualTableMetadata, -}; - -pub mod types; - +// Keep this around for a push so we can drop the table - table is unused. pub static VIRTUAL_TABLES_TABLE: LazyLock = LazyLock::new(|| { "_virtual_tables" .parse() .expect("Invalid built-in virtual_tables table") }); - -pub struct VirtualTablesTable; -impl SystemTable for VirtualTablesTable { - fn table_name(&self) -> &'static TableName { - &VIRTUAL_TABLES_TABLE - } - - fn indexes(&self) -> Vec { - vec![] - } - - fn validate_document(&self, document: ResolvedDocument) -> anyhow::Result<()> { - ParsedDocument::::try_from(document).map(|_| ()) - } -} diff --git a/crates/database/src/bootstrap_model/virtual_tables/types.rs b/crates/database/src/bootstrap_model/virtual_tables/types.rs deleted file mode 100644 index 9053b5a6..00000000 --- a/crates/database/src/bootstrap_model/virtual_tables/types.rs +++ /dev/null @@ -1,72 +0,0 @@ -use common::bootstrap_model::tables::{ - table_namespace_from_serialized, - table_namespace_to_serialized, - SerializedTableNamespace, -}; -use serde::{ - Deserialize, - Serialize, -}; -use value::{ - codegen_convex_serialization, - TableName, - TableNamespace, - TableNumber, -}; - -#[derive(Debug, Clone, Eq, PartialEq)] -#[cfg_attr(any(test, feature = "testing"), derive(proptest_derive::Arbitrary))] -pub struct VirtualTableMetadata { - pub name: TableName, - pub number: TableNumber, - // TODO(lee) allow any TableNamespace once they are supported in tests. - #[cfg_attr( - any(test, feature = "testing"), - proptest(value = "TableNamespace::Global") - )] - pub namespace: TableNamespace, -} - -impl VirtualTableMetadata { - pub fn new(namespace: TableNamespace, name: TableName, number: TableNumber) -> Self { - Self { - name, - number, - namespace, - } - } -} - -#[derive(Debug, Serialize, Deserialize)] -struct SerializedVirtualTableMetadata { - name: String, - number: i64, - #[serde(skip_serializing_if = "Option::is_none")] - namespace: Option, -} - -impl TryFrom for SerializedVirtualTableMetadata { - type Error = anyhow::Error; - - fn try_from(value: VirtualTableMetadata) -> Result { - Ok(Self { - name: value.name.to_string(), - number: u32::from(value.number) as i64, - namespace: table_namespace_to_serialized(value.namespace)?, - }) - } -} - -impl TryFrom for VirtualTableMetadata { - type Error = anyhow::Error; - - fn try_from(value: SerializedVirtualTableMetadata) -> Result { - Ok(Self { - name: value.name.parse()?, - number: u32::try_from(value.number)?.try_into()?, - namespace: table_namespace_from_serialized(value.namespace)?, - }) - } -} - -codegen_convex_serialization!(VirtualTableMetadata, SerializedVirtualTableMetadata); diff --git a/crates/database/src/lib.rs b/crates/database/src/lib.rs index 60205ef4..56379425 100644 --- a/crates/database/src/lib.rs +++ b/crates/database/src/lib.rs @@ -140,11 +140,7 @@ pub use self::{ TABLES_INDEX, }, user_facing::UserFacingModel, - virtual_tables::{ - types::VirtualTableMetadata, - VirtualTablesTable, - VIRTUAL_TABLES_TABLE, - }, + virtual_tables::VIRTUAL_TABLES_TABLE, }, database::{ unauthorized_error, diff --git a/crates/model/src/lib.rs b/crates/model/src/lib.rs index 95f6fbe5..a7d828b2 100644 --- a/crates/model/src/lib.rs +++ b/crates/model/src/lib.rs @@ -67,7 +67,6 @@ use database::{ SchemasTable, TablesTable, Transaction, - VirtualTablesTable, NUM_RESERVED_LEGACY_TABLE_NUMBERS, }; use keybroker::Identity; @@ -140,7 +139,6 @@ enum DefaultTableNumber { CronJobLogs = 21, BackendState = 24, ExternalPackages = 25, - VirtualTables = 26, ScheduledJobs = 27, FileStorage = 28, SnapshotImports = 29, @@ -179,7 +177,6 @@ impl From for &'static dyn SystemTable { DefaultTableNumber::CronJobLogs => &CronJobLogsTable, DefaultTableNumber::BackendState => &BackendStateTable, DefaultTableNumber::ExternalPackages => &ExternalPackagesTable, - DefaultTableNumber::VirtualTables => &VirtualTablesTable, DefaultTableNumber::ScheduledJobs => &ScheduledJobsTable, DefaultTableNumber::FileStorage => &FileStorageTable, DefaultTableNumber::SnapshotImports => &SnapshotImportsTable,