@@ -180,7 +180,7 @@ impl<'a, V: SelectValue> KeyValue<'a, V> {
180
180
let temp_doc = paths. drain ( ..) . fold ( HashMap :: new ( ) , |mut acc, path| {
181
181
let mut selector = Selector :: new ( ) ;
182
182
selector. value ( self . val ) ;
183
- if let Err ( _) = selector. str_path ( & path. fixed ) {
183
+ if let Err ( _) = selector. str_path ( path. get_path ( ) ) {
184
184
return acc;
185
185
}
186
186
let value = match selector. select ( ) {
@@ -190,20 +190,25 @@ impl<'a, V: SelectValue> KeyValue<'a, V> {
190
190
} ,
191
191
Err ( _) => None ,
192
192
} ;
193
- acc. insert ( path. path , value) ;
193
+ acc. insert ( path. take_original ( ) , value) ;
194
194
acc
195
195
} ) ;
196
196
Ok ( self
197
197
. serialize_object ( & temp_doc, & indent, & newline, & space)
198
198
. into ( ) )
199
199
} else {
200
200
let path = & paths[ 0 ] ;
201
- if path. is_legacy {
201
+ if path. is_legacy ( ) {
202
202
Ok ( self
203
- . serialize_object ( self . get_first ( & paths[ 0 ] . fixed ) ?, & indent, & newline, & space)
203
+ . serialize_object (
204
+ self . get_first ( paths[ 0 ] . get_path ( ) ) ?,
205
+ & indent,
206
+ & newline,
207
+ & space,
208
+ )
204
209
. into ( ) )
205
210
} else {
206
- let values = self . get_values ( & path. fixed ) ?;
211
+ let values = self . get_values ( path. get_path ( ) ) ?;
207
212
Ok ( self
208
213
. serialize_object ( & values, & indent, & newline, & space)
209
214
. into ( ) )
@@ -1071,7 +1076,7 @@ pub fn command_json_clear<M: Manager>(manager: M, ctx: &Context, args: Vec<Strin
1071
1076
paths
1072
1077
} ;
1073
1078
1074
- let path = paths. first ( ) . unwrap ( ) . fixed . as_str ( ) ;
1079
+ let path = paths. first ( ) . unwrap ( ) . get_path ( ) ;
1075
1080
1076
1081
// FIXME: handle multi paths
1077
1082
let mut redis_key = manager. open_key_write ( ctx, & key) ?;
@@ -1080,7 +1085,7 @@ pub fn command_json_clear<M: Manager>(manager: M, ctx: &Context, args: Vec<Strin
1080
1085
. get_value ( ) ?
1081
1086
. ok_or_else ( RedisError :: nonexistent_key) ?;
1082
1087
1083
- let paths = find_paths ( & path, root, |_v| true ) ?;
1088
+ let paths = find_paths ( path, root, |_v| true ) ?;
1084
1089
if paths. len ( ) > 0 {
1085
1090
let mut res = None ;
1086
1091
for p in paths {
0 commit comments