Skip to content

Commit

Permalink
change register/deregister interfaces' return type
Browse files Browse the repository at this point in the history
Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
  • Loading branch information
waynexia committed Nov 23, 2022
1 parent 75ce256 commit 00cd5ec
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 27 deletions.
6 changes: 3 additions & 3 deletions src/catalog/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,15 @@ pub trait CatalogManager: CatalogList {

/// Registers a table within given catalog/schema to catalog manager,
/// returns whether the table registered.
async fn register_table(&self, request: RegisterTableRequest) -> Result<usize>;
async fn register_table(&self, request: RegisterTableRequest) -> Result<bool>;

/// Deregisters a table within given catalog/schema to catalog manager,
/// returns whether the table deregistered.
async fn deregister_table(&self, request: DeregisterTableRequest) -> Result<usize>;
async fn deregister_table(&self, request: DeregisterTableRequest) -> Result<bool>;

/// Register a schema with catalog name and schema name. Retuens whether the
/// schema registered.
async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<usize>;
async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<bool>;

/// Register a system table, should be called before starting the manager.
async fn register_system_table(&self, request: RegisterSystemTableRequest)
Expand Down
10 changes: 5 additions & 5 deletions src/catalog/src/local/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ impl CatalogManager for LocalCatalogManager {
self.init().await
}

async fn register_table(&self, request: RegisterTableRequest) -> Result<usize> {
async fn register_table(&self, request: RegisterTableRequest) -> Result<bool> {
let started = self.init_lock.lock().await;

ensure!(
Expand Down Expand Up @@ -349,17 +349,17 @@ impl CatalogManager for LocalCatalogManager {
.await?;

schema.register_table(request.table_name, request.table)?;
Ok(1)
Ok(true)
}

async fn deregister_table(&self, _request: DeregisterTableRequest) -> Result<usize> {
async fn deregister_table(&self, _request: DeregisterTableRequest) -> Result<bool> {
UnimplementedSnafu {
operation: "deregister table",
}
.fail()
}

async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<usize> {
async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<bool> {
let started = self.init_lock.lock().await;
ensure!(
*started,
Expand All @@ -384,7 +384,7 @@ impl CatalogManager for LocalCatalogManager {
.register_schema(request.catalog, schema_name.clone())
.await?;
catalog.register_schema(request.schema, Arc::new(MemorySchemaProvider::new()))?;
Ok(1)
Ok(true)
}

async fn register_system_table(&self, request: RegisterSystemTableRequest) -> Result<()> {
Expand Down
12 changes: 6 additions & 6 deletions src/catalog/src/local/memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ impl CatalogManager for MemoryCatalogManager {
Ok(())
}

async fn register_table(&self, request: RegisterTableRequest) -> Result<usize> {
async fn register_table(&self, request: RegisterTableRequest) -> Result<bool> {
let catalogs = self.catalogs.write().unwrap();
let catalog = catalogs
.get(&request.catalog)
Expand All @@ -84,10 +84,10 @@ impl CatalogManager for MemoryCatalogManager {
})?;
schema
.register_table(request.table_name, request.table)
.map(|v| if v.is_some() { 0 } else { 1 })
.map(|v| v.is_none())
}

async fn deregister_table(&self, request: DeregisterTableRequest) -> Result<usize> {
async fn deregister_table(&self, request: DeregisterTableRequest) -> Result<bool> {
let catalogs = self.catalogs.write().unwrap();
let catalog = catalogs
.get(&request.catalog)
Expand All @@ -102,18 +102,18 @@ impl CatalogManager for MemoryCatalogManager {
})?;
schema
.deregister_table(&request.table_name)
.map(|v| if v.is_some() { 0 } else { 1 })
.map(|v| v.is_some())
}

async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<usize> {
async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<bool> {
let catalogs = self.catalogs.write().unwrap();
let catalog = catalogs
.get(&request.catalog)
.context(CatalogNotFoundSnafu {
catalog_name: &request.catalog,
})?;
catalog.register_schema(request.schema, Arc::new(MemorySchemaProvider::new()))?;
Ok(1)
Ok(true)
}

async fn register_system_table(&self, _request: RegisterSystemTableRequest) -> Result<()> {
Expand Down
10 changes: 5 additions & 5 deletions src/catalog/src/remote/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ impl CatalogManager for RemoteCatalogManager {
Ok(())
}

async fn register_table(&self, request: RegisterTableRequest) -> Result<usize> {
async fn register_table(&self, request: RegisterTableRequest) -> Result<bool> {
let catalog_name = request.catalog;
let schema_name = request.schema;
let catalog_provider = self.catalog(&catalog_name)?.context(CatalogNotFoundSnafu {
Expand All @@ -430,25 +430,25 @@ impl CatalogManager for RemoteCatalogManager {
.fail();
}
schema_provider.register_table(request.table_name, request.table)?;
Ok(1)
Ok(true)
}

async fn deregister_table(&self, _request: DeregisterTableRequest) -> Result<usize> {
async fn deregister_table(&self, _request: DeregisterTableRequest) -> Result<bool> {
UnimplementedSnafu {
operation: "deregister table",
}
.fail()
}

async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<usize> {
async fn register_schema(&self, request: RegisterSchemaRequest) -> Result<bool> {
let catalog_name = request.catalog;
let schema_name = request.schema;
let catalog_provider = self.catalog(&catalog_name)?.context(CatalogNotFoundSnafu {
catalog_name: &catalog_name,
})?;
let schema_provider = self.new_schema_provider(&catalog_name, &schema_name);
catalog_provider.register_schema(schema_name, schema_provider)?;
Ok(1)
Ok(true)
}

async fn register_system_table(&self, request: RegisterSystemTableRequest) -> Result<()> {
Expand Down
4 changes: 2 additions & 2 deletions src/catalog/tests/remote_catalog_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ mod tests {
table_id,
table,
};
assert_eq!(1, catalog_manager.register_table(reg_req).await.unwrap());
assert!(catalog_manager.register_table(reg_req).await.unwrap());
assert_eq!(
HashSet::from([table_name, "numbers".to_string()]),
default_schema
Expand Down Expand Up @@ -287,7 +287,7 @@ mod tests {
.register_schema(schema_name.clone(), schema.clone())
.expect("Register schema should not fail");
assert!(prev.is_none());
assert_eq!(1, catalog_manager.register_table(reg_req).await.unwrap());
assert!(catalog_manager.register_table(reg_req).await.unwrap());

assert_eq!(
HashSet::from([schema_name.clone()]),
Expand Down
9 changes: 3 additions & 6 deletions src/frontend/src/catalog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,24 +66,21 @@ impl CatalogManager for FrontendCatalogManager {
Ok(())
}

async fn register_table(
&self,
_request: RegisterTableRequest,
) -> catalog::error::Result<usize> {
async fn register_table(&self, _request: RegisterTableRequest) -> catalog::error::Result<bool> {
unimplemented!()
}

async fn deregister_table(
&self,
_request: DeregisterTableRequest,
) -> catalog::error::Result<usize> {
) -> catalog::error::Result<bool> {
unimplemented!()
}

async fn register_schema(
&self,
_request: RegisterSchemaRequest,
) -> catalog::error::Result<usize> {
) -> catalog::error::Result<bool> {
unimplemented!()
}

Expand Down

0 comments on commit 00cd5ec

Please sign in to comment.