1
- use delta_search :: data :: FieldValue ;
1
+ use anyhow :: Error ;
2
2
use delta_search:: fixtures:: {
3
3
create_players_storage, cristiano_ronaldo, david, lionel_messi, michael_jordan, roger,
4
4
DecreaseScoreDelta , Sport , SwitchSportsDelta ,
@@ -10,7 +10,7 @@ use delta_search::Engine;
10
10
use time:: { Date , Month } ;
11
11
12
12
#[ tokio:: main]
13
- async fn main ( ) {
13
+ async fn main ( ) -> Result < ( ) , Error > {
14
14
println ! ( "Welcome to the simple Player search!" ) ;
15
15
16
16
let michael_jordan = michael_jordan ( ) ;
@@ -43,10 +43,7 @@ async fn main() {
43
43
println ! ( "Filter possibilities:\n {:?}\n " , filter_options) ;
44
44
45
45
let query = QueryExecution :: new ( )
46
- . with_filter ( CompositeFilter :: eq (
47
- "sport" ,
48
- FieldValue :: String ( Sport :: Basketball . as_string ( ) ) ,
49
- ) )
46
+ . with_filter ( CompositeFilter :: parse ( "sport = \" Basketball\" " ) ?)
50
47
. with_sort ( Sort :: new ( "score" ) . with_direction ( SortDirection :: DESC ) ) ;
51
48
let players = engine. query ( name, query) . await ;
52
49
@@ -56,11 +53,9 @@ async fn main() {
56
53
. query (
57
54
name,
58
55
QueryExecution :: new ( )
59
- . with_filter ( CompositeFilter :: between (
60
- "birth_date" ,
61
- FieldValue :: str ( "1980-01-01" ) ,
62
- FieldValue :: str ( "1989-12-31" ) ,
63
- ) )
56
+ . with_filter ( CompositeFilter :: parse (
57
+ "birth_date >= \" 1980-01-01\" && birth_date <= \" 1989-12-31\" " ,
58
+ ) ?)
64
59
. with_sort ( Sort :: new ( "name" ) . with_direction ( SortDirection :: ASC ) ) ,
65
60
)
66
61
. await ;
@@ -72,73 +67,67 @@ async fn main() {
72
67
SwitchSportsDelta :: create( lionel_messi_id, Sport :: Football , Sport :: Basketball ) ,
73
68
] ;
74
69
75
- let delta_scope = DeltaScope :: date ( Date :: from_calendar_date ( 2023 , Month :: January , 1 ) . unwrap ( ) ) ;
70
+ let delta_scope = DeltaScope :: date ( Date :: from_calendar_date ( 2023 , Month :: January , 1 ) ? ) ;
76
71
77
72
engine
78
73
. store_deltas ( name, & delta_scope, & switch_sports)
79
74
. await
80
75
. unwrap ( ) ;
81
76
82
77
let query = QueryExecution :: new ( )
83
- . with_filter ( CompositeFilter :: eq (
84
- "sport" ,
85
- FieldValue :: String ( Sport :: Basketball . as_string ( ) ) ,
86
- ) )
78
+ . with_filter ( CompositeFilter :: parse ( "sport = \" Basketball\" " ) ?)
87
79
. with_sort ( Sort :: new ( "score" ) . with_direction ( SortDirection :: DESC ) )
88
- . with_scope ( DeltaScope :: date (
89
- Date :: from_calendar_date ( 2024 , Month :: January , 1 ) . unwrap ( ) ,
90
- ) ) ;
80
+ . with_scope ( DeltaScope :: date ( Date :: from_calendar_date (
81
+ 2024 ,
82
+ Month :: January ,
83
+ 1 ,
84
+ ) ?) ) ;
91
85
92
- let players = engine. query ( name, query) . await ;
86
+ let players = engine. query ( name, query) . await ? ;
93
87
94
88
println ! (
95
89
"Basketball players sorted by score after switching sports in 2023:\n {:?}\n " ,
96
- players. unwrap ( )
90
+ players
97
91
) ;
98
92
99
93
let lower_scores = vec ! [
100
94
DecreaseScoreDelta :: create( michael_jordan_id, 10.0 ) ,
101
95
DecreaseScoreDelta :: create( lionel_messi_id, 9.0 ) ,
102
96
] ;
103
97
104
- let delta_scope = DeltaScope :: context (
105
- 0 ,
106
- Date :: from_calendar_date ( 2023 , Month :: January , 1 ) . unwrap ( ) ,
107
- ) ;
98
+ let delta_scope = DeltaScope :: context ( 0 , Date :: from_calendar_date ( 2023 , Month :: January , 1 ) ?) ;
108
99
109
100
engine
110
101
. store_deltas ( name, & delta_scope, & lower_scores)
111
- . await
112
- . unwrap ( ) ;
102
+ . await ?;
113
103
114
104
let query = QueryExecution :: new ( )
115
105
. with_sort ( Sort :: new ( "score" ) . with_direction ( SortDirection :: DESC ) )
116
106
. with_scope ( DeltaScope :: context (
117
107
0 ,
118
- Date :: from_calendar_date ( 2024 , Month :: January , 1 ) . unwrap ( ) ,
108
+ Date :: from_calendar_date ( 2024 , Month :: January , 1 ) ? ,
119
109
) ) ;
120
110
121
- let players = engine. query ( name, query) . await ;
111
+ let players = engine. query ( name, query) . await ? ;
122
112
123
113
println ! (
124
114
"Players sorted by score after decreasing their score by 1:\n {:?}\n " ,
125
- players. unwrap ( )
115
+ players
126
116
) ;
127
117
128
- engine. remove ( name, & david_id) . await . unwrap ( ) ;
118
+ engine. remove ( name, & david_id) . await ? ;
129
119
130
120
let players = engine
131
121
. query (
132
122
name,
133
- QueryExecution :: new ( ) . with_filter ( CompositeFilter :: eq (
134
- "sport" ,
135
- FieldValue :: String ( Sport :: Basketball . as_string ( ) ) ,
136
- ) ) ,
123
+ QueryExecution :: new ( ) . with_filter ( CompositeFilter :: parse ( "sport = \" Basketball\" " ) ?) ,
137
124
)
138
- . await ;
125
+ . await ? ;
139
126
140
127
println ! (
141
128
"Players playing basketball after deletion:\n {:?}\n " ,
142
- players. unwrap ( )
129
+ players
143
130
) ;
131
+
132
+ Ok ( ( ) )
144
133
}
0 commit comments