@@ -19,15 +19,15 @@ use databend_common_meta_app::app_error::DatamaskAlreadyExists;
19
19
use databend_common_meta_app:: app_error:: UnknownDatamask ;
20
20
use databend_common_meta_app:: data_mask:: CreateDatamaskReply ;
21
21
use databend_common_meta_app:: data_mask:: CreateDatamaskReq ;
22
+ use databend_common_meta_app:: data_mask:: DataMaskNameIdent ;
22
23
use databend_common_meta_app:: data_mask:: DatamaskId ;
23
24
use databend_common_meta_app:: data_mask:: DatamaskMeta ;
24
- use databend_common_meta_app:: data_mask:: DatamaskNameIdent ;
25
25
use databend_common_meta_app:: data_mask:: DropDatamaskReply ;
26
26
use databend_common_meta_app:: data_mask:: DropDatamaskReq ;
27
27
use databend_common_meta_app:: data_mask:: GetDatamaskReply ;
28
28
use databend_common_meta_app:: data_mask:: GetDatamaskReq ;
29
+ use databend_common_meta_app:: data_mask:: MaskPolicyTableIdListIdent ;
29
30
use databend_common_meta_app:: data_mask:: MaskpolicyTableIdList ;
30
- use databend_common_meta_app:: data_mask:: MaskpolicyTableIdListKey ;
31
31
use databend_common_meta_app:: id_generator:: IdGenerator ;
32
32
use databend_common_meta_app:: schema:: CreateOption ;
33
33
use databend_common_meta_app:: schema:: TableId ;
@@ -82,8 +82,8 @@ impl<KV: kvapi::KVApi<Error = MetaError>> DatamaskApi for KV {
82
82
CreateOption :: Create => {
83
83
return Err ( KVAppError :: AppError ( AppError :: DatamaskAlreadyExists (
84
84
DatamaskAlreadyExists :: new (
85
- & name_key. name ,
86
- format ! ( "create data mask: {}" , req. name) ,
85
+ name_key. name ( ) ,
86
+ format ! ( "create data mask: {}" , req. name. display ( ) ) ,
87
87
) ,
88
88
) ) ) ;
89
89
}
@@ -110,10 +110,7 @@ impl<KV: kvapi::KVApi<Error = MetaError>> DatamaskApi for KV {
110
110
111
111
let id = fetch_id ( self , IdGenerator :: data_mask_id ( ) ) . await ?;
112
112
let id_key = DatamaskId { id } ;
113
- let id_list_key = MaskpolicyTableIdListKey {
114
- tenant : name_key. tenant . clone ( ) ,
115
- name : name_key. name . clone ( ) ,
116
- } ;
113
+ let id_list_key = MaskPolicyTableIdListIdent :: new_from ( name_key. clone ( ) ) ;
117
114
118
115
debug ! (
119
116
id : ? =( & id_key) ,
@@ -202,8 +199,12 @@ impl<KV: kvapi::KVApi<Error = MetaError>> DatamaskApi for KV {
202
199
203
200
let name_key = & req. name ;
204
201
205
- let ( _id_seq, _id, _data_mask_seq, policy) =
206
- get_data_mask_or_err ( self , name_key, format ! ( "drop_data_mask: {}" , name_key) ) . await ?;
202
+ let ( _id_seq, _id, _data_mask_seq, policy) = get_data_mask_or_err (
203
+ self ,
204
+ name_key,
205
+ format ! ( "drop_data_mask: {}" , name_key. display( ) ) ,
206
+ )
207
+ . await ?;
207
208
208
209
Ok ( GetDatamaskReply { policy } )
209
210
}
@@ -212,7 +213,7 @@ impl<KV: kvapi::KVApi<Error = MetaError>> DatamaskApi for KV {
212
213
/// Returns (id_seq, id, data_mask_seq, data_mask)
213
214
async fn get_data_mask_or_err (
214
215
kv_api : & ( impl kvapi:: KVApi < Error = MetaError > + ?Sized ) ,
215
- name_key : & DatamaskNameIdent ,
216
+ name_key : & DataMaskNameIdent ,
216
217
msg : impl Display ,
217
218
) -> Result < ( u64 , u64 , u64 , DatamaskMeta ) , KVAppError > {
218
219
let ( id_seq, id) = get_u64_value ( kv_api, name_key) . await ?;
@@ -237,14 +238,14 @@ async fn get_data_mask_or_err(
237
238
/// Otherwise returns UnknownDatamask error
238
239
pub fn data_mask_has_to_exist (
239
240
seq : u64 ,
240
- name_ident : & DatamaskNameIdent ,
241
+ name_ident : & DataMaskNameIdent ,
241
242
msg : impl Display ,
242
243
) -> Result < ( ) , KVAppError > {
243
244
if seq == 0 {
244
245
debug ! ( seq = seq, name_ident : ? =( name_ident) ; "data mask does not exist" ) ;
245
246
246
247
Err ( KVAppError :: AppError ( AppError :: UnknownDatamask (
247
- UnknownDatamask :: new ( & name_ident. name , format ! ( "{}: {}" , msg, name_ident) ) ,
248
+ UnknownDatamask :: new ( name_ident. name ( ) , format ! ( "{}: {}" , msg, name_ident. name ( ) ) ) ,
248
249
) ) )
249
250
} else {
250
251
Ok ( ( ) )
@@ -253,14 +254,12 @@ pub fn data_mask_has_to_exist(
253
254
254
255
async fn clear_table_column_mask_policy (
255
256
kv_api : & ( impl kvapi:: KVApi < Error = MetaError > + ?Sized ) ,
256
- name_ident : & DatamaskNameIdent ,
257
+ name_ident : & DataMaskNameIdent ,
257
258
condition : & mut Vec < TxnCondition > ,
258
259
if_then : & mut Vec < TxnOp > ,
259
260
) -> Result < ( ) , KVAppError > {
260
- let id_list_key = MaskpolicyTableIdListKey {
261
- tenant : name_ident. tenant . clone ( ) ,
262
- name : name_ident. name . clone ( ) ,
263
- } ;
261
+ let id_list_key = MaskPolicyTableIdListIdent :: new_from ( name_ident. clone ( ) ) ;
262
+
264
263
let ( id_list_seq, id_list_opt) : ( _ , Option < MaskpolicyTableIdList > ) =
265
264
get_pb_value ( kv_api, & id_list_key) . await ?;
266
265
if let Some ( id_list) = id_list_opt {
@@ -277,7 +276,7 @@ async fn clear_table_column_mask_policy(
277
276
if let Some ( column_mask_policy) = table_meta. column_mask_policy {
278
277
let new_column_mask_policy = column_mask_policy
279
278
. into_iter ( )
280
- . filter ( |( _, name) | name != & name_ident. name )
279
+ . filter ( |( _, name) | name != name_ident. name ( ) )
281
280
. collect ( ) ;
282
281
283
282
table_meta. column_mask_policy = Some ( new_column_mask_policy) ;
@@ -294,15 +293,19 @@ async fn clear_table_column_mask_policy(
294
293
295
294
async fn construct_drop_mask_policy_operations (
296
295
kv_api : & ( impl kvapi:: KVApi < Error = MetaError > + ?Sized ) ,
297
- name_key : & DatamaskNameIdent ,
296
+ name_key : & DataMaskNameIdent ,
298
297
drop_if_exists : bool ,
299
298
if_delete : bool ,
300
299
ctx : & str ,
301
300
condition : & mut Vec < TxnCondition > ,
302
301
if_then : & mut Vec < TxnOp > ,
303
302
) -> Result < ( ) , KVAppError > {
304
- let result =
305
- get_data_mask_or_err ( kv_api, name_key, format ! ( "drop_data_mask: {}" , name_key) ) . await ;
303
+ let result = get_data_mask_or_err (
304
+ kv_api,
305
+ name_key,
306
+ format ! ( "drop_data_mask: {}" , name_key. display( ) ) ,
307
+ )
308
+ . await ;
306
309
307
310
let ( id_seq, id, data_mask_seq, _) = match result {
308
311
Ok ( ( id_seq, id, data_mask_seq, meta) ) => ( id_seq, id, data_mask_seq, meta) ,
0 commit comments