@@ -16,6 +16,7 @@ use api::v1::Rows;
1616use common_telemetry:: { error, info} ;
1717use snafu:: { ensure, OptionExt } ;
1818use store_api:: codec:: PrimaryKeyEncoding ;
19+ use store_api:: region_engine:: WriteHint ;
1920use store_api:: region_request:: { AffectedRows , RegionPutRequest } ;
2021use store_api:: storage:: { RegionId , TableId } ;
2122
@@ -89,6 +90,9 @@ impl MetricEngineInner {
8990 & mut request. rows ,
9091 encoding,
9192 ) ?;
93+ if encoding == PrimaryKeyEncoding :: Sparse {
94+ request. hint = WriteHint :: PRIMARY_KEY_ENCODED | WriteHint :: SPARSE_KEY_ENCODING ;
95+ }
9296 self . data_region . write_data ( data_region_id, request) . await
9397 }
9498
@@ -165,7 +169,7 @@ impl MetricEngineInner {
165169#[ cfg( test) ]
166170mod tests {
167171 use common_recordbatch:: RecordBatches ;
168- use store_api:: region_engine:: RegionEngine ;
172+ use store_api:: region_engine:: { RegionEngine , WriteHint } ;
169173 use store_api:: region_request:: RegionRequest ;
170174 use store_api:: storage:: ScanRequest ;
171175
@@ -182,6 +186,7 @@ mod tests {
182186 let rows = test_util:: build_rows ( 1 , 5 ) ;
183187 let request = RegionRequest :: Put ( RegionPutRequest {
184188 rows : Rows { schema, rows } ,
189+ hint : WriteHint :: empty ( ) ,
185190 } ) ;
186191
187192 // write data
@@ -255,6 +260,7 @@ mod tests {
255260 let rows = test_util:: build_rows ( 3 , 100 ) ;
256261 let request = RegionRequest :: Put ( RegionPutRequest {
257262 rows : Rows { schema, rows } ,
263+ hint : WriteHint :: empty ( ) ,
258264 } ) ;
259265
260266 // write data
@@ -276,6 +282,7 @@ mod tests {
276282 let rows = test_util:: build_rows ( 1 , 100 ) ;
277283 let request = RegionRequest :: Put ( RegionPutRequest {
278284 rows : Rows { schema, rows } ,
285+ hint : WriteHint :: empty ( ) ,
279286 } ) ;
280287
281288 engine
@@ -295,6 +302,7 @@ mod tests {
295302 let rows = test_util:: build_rows ( 1 , 100 ) ;
296303 let request = RegionRequest :: Put ( RegionPutRequest {
297304 rows : Rows { schema, rows } ,
305+ hint : WriteHint :: empty ( ) ,
298306 } ) ;
299307
300308 engine
0 commit comments