restore empty global catalog handling

This commit is contained in:
Priec
2026-08-17 17:07:00 +02:00
parent 6b676bc450
commit 76f475064e
10 changed files with 14 additions and 20 deletions

2
client

Submodule client updated: 2031656932...1821d1fdd5

View File

@@ -316,10 +316,8 @@ message ProfileTreeResponse {
}
message GetTableCatalogRequest {
// Profile whose tables to list, together with the shared tables every
// profile sees. The profile holding the shared tables is named like any
// other, and asking for it lists exactly those.
string profile_name = 1;
// Selected profile. Omit this field to request the global-only scope.
optional string profile_name = 1;
}
message GetTableCatalogResponse {

Binary file not shown.

View File

@@ -288,11 +288,9 @@ pub mod profile_tree_response {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTableCatalogRequest {
/// Profile whose tables to list, together with the shared tables every
/// profile sees. The profile holding the shared tables is named like any
/// other, and asking for it lists exactly those.
#[prost(string, tag = "1")]
pub profile_name: ::prost::alloc::string::String,
/// Selected profile. Omit this field to request the global-only scope.
#[prost(string, optional, tag = "1")]
pub profile_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTableCatalogResponse {

2
server

Submodule server updated: 645b45e81b...1a7b8946a2

View File

@@ -18,11 +18,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- **The shared profile is named by the backend** — `ProfileTreeResponse`
gained `shared_profile_name`, and every page that browses the shared tables
now reads the name from there instead of spelling `__global` itself. The
admin panel, the table-definition workspace, the add-table builder and the
transfer pages each pass that name as `GetTableCatalogRequest.profile_name`,
which is no longer optional: the shared profile is asked for by name like
any other.
now reads the name from there instead of spelling `__global` itself. Catalog
discovery retains its global-only request, which does not require the shared
profile to have been created yet.
---

View File

@@ -76,7 +76,7 @@ pub(crate) async fn load_page(
let catalog_tables = definitions
.get_table_catalog(
authenticated_request(headers, GetTableCatalogRequest {
profile_name: shared_profile.clone(),
profile_name: None,
})
.map_err(|_| LoadError::Unauthenticated)?,
)

View File

@@ -54,7 +54,7 @@ pub(crate) async fn load_admin_page(
&definitions
.get_table_catalog(
authenticated_request(headers, GetTableCatalogRequest {
profile_name: shared_profile.clone(),
profile_name: None,
})
.map_err(authentication_error)?,
)

View File

@@ -125,7 +125,7 @@ pub(crate) async fn load_page(
let catalog_tables = definitions
.get_table_catalog(
authenticated_request(headers, GetTableCatalogRequest {
profile_name: shared_profile.clone(),
profile_name: None,
})
.map_err(|_| LoadError::Unauthenticated)?,
)

View File

@@ -83,7 +83,7 @@ pub(crate) async fn load_catalog(
&definitions
.get_table_catalog(
authenticated_request(headers, GetTableCatalogRequest {
profile_name: shared_profile.clone(),
profile_name: None,
})
.map_err(|_| LoadError::Unauthenticated)?,
)