15
15
use std:: collections:: BTreeMap ;
16
16
17
17
use serde:: { Deserialize , Serialize } ;
18
-
18
+ #[ derive( Deserialize , Serialize , Debug , Clone , PartialEq ) ]
19
+ pub struct ServerInfo {
20
+ pub id : String ,
21
+ pub start_time : String ,
22
+ }
19
23
#[ derive( Deserialize , Serialize , Debug , Default , Clone ) ]
20
24
pub struct SessionState {
21
25
#[ serde( skip_serializing_if = "Option::is_none" ) ]
@@ -26,6 +30,13 @@ pub struct SessionState {
26
30
pub role : Option < String > ,
27
31
#[ serde( skip_serializing_if = "Option::is_none" ) ]
28
32
pub secondary_roles : Option < Vec < String > > ,
33
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
34
+ pub txn_state : Option < String > ,
35
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
36
+ pub last_server_info : Option < ServerInfo > ,
37
+ #[ serde( default ) ]
38
+ #[ serde( skip_serializing_if = "Vec::is_empty" ) ]
39
+ pub last_query_ids : Vec < String > ,
29
40
}
30
41
31
42
impl SessionState {
@@ -117,6 +128,9 @@ mod test {
117
128
settings : Some ( BTreeMap :: new ( ) ) ,
118
129
role : None ,
119
130
secondary_roles : None ,
131
+ txn_state : None ,
132
+ last_server_info : None ,
133
+ last_query_ids : vec ! [ ] ,
120
134
} ) )
121
135
. with_pagination ( Some ( PaginationConfig {
122
136
wait_time_secs : Some ( 1 ) ,
0 commit comments