Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3567457

Browse files
authored
Remove <dyn Query> warnings (#97)
1 parent 14df339 commit 3567457

File tree

10 files changed

+39
-42
lines changed

10 files changed

+39
-42
lines changed

‎.github/workflows/rust.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ jobs:
2727
- name: Check code formatting
2828
run: cargo fmt --all -- --check
2929
- name: Check Clippy lints (reqwest)
30-
run: cargo clippy --all-targets --no-default-features --features use-serde,derive,reqwest-client -- -D warnings
30+
run: cargo clippy --manifest-path influxdb/Cargo.toml --all-targets --no-default-features --features use-serde,derive,reqwest-client -- -D warnings
3131
- name: Check Clippy lints (surf)
32-
run: cargo clippy --all-targets --no-default-features --features use-serde,derive,hyper-client -- -D warnings
32+
run: cargo clippy --manifest-path influxdb/Cargo.toml --all-targets --no-default-features --features use-serde,derive,hyper-client -- -D warnings
3333

3434
compile:
3535
name: Compile (${{ matrix.rust_release }}/${{ matrix.os }})

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Added
1111

1212
- reqwest-based http client (enabled by default)
13+
- deprecate `<dyn Query>::raw_read_query` in favour of `ReadQuery::new`
1314

1415
## [0.4.0] - 2021年03月08日
1516

‎benches/client.rs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use chrono::{DateTime, Utc};
22
use influxdb::Error;
33
use influxdb::InfluxDbWriteable;
4-
use influxdb::{Client, Query};
4+
use influxdb::{Client, ReadQuery};
55
use std::sync::Arc;
66
use std::time::Instant;
77
use tokio::sync::mpsc::unbounded_channel;
@@ -67,7 +67,7 @@ async fn main() {
6767
async fn prepare_influxdb(client: &Client, db_name: &str) {
6868
let create_db_stmt = format!("CREATE DATABASE {}", db_name);
6969
client
70-
.query(&Query::raw_read_query(create_db_stmt))
70+
.query(&ReadQuery::new(create_db_stmt))
7171
.await
7272
.expect("failed to create database");
7373
}

‎influxdb/src/lib.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
109109
#![allow(clippy::needless_doctest_main)]
110110
#![allow(clippy::needless_lifetimes)] // False positive in client/mod.rs query fn
111+
#![forbid(bare_trait_objects)]
111112

112113
#[cfg(all(feature = "reqwest", feature = "surf"))]
113114
compile_error!("You need to choose between reqwest and surf; enabling both is not supported");

‎influxdb/src/query/mod.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ impl dyn Query {
135135
///
136136
/// Query::raw_read_query("SELECT * FROM weather"); // Is of type [`ReadQuery`](crate::ReadQuery)
137137
/// ```
138+
#[deprecated(since = "0.5.0", note = "Use ReadQuery::new instead")]
138139
pub fn raw_read_query<S>(read_query: S) -> ReadQuery
139140
where
140141
S: Into<String>,

‎influxdb/src/query/read_query.rs‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,18 @@ impl Query for ReadQuery {
4343

4444
#[cfg(test)]
4545
mod tests {
46-
use crate::query::{Query, QueryType};
46+
use crate::query::{Query, QueryType,ReadQuery};
4747

4848
#[test]
4949
fn test_read_builder_single_query() {
50-
let query = Query::raw_read_query("SELECT * FROM aachen").build();
50+
let query = ReadQuery::new("SELECT * FROM aachen").build();
5151

5252
assert_eq!(query.unwrap(), "SELECT * FROM aachen");
5353
}
5454

5555
#[test]
5656
fn test_read_builder_multi_query() {
57-
let query = Query::raw_read_query("SELECT * FROM aachen")
57+
let query = ReadQuery::new("SELECT * FROM aachen")
5858
.add_query("SELECT * FROM cologne")
5959
.build();
6060

@@ -63,7 +63,7 @@ mod tests {
6363

6464
#[test]
6565
fn test_correct_query_type() {
66-
let query = Query::raw_read_query("SELECT * FROM aachen");
66+
let query = ReadQuery::new("SELECT * FROM aachen");
6767

6868
assert_eq!(query.get_type(), QueryType::ReadQuery);
6969
}

‎influxdb/src/query/write_query.rs‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,6 @@ mod tests {
334334

335335
assert!(query.is_ok(), "Query was empty");
336336
let query_res = query.unwrap().get();
337-
#[allow(clippy::print_literal)]
338337
assert_eq!(
339338
query_res,
340339
r#"wea,円\ ther=,location=us-midwest,loc,円\ \="ation=us,円\ \"mid\=west temperature=82i,"temp\=era,円t\ ure"="too\"\\\\hot",float=82 11"#

‎influxdb/tests/derive_integration_tests.rs‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ mod utilities;
55
use influxdb::InfluxDbWriteable;
66

77
use chrono::{DateTime, Utc};
8-
use influxdb::{Query, Timestamp};
8+
use influxdb::{Query, ReadQuery,Timestamp};
99

1010
#[cfg(feature = "use-serde")]
1111
use serde::Deserialize;
@@ -101,16 +101,17 @@ async fn test_write_and_read_option() {
101101
.query(&weather_reading.into_query("weather_reading".to_string()))
102102
.await;
103103
assert_result_ok(&write_result);
104-
let query =
105-
Query::raw_read_query("SELECT time, pressure, wind_strength FROM weather_reading");
104+
let query = ReadQuery::new("SELECT time, pressure, wind_strength FROM weather_reading");
106105
let result = client.json_query(query).await.and_then(|mut db_result| {
107106
println!("{:?}", db_result);
108107
db_result.deserialize_next::<WeatherReadingWithoutIgnored>()
109108
});
110109
assert_result_ok(&result);
111110
let result = result.unwrap();
112-
assert_eq!(result.series[0].values[0].pressure, 100);
113-
assert_eq!(result.series[0].values[0].wind_strength, None);
111+
let value = &result.series[0].values[0];
112+
assert_eq!(value.time, Timestamp::Hours(11).into());
113+
assert_eq!(value.pressure, 100);
114+
assert_eq!(value.wind_strength, None);
114115
},
115116
|| async move {
116117
delete_db(TEST_NAME).await.expect("could not clean up db");

‎influxdb/tests/integration_tests.rs‎

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use utilities::{
77
};
88

99
use influxdb::InfluxDbWriteable;
10-
use influxdb::{Client, Error, Query, Timestamp};
10+
use influxdb::{Client, Error, ReadQuery, Timestamp};
1111

1212
/// INTEGRATION TEST
1313
///
@@ -52,7 +52,7 @@ async fn test_connection_error() {
5252
let test_name = "test_connection_error";
5353
let client =
5454
Client::new("http://127.0.0.1:10086", test_name).with_auth("nopriv_user", "password");
55-
let read_query = Query::raw_read_query("SELECT * FROM weather");
55+
let read_query = ReadQuery::new("SELECT * FROM weather");
5656
let read_result = client.query(&read_query).await;
5757
assert_result_err(&read_result);
5858
match read_result {
@@ -78,7 +78,7 @@ async fn test_authed_write_and_read() {
7878
Client::new("http://127.0.0.1:9086", TEST_NAME).with_auth("admin", "password");
7979
let query = format!("CREATE DATABASE {}", TEST_NAME);
8080
client
81-
.query(&Query::raw_read_query(query))
81+
.query(&ReadQuery::new(query))
8282
.await
8383
.expect("could not setup db");
8484

@@ -90,7 +90,7 @@ async fn test_authed_write_and_read() {
9090
let write_result = client.query(&write_query).await;
9191
assert_result_ok(&write_result);
9292

93-
let read_query = Query::raw_read_query("SELECT * FROM weather");
93+
let read_query = ReadQuery::new("SELECT * FROM weather");
9494
let read_result = client.query(&read_query).await;
9595
assert_result_ok(&read_result);
9696
assert!(
@@ -104,7 +104,7 @@ async fn test_authed_write_and_read() {
104104
let query = format!("DROP DATABASE {}", TEST_NAME);
105105

106106
client
107-
.query(&Query::raw_read_query(query))
107+
.query(&ReadQuery::new(query))
108108
.await
109109
.expect("could not clean up db");
110110
},
@@ -126,7 +126,7 @@ async fn test_wrong_authed_write_and_read() {
126126
Client::new("http://127.0.0.1:9086", TEST_NAME).with_auth("admin", "password");
127127
let query = format!("CREATE DATABASE {}", TEST_NAME);
128128
client
129-
.query(&Query::raw_read_query(query))
129+
.query(&ReadQuery::new(query))
130130
.await
131131
.expect("could not setup db");
132132

@@ -145,7 +145,7 @@ async fn test_wrong_authed_write_and_read() {
145145
),
146146
}
147147

148-
let read_query = Query::raw_read_query("SELECT * FROM weather");
148+
let read_query = ReadQuery::new("SELECT * FROM weather");
149149
let read_result = client.query(&read_query).await;
150150
assert_result_err(&read_result);
151151
match read_result {
@@ -158,7 +158,7 @@ async fn test_wrong_authed_write_and_read() {
158158

159159
let client = Client::new("http://127.0.0.1:9086", TEST_NAME)
160160
.with_auth("nopriv_user", "password");
161-
let read_query = Query::raw_read_query("SELECT * FROM weather");
161+
let read_query = ReadQuery::new("SELECT * FROM weather");
162162
let read_result = client.query(&read_query).await;
163163
assert_result_err(&read_result);
164164
match read_result {
@@ -174,7 +174,7 @@ async fn test_wrong_authed_write_and_read() {
174174
Client::new("http://127.0.0.1:9086", TEST_NAME).with_auth("admin", "password");
175175
let query = format!("DROP DATABASE {}", TEST_NAME);
176176
client
177-
.query(&Query::raw_read_query(query))
177+
.query(&ReadQuery::new(query))
178178
.await
179179
.expect("could not clean up db");
180180
},
@@ -196,7 +196,7 @@ async fn test_non_authed_write_and_read() {
196196
Client::new("http://127.0.0.1:9086", TEST_NAME).with_auth("admin", "password");
197197
let query = format!("CREATE DATABASE {}", TEST_NAME);
198198
client
199-
.query(&Query::raw_read_query(query))
199+
.query(&ReadQuery::new(query))
200200
.await
201201
.expect("could not setup db");
202202
let non_authed_client = Client::new("http://127.0.0.1:9086", TEST_NAME);
@@ -213,7 +213,7 @@ async fn test_non_authed_write_and_read() {
213213
),
214214
}
215215

216-
let read_query = Query::raw_read_query("SELECT * FROM weather");
216+
let read_query = ReadQuery::new("SELECT * FROM weather");
217217
let read_result = non_authed_client.query(&read_query).await;
218218
assert_result_err(&read_result);
219219
match read_result {
@@ -229,7 +229,7 @@ async fn test_non_authed_write_and_read() {
229229
Client::new("http://127.0.0.1:9086", TEST_NAME).with_auth("admin", "password");
230230
let query = format!("DROP DATABASE {}", TEST_NAME);
231231
client
232-
.query(&Query::raw_read_query(query))
232+
.query(&ReadQuery::new(query))
233233
.await
234234
.expect("could not clean up db");
235235
},
@@ -255,7 +255,7 @@ async fn test_write_and_read_field() {
255255
let write_result = client.query(&write_query).await;
256256
assert_result_ok(&write_result);
257257

258-
let read_query = Query::raw_read_query("SELECT * FROM weather");
258+
let read_query = ReadQuery::new("SELECT * FROM weather");
259259
let read_result = client.query(&read_query).await;
260260
assert_result_ok(&read_result);
261261
assert!(
@@ -304,8 +304,7 @@ async fn test_write_and_read_option() {
304304
temperature: i32,
305305
}
306306

307-
let query =
308-
Query::raw_read_query("SELECT time, temperature, wind_strength FROM weather");
307+
let query = ReadQuery::new("SELECT time, temperature, wind_strength FROM weather");
309308
let result = client
310309
.json_query(query)
311310
.await
@@ -361,7 +360,7 @@ async fn test_json_query() {
361360
temperature: i32,
362361
}
363362

364-
let query = Query::raw_read_query("SELECT * FROM weather");
363+
let query = ReadQuery::new("SELECT * FROM weather");
365364
let result = client
366365
.json_query(query)
367366
.await
@@ -419,7 +418,7 @@ async fn test_json_query_tagged() {
419418
temperature: i32,
420419
}
421420

422-
let query = Query::raw_read_query("SELECT * FROM weather GROUP BY location");
421+
let query = ReadQuery::new("SELECT * FROM weather GROUP BY location");
423422
let result = client.json_query(query).await.and_then(|mut db_result| {
424423
db_result.deserialize_next_tagged::<WeatherMeta, Weather>()
425424
});
@@ -487,7 +486,7 @@ async fn test_json_query_vec() {
487486
temperature: i32,
488487
}
489488

490-
let query = Query::raw_read_query("SELECT * FROM temperature_vec");
489+
let query = ReadQuery::new("SELECT * FROM temperature_vec");
491490
let result = client
492491
.json_query(query)
493492
.await
@@ -544,8 +543,7 @@ async fn test_serde_multi_query() {
544543

545544
let result = client
546545
.json_query(
547-
Query::raw_read_query("SELECT * FROM temperature")
548-
.add_query("SELECT * FROM humidity"),
546+
ReadQuery::new("SELECT * FROM temperature").add_query("SELECT * FROM humidity"),
549547
)
550548
.await
551549
.and_then(|mut db_result| {
@@ -588,7 +586,7 @@ async fn test_serde_multi_query() {
588586
async fn test_wrong_query_errors() {
589587
let client = create_client("test_name");
590588
let result = client
591-
.json_query(Query::raw_read_query("CREATE DATABASE this_should_fail"))
589+
.json_query(ReadQuery::new("CREATE DATABASE this_should_fail"))
592590
.await;
593591
assert!(
594592
result.is_err(),

‎influxdb/tests/utilities.rs‎

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use futures::prelude::*;
2-
use influxdb::{Client, Error, Query};
2+
use influxdb::{Client, Error, ReadQuery};
33
use std::panic::{AssertUnwindSafe, UnwindSafe};
44

55
#[allow(dead_code)]
@@ -28,9 +28,7 @@ where
2828
{
2929
let test_name = name.into();
3030
let query = format!("CREATE DATABASE {}", test_name);
31-
create_client(test_name)
32-
.query(&Query::raw_read_query(query))
33-
.await
31+
create_client(test_name).query(&ReadQuery::new(query)).await
3432
}
3533

3634
#[cfg(not(tarpaulin_include))]
@@ -40,9 +38,7 @@ where
4038
{
4139
let test_name = name.into();
4240
let query = format!("DROP DATABASE {}", test_name);
43-
create_client(test_name)
44-
.query(&Query::raw_read_query(query))
45-
.await
41+
create_client(test_name).query(&ReadQuery::new(query)).await
4642
}
4743

4844
#[cfg(not(tarpaulin_include))]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /