@@ -25,9 +25,9 @@ use crate::proto::{
2525 ColumnType , GetFeaturesResp , GetHostedTablesResp , MakeTableResp , Request , Response ,
2626 ServerError , TableMakePortResp , TableMakeViewResp , TableOnDeleteResp , TableRemoveDeleteResp ,
2727 TableSchemaResp , TableSizeResp , TableValidateExprResp , ViewColumnPathsResp , ViewDeleteResp ,
28- ViewDimensionsResp , ViewExpressionSchemaResp , ViewGetConfigResp , ViewOnDeleteResp ,
29- ViewOnUpdateResp , ViewRemoveDeleteResp , ViewRemoveOnUpdateResp , ViewSchemaResp ,
30- ViewToColumnsStringResp , ViewToRowsStringResp ,
28+ ViewDimensionsResp , ViewExpressionSchemaResp , ViewGetConfigResp , ViewGetMinMaxResp ,
29+ ViewOnDeleteResp , ViewOnUpdateResp , ViewRemoveDeleteResp , ViewRemoveOnUpdateResp ,
30+ ViewSchemaResp , ViewToColumnsStringResp , ViewToRowsStringResp ,
3131} ;
3232
3333macro_rules! respond {
@@ -338,6 +338,17 @@ impl<T: VirtualServerHandler> VirtualServer<T> {
338338 . await ?;
339339 respond ! ( msg, MakeTableResp { } )
340340 } ,
341+ ViewGetMinMaxReq ( req) => {
342+ let config = self . view_configs . get ( & msg. entity_id ) . unwrap ( ) ;
343+ let ( min, max) = self
344+ . handler
345+ . view_get_min_max ( & msg. entity_id , & req. column_name , config)
346+ . await ?;
347+ respond ! ( msg, ViewGetMinMaxResp {
348+ min: Some ( min. into( ) ) ,
349+ max: Some ( max. into( ) ) ,
350+ } )
351+ } ,
341352
342353 // Stub implementations for callback/update requests that VirtualServer doesn't support
343354 TableOnDeleteReq ( _) => {
@@ -361,7 +372,6 @@ impl<T: VirtualServerHandler> VirtualServer<T> {
361372 ViewRemoveDeleteReq ( _) => {
362373 respond ! ( msg, ViewRemoveDeleteResp { } )
363374 } ,
364-
365375 x => {
366376 // Return an error response instead of empty bytes
367377 return Err ( VirtualServerError :: Other ( format ! (
0 commit comments