cargo format
This commit is contained in:
parent
4d45da0cd1
commit
845db102c2
33 changed files with 885 additions and 530 deletions
|
|
@ -1,24 +1,35 @@
|
|||
use std::io::Write;
|
||||
use clap::Parser;
|
||||
use proto::handshake::client::do_client_handshake;
|
||||
use proto::handshake::request::HandshakeRequest;
|
||||
use proto::reader::protoreader::ProtoReader;
|
||||
use proto::writer::protowriter::{ProtoFlush, ProtoWriter};
|
||||
use tokio::io::{BufReader, BufWriter};
|
||||
use tokio::net::TcpStream;
|
||||
use proto::message::backend::{BackendMessage, CommandCompleteData, DataRowData, ErrorResponseData, RowDescriptionData};
|
||||
use proto::message::backend::{
|
||||
BackendMessage, CommandCompleteData, DataRowData, ErrorResponseData, RowDescriptionData,
|
||||
};
|
||||
use proto::message::frontend::{FrontendMessage, QueryData};
|
||||
use proto::reader::oneway::OneWayProtoReader;
|
||||
use proto::reader::protoreader::ProtoReader;
|
||||
use proto::writer::oneway::OneWayProtoWriter;
|
||||
use proto::writer::protowriter::{ProtoFlush, ProtoWriter};
|
||||
use std::io::Write;
|
||||
use tokio::io::{BufReader, BufWriter};
|
||||
use tokio::net::TcpStream;
|
||||
|
||||
#[derive(Parser)]
|
||||
struct Cli {
|
||||
/// Port number of the server.
|
||||
#[arg(short, long, default_value_t = 5432, help = "Port number of the server")]
|
||||
#[arg(
|
||||
short,
|
||||
long,
|
||||
default_value_t = 5432,
|
||||
help = "Port number of the server"
|
||||
)]
|
||||
port: u16,
|
||||
|
||||
/// Host name or IP address of the server.
|
||||
#[arg(long, default_value = "127.0.0.1", help = "Host name or IP address of the server")]
|
||||
#[arg(
|
||||
long,
|
||||
default_value = "127.0.0.1",
|
||||
help = "Host name or IP address of the server"
|
||||
)]
|
||||
host: String,
|
||||
|
||||
/// User name sent to the server.
|
||||
|
|
@ -48,9 +59,9 @@ async fn main() -> anyhow::Result<()> {
|
|||
let mut exit = false;
|
||||
let command = prompt()?;
|
||||
if let Some(cmd) = command {
|
||||
writer.write_proto(FrontendMessage::Query(QueryData {
|
||||
query: cmd.into(),
|
||||
})).await?;
|
||||
writer
|
||||
.write_proto(FrontendMessage::Query(QueryData { query: cmd.into() }))
|
||||
.await?;
|
||||
writer.flush().await?;
|
||||
} else {
|
||||
exit = true;
|
||||
|
|
@ -61,35 +72,35 @@ async fn main() -> anyhow::Result<()> {
|
|||
match msg {
|
||||
BackendMessage::RowDescription(data) => {
|
||||
print_row_description(data);
|
||||
},
|
||||
}
|
||||
BackendMessage::DataRow(data) => {
|
||||
print_row_data(data);
|
||||
},
|
||||
}
|
||||
BackendMessage::CommandComplete(data) => {
|
||||
print_command_complete(data);
|
||||
},
|
||||
}
|
||||
BackendMessage::ErrorResponse(data) => {
|
||||
print_error_response(data);
|
||||
},
|
||||
}
|
||||
BackendMessage::EmptyQueryResponse => {
|
||||
println!("Empty query response");
|
||||
},
|
||||
}
|
||||
BackendMessage::NoData => {
|
||||
println!("No data");
|
||||
},
|
||||
}
|
||||
BackendMessage::ReadyForQuery(data) => {
|
||||
println!("Ready for next query ({})", data.status);
|
||||
|
||||
let command = prompt()?;
|
||||
if let Some(cmd) = command {
|
||||
writer.write_proto(FrontendMessage::Query(QueryData {
|
||||
query: cmd.into(),
|
||||
})).await?;
|
||||
writer
|
||||
.write_proto(FrontendMessage::Query(QueryData { query: cmd.into() }))
|
||||
.await?;
|
||||
writer.flush().await?;
|
||||
} else {
|
||||
exit = true;
|
||||
}
|
||||
},
|
||||
}
|
||||
m => {
|
||||
println!("Unexpected message: {:?}", m);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue