@@ -14,11 +14,20 @@ use utilities::{assert_result_ok, create_client, create_db, delete_db, run_test}
14
14
15
15
#[ derive( Debug , PartialEq ) ]
16
16
#[ cfg_attr( feature = "derive" , derive( InfluxDbWriteable ) ) ]
17
- #[ cfg_attr( feature = "use-serde" , derive( Deserialize ) ) ]
18
17
struct WeatherReading {
19
18
time : DateTime < Utc > ,
19
+ #[ influxdb( ignore) ]
20
20
humidity : i32 ,
21
- #[ tag]
21
+ pressure : i32 ,
22
+ #[ influxdb( tag) ]
23
+ wind_strength : Option < u64 > ,
24
+ }
25
+
26
+ #[ derive( Debug ) ]
27
+ #[ cfg_attr( feature = "use-serde" , derive( Deserialize ) ) ]
28
+ struct WeatherReadingWithoutIgnored {
29
+ time : DateTime < Utc > ,
30
+ pressure : i32 ,
22
31
wind_strength : Option < u64 > ,
23
32
}
24
33
@@ -27,15 +36,14 @@ fn test_build_query() {
27
36
let weather_reading = WeatherReading {
28
37
time : Timestamp :: Hours ( 1 ) . into ( ) ,
29
38
humidity : 30 ,
39
+ pressure : 100 ,
30
40
wind_strength : Some ( 5 ) ,
31
41
} ;
32
- let query = weather_reading
33
- . into_query ( "weather_reading" )
34
- . build ( )
35
- . unwrap ( ) ;
42
+ let query = weather_reading. into_query ( "weather_reading" ) ;
43
+ let query = query. build ( ) . unwrap ( ) ;
36
44
assert_eq ! (
37
45
query. get( ) ,
38
- "weather_reading,wind_strength=5 humidity=30i 3600000000000"
46
+ "weather_reading,wind_strength=5 pressure=100i 3600000000000"
39
47
) ;
40
48
}
41
49
@@ -56,6 +64,7 @@ async fn test_derive_simple_write() {
56
64
time : Timestamp :: Nanoseconds ( 0 ) . into ( ) ,
57
65
humidity : 30 ,
58
66
wind_strength : Some ( 5 ) ,
67
+ pressure : 100 ,
59
68
} ;
60
69
let query = weather_reading. into_query ( "weather_reading" ) ;
61
70
let result = client. query ( & query) . await ;
@@ -86,20 +95,21 @@ async fn test_write_and_read_option() {
86
95
time : Timestamp :: Hours ( 11 ) . into ( ) ,
87
96
humidity : 30 ,
88
97
wind_strength : None ,
98
+ pressure : 100 ,
89
99
} ;
90
100
let write_result = client
91
101
. query ( & weather_reading. into_query ( "weather_reading" . to_string ( ) ) )
92
102
. await ;
93
103
assert_result_ok ( & write_result) ;
94
104
let query =
95
- Query :: raw_read_query ( "SELECT time, humidity , wind_strength FROM weather_reading" ) ;
105
+ Query :: raw_read_query ( "SELECT time, pressure , wind_strength FROM weather_reading" ) ;
96
106
let result = client. json_query ( query) . await . and_then ( |mut db_result| {
97
107
println ! ( "{:?}" , db_result) ;
98
- db_result. deserialize_next :: < WeatherReading > ( )
108
+ db_result. deserialize_next :: < WeatherReadingWithoutIgnored > ( )
99
109
} ) ;
100
110
assert_result_ok ( & result) ;
101
111
let result = result. unwrap ( ) ;
102
- assert_eq ! ( result. series[ 0 ] . values[ 0 ] . humidity , 30 ) ;
112
+ assert_eq ! ( result. series[ 0 ] . values[ 0 ] . pressure , 100 ) ;
103
113
assert_eq ! ( result. series[ 0 ] . values[ 0 ] . wind_strength, None ) ;
104
114
} ,
105
115
|| async move {
0 commit comments