@@ -14,11 +14,20 @@ use utilities::{assert_result_ok, create_client, create_db, delete_db, run_test}
1414
1515#[ derive( Debug , PartialEq ) ]
1616#[ cfg_attr( feature = "derive" , derive( InfluxDbWriteable ) ) ]
17- #[ cfg_attr( feature = "use-serde" , derive( Deserialize ) ) ]
1817struct WeatherReading {
1918 time : DateTime < Utc > ,
19+ #[ influxdb( ignore) ]
2020 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 ,
2231 wind_strength : Option < u64 > ,
2332}
2433
@@ -27,15 +36,14 @@ fn test_build_query() {
2736 let weather_reading = WeatherReading {
2837 time : Timestamp :: Hours ( 1 ) . into ( ) ,
2938 humidity : 30 ,
39+ pressure : 100 ,
3040 wind_strength : Some ( 5 ) ,
3141 } ;
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 ( ) ;
3644 assert_eq ! (
3745 query. get( ) ,
38- "weather_reading,wind_strength=5 humidity=30i 3600000000000"
46+ "weather_reading,wind_strength=5 pressure=100i 3600000000000"
3947 ) ;
4048}
4149
@@ -56,6 +64,7 @@ async fn test_derive_simple_write() {
5664 time : Timestamp :: Nanoseconds ( 0 ) . into ( ) ,
5765 humidity : 30 ,
5866 wind_strength : Some ( 5 ) ,
67+ pressure : 100 ,
5968 } ;
6069 let query = weather_reading. into_query ( "weather_reading" ) ;
6170 let result = client. query ( & query) . await ;
@@ -86,20 +95,21 @@ async fn test_write_and_read_option() {
8695 time : Timestamp :: Hours ( 11 ) . into ( ) ,
8796 humidity : 30 ,
8897 wind_strength : None ,
98+ pressure : 100 ,
8999 } ;
90100 let write_result = client
91101 . query ( & weather_reading. into_query ( "weather_reading" . to_string ( ) ) )
92102 . await ;
93103 assert_result_ok ( & write_result) ;
94104 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" ) ;
96106 let result = client. json_query ( query) . await . and_then ( |mut db_result| {
97107 println ! ( "{:?}" , db_result) ;
98- db_result. deserialize_next :: < WeatherReading > ( )
108+ db_result. deserialize_next :: < WeatherReadingWithoutIgnored > ( )
99109 } ) ;
100110 assert_result_ok ( & result) ;
101111 let result = result. unwrap ( ) ;
102- assert_eq ! ( result. series[ 0 ] . values[ 0 ] . humidity , 30 ) ;
112+ assert_eq ! ( result. series[ 0 ] . values[ 0 ] . pressure , 100 ) ;
103113 assert_eq ! ( result. series[ 0 ] . values[ 0 ] . wind_strength, None ) ;
104114 } ,
105115 || async move {
0 commit comments