Skip to content

Commit a3a878b

Browse files
feat(meta): Support create dictionary meta api (#16178)
* feat(query): support parse create dictionary stmt * feat(query): support parse create dictionary stmt * feat(query): support parse create dictionary stmt * feat(query): support parse create dictionary stmt * feat(query): support parse create dictionary stmt * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto * feat(meta): support meta store proto
1 parent c09bc28 commit a3a878b

16 files changed

+1131
-1
lines changed

src/common/exception/src/exception_code.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,10 @@ build_exceptions! {
383383
// Share error codes(continue).
384384
ErrorShareEndpointCredential(3111),
385385
WrongSharePrivileges(3112),
386+
387+
// dictionary
388+
DictionaryAlreadyExists(3113),
389+
UnknownDictionary(3114),
386390
}
387391

388392
// Storage errors [3001, 4000].

src/meta/api/src/schema_api.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@
1414

1515
use std::sync::Arc;
1616

17+
use databend_common_meta_app::schema::tenant_dictionary_ident::TenantDictionaryIdent;
1718
use databend_common_meta_app::schema::CatalogInfo;
1819
use databend_common_meta_app::schema::CommitTableMetaReply;
1920
use databend_common_meta_app::schema::CommitTableMetaReq;
2021
use databend_common_meta_app::schema::CreateCatalogReply;
2122
use databend_common_meta_app::schema::CreateCatalogReq;
2223
use databend_common_meta_app::schema::CreateDatabaseReply;
2324
use databend_common_meta_app::schema::CreateDatabaseReq;
25+
use databend_common_meta_app::schema::CreateDictionaryReply;
26+
use databend_common_meta_app::schema::CreateDictionaryReq;
2427
use databend_common_meta_app::schema::CreateIndexReply;
2528
use databend_common_meta_app::schema::CreateIndexReq;
2629
use databend_common_meta_app::schema::CreateLockRevReply;
@@ -33,6 +36,7 @@ use databend_common_meta_app::schema::CreateVirtualColumnReply;
3336
use databend_common_meta_app::schema::CreateVirtualColumnReq;
3437
use databend_common_meta_app::schema::DatabaseInfo;
3538
use databend_common_meta_app::schema::DeleteLockRevReq;
39+
use databend_common_meta_app::schema::DictionaryMeta;
3640
use databend_common_meta_app::schema::DropCatalogReply;
3741
use databend_common_meta_app::schema::DropCatalogReq;
3842
use databend_common_meta_app::schema::DropDatabaseReply;
@@ -50,6 +54,7 @@ use databend_common_meta_app::schema::GcDroppedTableReq;
5054
use databend_common_meta_app::schema::GcDroppedTableResp;
5155
use databend_common_meta_app::schema::GetCatalogReq;
5256
use databend_common_meta_app::schema::GetDatabaseReq;
57+
use databend_common_meta_app::schema::GetDictionaryReply;
5358
use databend_common_meta_app::schema::GetIndexReply;
5459
use databend_common_meta_app::schema::GetIndexReq;
5560
use databend_common_meta_app::schema::GetLVTReply;
@@ -60,6 +65,7 @@ use databend_common_meta_app::schema::GetTableReq;
6065
use databend_common_meta_app::schema::IndexMeta;
6166
use databend_common_meta_app::schema::ListCatalogReq;
6267
use databend_common_meta_app::schema::ListDatabaseReq;
68+
use databend_common_meta_app::schema::ListDictionaryReq;
6369
use databend_common_meta_app::schema::ListDroppedTableReq;
6470
use databend_common_meta_app::schema::ListDroppedTableResp;
6571
use databend_common_meta_app::schema::ListIndexesByIdReq;
@@ -87,6 +93,8 @@ use databend_common_meta_app::schema::UndropDatabaseReq;
8793
use databend_common_meta_app::schema::UndropTableByIdReq;
8894
use databend_common_meta_app::schema::UndropTableReply;
8995
use databend_common_meta_app::schema::UndropTableReq;
96+
use databend_common_meta_app::schema::UpdateDictionaryReply;
97+
use databend_common_meta_app::schema::UpdateDictionaryReq;
9098
use databend_common_meta_app::schema::UpdateIndexReply;
9199
use databend_common_meta_app::schema::UpdateIndexReq;
92100
use databend_common_meta_app::schema::UpdateMultiTableMetaReq;
@@ -304,4 +312,30 @@ pub trait SchemaApi: Send + Sync {
304312
async fn get_table_lvt(&self, req: GetLVTReq) -> Result<GetLVTReply, KVAppError>;
305313

306314
fn name(&self) -> String;
315+
316+
// dictionary
317+
async fn create_dictionary(
318+
&self,
319+
req: CreateDictionaryReq,
320+
) -> Result<CreateDictionaryReply, KVAppError>;
321+
322+
async fn update_dictionary(
323+
&self,
324+
req: UpdateDictionaryReq,
325+
) -> Result<UpdateDictionaryReply, KVAppError>;
326+
327+
async fn drop_dictionary(
328+
&self,
329+
dict_ident: TenantDictionaryIdent,
330+
) -> Result<Option<SeqV<DictionaryMeta>>, KVAppError>;
331+
332+
async fn get_dictionary(
333+
&self,
334+
req: TenantDictionaryIdent,
335+
) -> Result<Option<GetDictionaryReply>, KVAppError>;
336+
337+
async fn list_dictionaries(
338+
&self,
339+
req: ListDictionaryReq,
340+
) -> Result<Vec<(String, DictionaryMeta)>, KVAppError>;
307341
}

0 commit comments

Comments
 (0)