Movatterモバイル変換


[0]ホーム

URL:


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

Commit6cd4652

Browse files
committed
Add RowDescription to SimpleQueryMessage
1 parent98f5a11 commit6cd4652

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

‎tokio-postgres/src/lib.rs‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@
118118
//! | `with-time-0_3` | Enable support for the 0.3 version of the `time` crate. | [time](https://crates.io/crates/time/0.3.0) 0.3 | no |
119119
#![warn(rust_2018_idioms, clippy::all, missing_docs)]
120120

121+
use std::sync::Arc;
122+
123+
use simple_query::SimpleColumn;
124+
121125
pubusecrate::cancel_token::CancelToken;
122126
pubusecrate::client::Client;
123127
pubusecrate::config::Config;
@@ -248,6 +252,8 @@ pub enum SimpleQueryMessage {
248252
///
249253
/// The number of rows modified or selected is returned.
250254
CommandComplete(u64),
255+
/// Column values of the proceeding row values
256+
RowDescription(Arc<[SimpleColumn]>)
251257
}
252258

253259
fnslice_iter<'a>(

‎tokio-postgres/src/simple_query.rs‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,15 @@ impl Stream for SimpleQueryStream {
9595
returnPoll::Ready(Some(Ok(SimpleQueryMessage::CommandComplete(0))));
9696
}
9797
Message::RowDescription(body) =>{
98-
let columns = body
98+
let columns:Arc<[SimpleColumn]> = body
9999
.fields()
100100
.map(|f|Ok(SimpleColumn::new(f.name().to_string())))
101101
.collect::<Vec<_>>()
102102
.map_err(Error::parse)?
103103
.into();
104104

105-
*this.columns =Some(columns);
105+
*this.columns =Some(columns.clone());
106+
returnPoll::Ready(Some(Ok(SimpleQueryMessage::RowDescription(columns.clone()))));
106107
}
107108
Message::DataRow(body) =>{
108109
let row =match&this.columns{

‎tokio-postgres/tests/test/main.rs‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,13 @@ async fn simple_query() {
328328
_ =>panic!("unexpected message"),
329329
}
330330
match&messages[2]{
331+
SimpleQueryMessage::RowDescription(columns) =>{
332+
assert_eq!(columns.get(0).map(|c| c.name()),Some("id"));
333+
assert_eq!(columns.get(1).map(|c| c.name()),Some("name"));
334+
}
335+
_ =>panic!("unexpected message")
336+
}
337+
match&messages[3]{
331338
SimpleQueryMessage::Row(row) =>{
332339
assert_eq!(row.columns().get(0).map(|c| c.name()),Some("id"));
333340
assert_eq!(row.columns().get(1).map(|c| c.name()),Some("name"));
@@ -336,7 +343,7 @@ async fn simple_query() {
336343
}
337344
_ =>panic!("unexpected message"),
338345
}
339-
match&messages[3]{
346+
match&messages[4]{
340347
SimpleQueryMessage::Row(row) =>{
341348
assert_eq!(row.columns().get(0).map(|c| c.name()),Some("id"));
342349
assert_eq!(row.columns().get(1).map(|c| c.name()),Some("name"));
@@ -345,11 +352,11 @@ async fn simple_query() {
345352
}
346353
_ =>panic!("unexpected message"),
347354
}
348-
match messages[4]{
355+
match messages[5]{
349356
SimpleQueryMessage::CommandComplete(2) =>{}
350357
_ =>panic!("unexpected message"),
351358
}
352-
assert_eq!(messages.len(),5);
359+
assert_eq!(messages.len(),6);
353360
}
354361

355362
#[tokio::test]

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp